第9章支持向量机章节概述支持向量机(SupportVectorMachine,SVM)是一种按照监督学习方式对数据进行二元分类的广义线性分类器,它的基本思想是找到一个超平面,能够将不同类别的数据点尽可能地分开,并且使得边界上的点到超平面的距离最大化,以实现较好的分类效果。在SVM中,通过引入核函数,力图将低维空间的非线性问题转换为高维空间的线性问题,即SVM通过适当的非线性变换\varphi(x),将输入空间映射到高维特征空间,使得分类问题在高维特征空间中近似线性可分。
本章应用场景SVM在各种领域都有广泛的应用,包括:文本分类图像识别生物信息学垃圾邮件检测金融领域应用:SVM在金融领域的应用为金融机构提供了更精确、更有效的风险评估、风险管理和投资决策工具。
本章内容结构本章围绕SVM算法在保险反欺诈案例中的应用,主要内容包括:支持向量机的原理(线性可分和线性不可分两种情况)如何调节模型参数,优化模型性能利用现有的SVM算法库实现SVM模型保险反欺诈模型建立过程中的相关算法和金融理论知识保险反欺诈模型建立的完整具体过程图9.1本章主要内容结构建模特色在建模过程中,通过引入经济金融理论对属性值进行了融合,从而提高了模型的精度,证明将数学、编程和金融三者融合,可以有效地提高模型的质量。
9.1.1支持向量机的数学原理1.线性可分支持向量机-基本概念如果数据是线性可分的,意味着存在一个超平面能够完全将两类数据分开。目标:找到一个最优的超平面,使得其到最近的数据点(即支持向量)的距离最大化。
线性可分SVM-寻找初始超平面如图9.2所示,SVM会尝试在数据集中找到一个初始的超平面:在2维空间中表现为一条直线在3维空间中是一个平面在高维空间中则是一个超平面这个初始超平面应当能够将数据点划分为两个不同的区域,每个区域对应一个类别。图9.2支持向量
线性可分SVM-寻找最优超平面如图9.3所示,SVM并不满足于仅找到一个能够将数据分开的超平面,它的目标是找到一个最优的超平面:不仅能够将数据分开能够最大化不同类别数据点到这个超平面的最小距离这个距离被称为间隔图9.3寻找最优的超平面
支持向量的作用在寻找最优超平面的过程中,SVM会特别关注那些离超平面最近的数据点,这些点被称为支持向量。支持向量对于确定超平面的位置起着至关重要的作用,因为超平面的位置完全是由这些支持向量决定的。最大化间隔的意义通过最大化间隔,SVM实际上是在寻找那些能够最大化支持向量到超平面距离的超平面。目的:增强分类器的鲁棒性,使其对噪声和异常值更加不敏感。从数学理论上可以说明,这样找出的分类器有更好的泛化性能。
线性可分SVM-数学表示假设超平面的方程为w^{\mathrm{T}}x+b=0,其中:w是超平面的法向量b是偏置对于任意数据点x_{i},其到超平面的距离可以用以下公式表示:其中,\parallelw\parallel是\pmb{w}的范数。
2.线性不可分问题下的SVM支持向量机是一种二类分类模型,用于解决线性可分和线性不可分但近似线性可分的问题。针对一般线性不可分问题,可以通过扩维的方法,将原始数据映射到更高维的空间,使得原本线性不可分的数据在高维空间中变得线性可分,或者近似线性可分。因此,支持向量机算法分为三大类:当数据集线性可分,直接找最大间隔超平面当数据集近似线性可分,引入松弛变量结合最大间隔超平面当数据集非线性可分,引入核变换结合松弛变量技术的最大间隔超平面
从线性不可分到线性可分图9.4线性不可分图9.5扩维变换
9.1.2支持向量机的实现——以SVC为例1.Sklearn中SVM的算法库概述在Scikit-learn库中,支持向量机(SVM)算法分为两大类:用于分类的库:SVC、NuSVC和LinearSVC三个类用于回归的库:SVR、NuSVR和LinearSVR三个类这些类都位于sklearn.svm模块中。
分类算法库SVC和NuSVC用于分类的SVM算法主要区别在于损失的度量方式不同SVC提供了多种核函数选择,适用于各种数据分布情况NuSVC:与SVC类似,但损失度量方式有所不同LinearSVC专门用于线性分类的SVM算法不支持低维到高维的核函数转换,只支持线性核函数当数据线性可分或者已知线性可分时,使用LinearSVC能够更快速地进行分类
回归算法库SVR和NuSVR用于回归的SVM算法。主要区别也在于损失的度量方式。SVR同样提供了多种核函数选择,适用于不同的数据分布。LinearSVR用于线性回归的SVM算法。只支持线性核函数。当数据适合线性回归模型时,使用LinearSVR可以更加高效地进行回归任务。算法选择建议对于有经验的数据分析师或机器学习工程师:如果已知数
原创力文档

文档评论(0)