支持向量機詳解中:求解目標函數
我們將到我們將要求解目標函數:

在這里我們對min后面的式子進行放縮。之前我們認為:

該式大于等于0。
現在我們對該式進行放縮,我們知道當x>1時,2x>2。所以我們總有辦法使

進行此放縮的目的是為了化簡。當該式大于等于1時,它的最小值就是1。所以目標函數可以化簡成:

所以目標函數就變成了

當遇到求極大值問題時,我們將其轉換成求極小值問題,所以我們只需要求w的極小值就可以。為了方便后續化簡,我們將w變成w的平方,并乘以1/2,變成:

在求有約束條件的極小值問題時,我們一般都使用拉格朗日乘子法進行求解。
已知拉格朗日乘子法

f0是求極小值的目標函數,fi和hi都是約束條件。由于約束條件需要小于等于0,所以我們在約束條件前面加上負號,所以拉格朗日方程變成:

在這里我們介紹一個原理:KKT原理,也可以稱之為拉格朗日對偶原則,就是對拉格朗日等式先求最大再求最小等價于對拉格朗日等式先求最小再求最大。

那么什么樣的w和b能使得拉格朗日等式最小的,我們需要分別對w和b求偏導。
對w求偏導得:

對b求偏導得到:

我們將w和b分別代入到原拉格朗日方程式中:

雖然求導沒有得到關于b的等式,但是因為:

0乘以任何數都是0,所以我們仍然可以將b約掉。
等式變成:

所以根據對偶原則,我們接下來需要求解什么樣的阿爾法能使得拉格朗日等式最大。這里別忘了我們之前還有一個約束條件。

我們可以看到,無論是約束條件還是化簡后的等式,都只與阿爾法 x和y有關。所以我們將需要進行分類的已知數據點帶入到

可以得到關于阿爾法的式子,然后在對此式子求偏導結合約束條件就可以求到阿爾法的值。
再將阿爾法的值帶入到

就可以得到w的值,同樣我們也可以得到b的值。
我們求到的阿爾法有可能為0,根據方程式

我們可以注意到,當阿爾法為0時,無論x和y的值為多少,與之相乘都是0,沒有任何意義。由此我們得到一個定理,對超平面產生影響的只有阿爾法不為0的那些數據點,我們將這些數據點稱為支持向量,只有這些數據點會對超平面產生影響,會影響w的取值。阿爾法為0的數據點對超平面不會產生任何印象!
本文轉載自??人工智能訓練營??,作者:人工智能訓練營

















