机器学习值SVM(一)

一、专有名词介绍

超平面:SVM就是寻找一个最优的决策边界,距离两个类别的最近的样本最远。这个决策边界就是超平面,在二维空间中可以表示为一条直线,而在多维空间中就是一个平面或曲面。

支持向量:距离超平面最近的样本点称为支持(支撑)向量。

二、公式推导

(1)首先明确点到直线的距离:

(2)考虑到svm的实际情况

(3)其次明确目标函数arg,也就是找到间隔最小的支持向量,并使得这两个支持向量间距最大。

扫描二维码关注公众号,回复: 2690744 查看本文章

(4)根据导数得到新的目标函数

(5)根据拉格朗日乘法,转换成求二次优化问题

(6)转换到对偶问题的求解,从而得到最终的公式

         min(1/2||w||2)本身是一个凸二次规划问题,能直接用现成的优化计算求解,但我们可以用更高效的办法。使用拉格朗日乘子法可到其“对偶问题”。具体说来每条约束添加拉格朗日乘子ai≧0,则该问题的拉格朗日函数可写成:

       其中a=(a1;a2;……am;);

       令L(w,b,a)对w和b的偏导为零可得

       将w带入L(w,b,a),可将w和b消去,再考虑上面式子的约束条件就得到对偶问题:

三、核函数

        PS:SVM的几何含义比较直观,但是算法实现较为复杂,没必要去搞懂推到的每一步骤,只需知道怎么用怎么调参即可。  

        实际中,我们会经常遇到线性不可分的样例,此时,我们的常用做法是把样例特征映射到高维空间中去。但进一步,如果凡是遇到线性不可分的样例,一律映射到高维空间,那么这个维度大小是会高到可怕的)。那咋办呢?此时,核函数就隆重登场了,核函数的价值在于它虽然也是讲特征进行从低维到高维的转换,但核函数绝就绝在它事先在低维上进行计算,而将实质上的分类效果表现在了高维上,也就如上文所说的避免了直接在高维空间中的复杂计算。

        用线性函数无法将两种不同颜色的原点区分开;很自然的我们会想到曲线救国,如下图所示:

        我们可以在不增加参数的前提下,扩展一个维度,也就是第三维。​​第三维可以用x,y的关系表示.x + y,xy,x 2

。这三个函数关系只有XY能够区分开四个点如下图所示:

    增加的第三维对应的值为0或者2,这样就把四个数区分开了。

很容易借助第三维,我们可以获得一个超平面,用于分类数据。

       核函数的作用就是隐含着一个从低维空间到高维空间的映射,而这个映射可以把低维空间中线性不可分的两类点变成线性可分的。其实就是运用原有可调参数,将可调参数的某个或某些函数关系来增加维度,用于分类。

猜你喜欢

转载自blog.csdn.net/m0_37565948/article/details/81453545
今日推荐