svm支持向量機(jī)詳細(xì)公式推導(dǎo)
支持向量機(jī)(SVM)是一種常用的機(jī)器學(xué)習(xí)算法,廣泛應(yīng)用于模式識(shí)別、文本分類、圖像識(shí)別等領(lǐng)域。它通過構(gòu)建一個(gè)最優(yōu)超平面,將不同類別的樣本點(diǎn)分隔開來。而這個(gè)最優(yōu)超平面由支持向量組成,支持向量是離分隔超平面
支持向量機(jī)(SVM)是一種常用的機(jī)器學(xué)習(xí)算法,廣泛應(yīng)用于模式識(shí)別、文本分類、圖像識(shí)別等領(lǐng)域。它通過構(gòu)建一個(gè)最優(yōu)超平面,將不同類別的樣本點(diǎn)分隔開來。而這個(gè)最優(yōu)超平面由支持向量組成,支持向量是離分隔超平面最近的樣本點(diǎn)。
SVM的目標(biāo)是找到一個(gè)最大間隔(hyperplane),使得支持向量到該超平面的距離最大化。為了達(dá)到這個(gè)目標(biāo),SVM引入了拉格朗日乘子法和KKT條件來進(jìn)行優(yōu)化。接下來,我們將對SVM的公式進(jìn)行詳細(xì)推導(dǎo)。
假設(shè)我們有一個(gè)二分類問題,其中訓(xùn)練樣本集為{Xi, yi},其中Xi表示第i個(gè)樣本的特征向量,yi表示對應(yīng)的類別標(biāo)簽(-1或1)。我們的目標(biāo)是找到一個(gè)超平面wx b0,使得正負(fù)樣本能夠被可靠地分隔開來。
首先,我們定義超平面wx b0上的任意一點(diǎn)x0到超平面的距離為d(x0)。根據(jù)數(shù)學(xué)知識(shí),我們可以將這個(gè)距離表示為:
d(x0) (w * x0 b) / ||w||
其中||w||表示w的模長。為了求解最大間隔問題,我們需要找到最大化d(x0)的w和b。由于距離d(x0)是與w和b成比例的,所以我們可以將目標(biāo)函數(shù)改寫為:
max d(x0) max [(w * x0 b) / ||w||]
為了簡化計(jì)算,我們可以將目標(biāo)函數(shù)改寫為等價(jià)的形式:
max [(w * x0 b)] (1)
約束條件為:yi * (w * xi b) - 1 > 0
然后,我們通過引入拉格朗日乘子αi來將約束條件轉(zhuǎn)化為目標(biāo)函數(shù)的一部分。于是,問題可以重新表述為:
L(w, b, α) 1/2 * ||w||^2 - Σ αi * [yi * (w * xi b) - 1]
其中,Σ表示對所有樣本求和。這個(gè)目標(biāo)函數(shù)可以通過求對w和b的偏導(dǎo)數(shù),并令其等于0來求解。
通過求解偏導(dǎo)數(shù)我們可以得到以下兩個(gè)方程:
?L/?w 0 > w Σ αi * yi * xi
?L/?b 0 > Σ αi * yi 0
將以上兩個(gè)式子帶入目標(biāo)函數(shù),得到新的目標(biāo)函數(shù):
L(w, b, α) Σ αi - 1/2 * Σ Σ αi * αj * yi * yj * (xi * xj)
這是一個(gè)二次規(guī)劃問題,可以通過求解對偶問題將其轉(zhuǎn)化為對偶形式。最終,我們可以得到支持向量機(jī)的決策函數(shù)為:
f(x) sign( Σ αi * yi * (xi * x) b )
其中αi為拉格朗日乘子的解,(xi * x)表示內(nèi)積。根據(jù)不同的核函數(shù)類型,支持向量機(jī)可以應(yīng)用在不同的領(lǐng)域,如線性SVM、多項(xiàng)式SVM和高斯核SVM等。
綜上所述,本文詳細(xì)解析了支持向量機(jī)(SVM)的原理,并對其公式進(jìn)行了詳細(xì)推導(dǎo)。希望通過這篇文章,讀者能夠更加深入地理解支持向量機(jī)算法的工作原理及其數(shù)學(xué)推導(dǎo)過程。