机器学习总结(2)—分类中的代数模型(线性回归,逻辑回归,感知机,支持向量机) (4)

  什么叫支持向量:支持向量就是正确分类后,那些距离超平面很近的点。更通俗来说,比如一个栏杆把学生分为了男生女生,最靠近栏杆的学生就是支持向量,而这个最靠近的学生跟栏杆的垂直距离叫间隔。

  (间隔的度量,这里我们用几何间隔,几何间隔就是求点到线的正常公式,还有一个函数间隔就是只取这个公式的分子部分

机器学习总结(2)—分类中的代数模型(线性回归,逻辑回归,感知机,支持向量机)

,分子部分就是函数间隔,函数间隔可以用来判断分类正确与否,用来做约束条件,跟感知机一样)

机器学习总结(2)—分类中的代数模型(线性回归,逻辑回归,感知机,支持向量机)

(中间实线为最优超平面)

  输入

  输入与感知机一样,样本X和分类y(1,-1)

  输出

  输出最佳的超平面参数θ

  损失函数

  我们要最大化,支持向量到超平面的距离(几何间隔),我们最大化这个距离的目标函数为:

机器学习总结(2)—分类中的代数模型(线性回归,逻辑回归,感知机,支持向量机)

(min的目的是找支持向量,max的目的是最大化支持向量和超平面的距离,约束条件是在正确分类的点的情况下。勘误:w范数下面应该有个2,这里的分母w意思是分子的w中的元素添加上b,参看感知机用一个θ就完全表示了)

  很明显,这个函数极其难优化,因为不同的w,我们要选不同的样本点的xi,但是我们经过一系列abaaba的操作后,就可以简化为下面的式子,我们的损失函数为:

机器学习总结(2)—分类中的代数模型(线性回归,逻辑回归,感知机,支持向量机)

(这里是abaaba操作,可以不看,具体操作如下:我们注意到与感知机一样,分子上下都有w,可以同时缩放w和b而不影响求最大值,那么我们同时放大N倍,使得N*y(wx+b)=1,于是我们整个公式就相当于求

机器学习总结(2)—分类中的代数模型(线性回归,逻辑回归,感知机,支持向量机)

,单看这个公式,前面的公式不要去想,公式成这样以后,1代表了函数间隔,我们前面说了正确分类的点,距离要大于函数间隔,因此约束条件相应改变。注意,这里求距离的时候,我们已经没有选择用哪个点的xi了,公式里没有xi了,我们把函数间隔就设置为1)

  优化方法

  对于上面这个式子,它叫做不等式约束条件下的最优化,又叫KKT条件问题,解决这种问题的方法我们有一个套路叫“拉格朗日函数法”,把有约束优化问题转化无约束优化问题:

机器学习总结(2)—分类中的代数模型(线性回归,逻辑回归,感知机,支持向量机)

机器学习总结(2)—分类中的代数模型(线性回归,逻辑回归,感知机,支持向量机)

对于上述式子,我们通过对偶形式转换求w,b偏导数为0来得到w,b关于a的式子,并把总方程转化为只关于ai的式子:

机器学习总结(2)—分类中的代数模型(线性回归,逻辑回归,感知机,支持向量机)

通过SMO算法求a向量最终可解得w,b

机器学习总结(2)—分类中的代数模型(线性回归,逻辑回归,感知机,支持向量机)

这里说一下求b的方法,找出S个支持向量,判断条件是a向量(形状为m*1)里面ai>0的点对应的i这个样本,就是支持向量,对于这个支持向量有公式如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzfzfp.html