【数之道27】详解SVM支持向量机软间隔数学思想

【数之道】SVM第四节:软间隔

一开始,所有绿色的点都位于正超平面及其上方,且y值为1;所有黄色的点都位于负超平面及其下方,且y值为-1。所有的点都满足约束条件:

假如我们有了一个新的数据点a,但不符合约束条件:

这时就面临了两个选择:
①采用新硬间隔。但由于间隔变窄,未来用于数据分类预测的效果会变差;
②继续采用原间隔。但由于新数据的加入,原硬间隔的约束条件被其破坏,产生了系统损失。这个包含损失的间隔就是“软间隔”。
这个违反约束的数据点对应的误差(或损失值)叫εa:

数据点a离负超平面越近时,一开始小于1的A越接近1,εa越接近0;数据点a移动到负超平面时,A=1,εa=0;数据点a向下越过负超平面后,A越大于1,原约束条件A>=1并不会被破坏,εa保持为0。

数据点a离负超平面越远时,一开始小于1的A将越来越小于1,εa越来越大;数据点a移动到决策超平面时,A=0,εa=1;数据点a向上越过正超平面后,A<0且将越来越小,εa将继续越来越大。
所以对于任意一个数据点i,其损失值可以用下图中橙色的损失函数来表示:

因为该损失函数图像的特点,我们称其为“铰链损失函数:Hinge Loss Function”。
SVM系列的前几节中说过,寻找最优决策超平面等价于求解在满足约束条件的情况下,向量w长度的最小化问题:

与上面硬间隔的优化问题不同,在求解软间隔的优化问题过程中,需要引入损失值的概念,同时考虑向量w的长度和损失值εi的大小。然而,向量w的长度和损失值εi的大小是相互制约的:向量w的长度越大,间隔越小,原始数据越不容易出现分类错误,因此损失值εi的总和越小;同理,向量w的长度越小,损失值εi的总和越大。最后的最优解是当向量w的长度和损失值εi的大小达到均衡的状态。

下划红线的部分等价于绿色箭头右边的约束条件:

然后就能用25集中类似的方法求解软间隔的优化问题。
但在实际操作和中,会对损失值部分乘以一个常数C,来控制对违反约束条件的数据点的容忍度。

如何选择超参数C将在SVM系列的第五节作详细介绍。