炼数成金--支持向量机 笔记

版权声明:本文为博主原创文章,转载前请联系博主。 https://blog.csdn.net/dujiahei/article/details/82907717

支持向量、支持平面。

要求d的极大值(即两个分离平面之间的距离最大),d最大则对应w极小,但是w的范式计算时带有根号,不方便,于是转为求w的平方极小。此时,转换为凸优化问题。

所以上述是一个凸优化问题,接下来应用拉格朗日乘子法(严格来说,叫KKT条件法)。

上面的问题为什么可以转化为拉格朗日乘子法呢?

相切点的几何意义:红线与蓝线的梯度在同一直线上。约束函数g,目标函数f。

结合公式发现,最后的解就是要满足两个函数的梯度方向相反,在同一条直线上。

严格的拉格朗日乘子法要求约束条件为等号,但是本问题中为不等号,所以是KKT条件。

可以理解为KKT条件是拉格朗日乘子法在不等式条件下的一种推广。

由于是不等式条件,所以目前还不能够求解,但是可以继续往前走——尝试将b和w消掉,得到新的拉格朗日函数。所以变成了求拉格朗日函数的系数问题,称为原拉格朗日问题的对偶问题。
  回顾思路,首先我们把一个求解直观几何问题变成了求解一个凸优化问题,凸优化问题通过KKT条件变成拉格朗日问题,把偏导数等于0代进去,变成了一个拉格朗日乘子问题的对偶问题。对偶问题的形式整洁,且后半个公式是一个内积,有助于往非线性条件下推广的核函数。

简化后,对偶公式简单了,但是约束条件变多了。





这个对偶问题采用SMO算法求解。



接下来看一下非线性情况:

思路:映射到高维空间,变成线性可分能处理的问题。


维度上升以后,计算内积的计算量也上升了。——这个问题通过核函数来解决,可以在低维空间完成高维空间样本内积的计算。

即,给一个映射fai,把一个低维的非线性问题,转变为高维的线性问题,然后再找一个核函数K,又把高维空间的内积问题转变为低维空间中进行,从而消除维度灾难。但是,后来有数学家发现了更巧妙的办法——可以先在这个高维空间找一个核函数K,然后在这个K的基础上构造一个映射fai,这个fai可以把低维空间的非线性问题转变为高维空间的线性问题,并且这个K就是fai的核函数,即高维空间的内积可以用这个核函数的值来代替。这样一来不需要寻找fai,只需要构造一个合理的核函数即可。通过Mercer定理来判断核函数有效性。






在计算出w、b以后,要利用fai来判断是属于哪一类。但通过公式推导,可以将核函数代替内积部分,所以也不需要找到fai,只要有核函数就可以判别。
因此,在支持向量机中解决非线性问题是非常有效的。

猜你喜欢

转载自blog.csdn.net/dujiahei/article/details/82907717