机器学习:SVM算法的对偶形式

楔子

广义拉格朗日函数

问题:
在这里插入图片描述
转化为无约束的拉格朗日形式:
在这里插入图片描述

原问题和对偶问题

primal problem opt (原始问题最优化(极小值)):
在这里插入图片描述
dual problem opt (对偶问题最优化(极大值)):
在这里插入图片描述

KKT条件

在这里插入图片描述
关于KKT 条件的理解:前面三个条件是由解析函数的知识,对于各个变量的偏导数为0(这就解释了一开始为什么假设三个函数连续可微,如果不连续可微的话,这里的偏导数存不存在就不能保证),后面三个条件就是原始问题的约束条件以及拉格朗日乘子需要满足的约束。剩下一个就是***对偶互补条件***,就是添加项每一项均为0.

SVM对偶形式推导

我们以软间隔为例:

原始优化问题

在这里插入图片描述

原问题拉格朗日函数:

在这里插入图片描述

对拉格朗日函数对原始问题的变量:w,b及各个 ξ i \xi_i 求偏导,求极小值:

在这里插入图片描述

得到结果带入拉格朗日函数,对变量 α i \alpha_i β i \beta_i ,求极大值

在这里插入图片描述
实际上 β i \beta_i α i \alpha_i 相关的,可以消去 β i \beta_i β i \beta_i 约束为:0<= β i \beta_i <=C。

以上优化变成一个凸二次优化问题,原始问题的解和对偶问题的解满足KKT条件:

在这里插入图片描述

硬间隔和软间隔对偶性形式对比

硬间隔对偶形式

在这里插入图片描述

软间隔对偶形式

在这里插入图片描述

对比

看到没?目标函数一模一样,差别就在于约束条件 α i \alpha_i 的取值范围。
对偶形式可以看成样本的线性组合,权重不为0的样本构成了支持向量。
还可以看出对偶性形式样本只以内积的形式出现,这个给核方法提供了可乘之机。

对偶问题的解和原问题的解关系和区别

对偶形式的解为 α \alpha^* = ( α 1 , , α N ) T (\alpha_1,…,\alpha_N)^T
容易求出原问题的解为:
在这里插入图片描述
b b^* 表达式中出现的 j 是满足0< α j \alpha_j <C的下标,为什么呢?

首先支持向量一定在 α i \alpha_i >0里面,体会一下:
在这里插入图片描述
也就是说由于松弛变量的引入,间隔边界变成一条河了,河里面的点都是支持向量。
所以取0< α j \alpha_j <C, x j x_j 必定是在函数间隔上为支持向量,求出的b,就是分割超平面的参数。

α i \alpha_i^* , ξ i \xi_i^* ,分离超平面位置的关系:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40759186/article/details/85626392