支持向量机SVM的公式推导以及通俗解释名字由来

注:本帖来源观看《python数据分析与机器学习实战》后的学习笔记

0,补充知识:
已知直线/平面W(T)x+b=0,那么点x到直线/平面的距离为
在这里插入图片描述
这里我们注意到有绝对值的存在,在计算机中这是不容易表示的,于是我们可以引入yi:
在这里插入图片描述
【注:这里之所以写成x的函数是因为有时需要从低维映射到高维,而且有时线性不可分时需要引入高斯核函数】
这时距离可以表示为:
在这里插入图片描述
便去掉了绝对值。

1,优化目标-决策边界:
找到一条线(w,b),使得离该线最近的点达到最远,或许可以通俗的理解为使最不容易区分的点区分的更明显一些。
用函数表示就是:
在这里插入图片描述
首先min中求了所有点中离线最近的点,max是使得该点与边界最远。

如果在这里通过放缩使得min中值恒大于等于1,那么最大值问题可等价于求w的模分之一的最大值,此时问题可等价于:
在这里插入图片描述

2,求解过程
首先温习一下拉格朗日法求解的步骤:
在这里插入图片描述
引入数学KKT公式(这里不详细证明)
在这里插入图片描述
此时,令L对w,b的偏导数均为0,求出:
在这里插入图片描述
将求出结果带回L(w,b,a)得:
在这里插入图片描述
接下来要求如何取a使得L最大,求一个数的最大值也即求该数相反数的最小值,即:
在这里插入图片描述
此时,便又转化为了拉格朗日问题,我们只需对在这里插入图片描述求偏导等于0,求出其值即可。
当然,这里还要注意一个问题,那就是所有的必须保证大于等于零,如果求解出来的结果不能完全保证,我们要使得其中一个等于0,再求其他值,即求边界值,直到最终满足条件(均大于等于0)且在满足条件中使得L尽量小!

最终,我们将求得的值带入到公式从而求出w的值:
在这里插入图片描述
任选一点xi,yi带入下式,求得b:
在这里插入图片描述

——————————————————————————————————————————————

以上就是求解的全过程,最后我们再来抛开公式说一说为什么叫该方法为支持向量机:
首先,如果自己尝试一个具体的例子就会发现,最终只有边界点对应的不为0,即非边界点对应的均为0,也就是说最终影响w值的只是边界点(距离决策边界最近的那些点)这也与我们的求解目标是一致的。
此时,我们可以说决策变量是由边界上的点支持决定的,我们可以叫这些边界点为支持向量,只有这些支持向量会对结果有影响。
这里用图示说明可能更清楚,如下图所示,只有实心点为支持向量,对分类结果有影响,其他空心点对结果没有任何影响。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_39860046/article/details/82952994