支持向量机详解中:求解目标函数

发布于 2025-7-24 07:19
浏览
0收藏

我们将到我们将要求解目标函数:

支持向量机详解中:求解目标函数-AI.x社区

在这里我们对min后面的式子进行放缩。之前我们认为:

支持向量机详解中:求解目标函数-AI.x社区

该式大于等于0。


现在我们对该式进行放缩,我们知道当x>1时,2x>2。所以我们总有办法使

支持向量机详解中:求解目标函数-AI.x社区

进行此放缩的目的是为了化简。当该式大于等于1时,它的最小值就是1。所以目标函数可以化简成:

支持向量机详解中:求解目标函数-AI.x社区

所以目标函数就变成了

支持向量机详解中:求解目标函数-AI.x社区

当遇到求极大值问题时,我们将其转换成求极小值问题,所以我们只需要求w的极小值就可以。为了方便后续化简,我们将w变成w的平方,并乘以1/2,变成:

支持向量机详解中:求解目标函数-AI.x社区

在求有约束条件的极小值问题时,我们一般都使用拉格朗日乘子法进行求解。


已知拉格朗日乘子法

支持向量机详解中:求解目标函数-AI.x社区

f0是求极小值的目标函数,fi和hi都是约束条件。由于约束条件需要小于等于0,所以我们在约束条件前面加上负号,所以拉格朗日方程变成:

支持向量机详解中:求解目标函数-AI.x社区


在这里我们介绍一个原理:KKT原理,也可以称之为拉格朗日对偶原则,就是对拉格朗日等式先求最大再求最小等价于对拉格朗日等式先求最小再求最大。

支持向量机详解中:求解目标函数-AI.x社区

那么什么样的w和b能使得拉格朗日等式最小的,我们需要分别对w和b求偏导。

对w求偏导得:

支持向量机详解中:求解目标函数-AI.x社区

对b求偏导得到:

支持向量机详解中:求解目标函数-AI.x社区

我们将w和b分别代入到原拉格朗日方程式中:

支持向量机详解中:求解目标函数-AI.x社区

虽然求导没有得到关于b的等式,但是因为:

支持向量机详解中:求解目标函数-AI.x社区

0乘以任何数都是0,所以我们仍然可以将b约掉。

等式变成:

支持向量机详解中:求解目标函数-AI.x社区

所以根据对偶原则,我们接下来需要求解什么样的阿尔法能使得拉格朗日等式最大。这里别忘了我们之前还有一个约束条件。

支持向量机详解中:求解目标函数-AI.x社区

我们可以看到,无论是约束条件还是化简后的等式,都只与阿尔法 x和y有关。所以我们将需要进行分类的已知数据点带入到

支持向量机详解中:求解目标函数-AI.x社区

可以得到关于阿尔法的式子,然后在对此式子求偏导结合约束条件就可以求到阿尔法的值。

再将阿尔法的值带入到

支持向量机详解中:求解目标函数-AI.x社区

就可以得到w的值,同样我们也可以得到b的值。

我们求到的阿尔法有可能为0,根据方程式

支持向量机详解中:求解目标函数-AI.x社区

我们可以注意到,当阿尔法为0时,无论x和y的值为多少,与之相乘都是0,没有任何意义。由此我们得到一个定理,对超平面产生影响的只有阿尔法不为0的那些数据点,我们将这些数据点称为支持向量,只有这些数据点会对超平面产生影响,会影响w的取值。阿尔法为0的数据点对超平面不会产生任何印象!

本文转载自​人工智能训练营​,作者:人工智能训练营

已于2025-7-24 10:10:46修改
收藏
回复
举报
回复
相关推荐