《机器学习实战》 第六章 SVM 学习总结

SVM:支持向量机,是一种二分类的分类器,通过求解二次优化问题来解决最大化分类间隔。既支持线性分类,又支持非线性分类。线性分类不需要样本数据,非线性分类需要部分样本数据(支持向量)。

                                            

分隔超平面:将数据集分隔开来的直线。

支持向量:离分隔超平面最近的那些点。

SVM的核心思想:与逻辑回归类似,使用一组训练集求出一组权重系数,在线性表示之后对测试集进行分类。就是 说,先训练出一个分隔超平面作为分类的决策边界,位于平面两边的数据分属于不同的两类。我们需要做的是找到离分隔超平面最近的那些点(支持向量),然后最大化支持向量到分隔面的距离。SVM旨在找出最优的分隔超平面。

分隔超平面可由下式表示:

                                    

我们需要做的就是找出w和b。假设对于训练数据集T,其数据可以分为两类C1和C2。
对于函数:f(x)=xwT+b
对于C1类的数据 f(x)⩾1。其中至少有一个点xi, f(xi)=1。这个点称之为最近点。
对于C2类的数据 f(x)⩽−1。其中至少有一个点xi, f(xi)=−1。这个点称也是最近点。

使用拉格朗日乘子法和KKT条件求解。将优化问题变为:

                                

因此,求解w的问题转换为求解系数alpha。

       在机器学习实战一书中,使用SMO(序列最小优化)算法进行求解。SMO算法的目标是求出一系列alpha和b,其工作原理是:每次循环选择两个alpha进行优化处理。一旦找到一堆合适的alpha,那么就增大其中一个同时减小另一个。两个alpha是否“合适”的评价标准是:两个值必须在间隔边界之外,且两个alpha还没有进行过区间化处理或不在边界上。

       在实际应用中,若数据线性不可分,则会引入一个核函数的概念。核函数可将低维特征空间映射到高维特征空间,在这个特征空间上数据是线性可分的。径向基函数是SVM中常用的一个核函数,采用向量作为自变量,基于向量距离运算输出一个标量。



猜你喜欢

转载自blog.csdn.net/wanty_chen/article/details/79908043
今日推荐