w^tx+b>0 \quad y_i=1 \longleftrightarrow y(x_i)>0\\ w^tx+b<0 \quad y_i=-1 \longleftrightarrow y(x_i)<0\\ \end
(幾何間距)\longleftrightarrow\frac(函式間隔)
∣∣w∣∣∣
wtx+
b∣(
幾何間距
)⟺∣∣
w∣∣y
i∣w
tx+b
∣⩾0
(函式間
隔)進行縮放變換:使∣y∣
⩾1⇒y
i∣wt
x+b∣
⩾1
|y|\geqslant1\rightarrow y_i|w^tx+b|\geqslant1
∣y∣⩾1⇒
yi∣
wtx+
b∣⩾1
(之前我們認為恆大於0,現在嚴格了些)
優化目標:arg
max(
w,b)
argmax(w,b)\min(i)[y_i(w^tx+b)]\}
argmax
(w,b
) 優化目標:arg
max(
w,b)
st.y
i∣wt
x+b∣
⩾1
argmax(w,b)\\} \quad st. y_i|w^tx+b|\geqslant1
argmax
(w,b
)st.
yi∣
wtx+
b∣⩾1
優化目標:min
(w,b
)st.
yi∣w
tx+b
∣⩾
1min(w,b)\\} \quad st. y_i|w^tx+b|\geqslant1
min(w,
b)st
.yi
∣wtx
+b∣⩾
1 拉格朗日乘子法求解:l(ω
,b,α
)=12
∣∣w∣
∣2−∑
i=1n
αi(y
i(wt
xi+b
)−1)
st.y
i∣wt
x+b∣
⩾1
l(\omega,b,\alpha)=\frac-\sum_^n\alpha_i(y_i(w^tx_i+b)-1) \quad st. y_i|w^tx+b|\geqslant1
l(ω,b,
α)=2
1∣∣
w∣∣2
−∑i=
1nα
i(y
i(w
txi
+b)−
1)st
.yi
∣wtx
+b∣⩾
1 求導可得:
\frac=\omega-\sum_^n\alpha_iy_ix_i=0\\ \frac=\sum_^n\alpha_iy_i=0\\ \end
^n\alpha_i-\frac\sum_^n\sum_^n\alpha_i\alpha_jy_iy_jx_ix_j \quad st. \sum_^n\alpha_iy_i\geqslant0且\alpha_i\geqslant0
l(ω,b,
α)=∑
i=1n
αi
−21
∑i=1
n∑j
=1n
αiα
jyi
yj
xix
jst
.∑i=
1nα
iyi
⩾0且
αi⩾
0 求解得:
\alpha_i=0\quad不是支援向量\\ \alpha_i\ne0\quad是支援向量 \end
)(\sigma小會帶來過擬合)
k(x,xi
)=e
xp(−
σ2∣∣
x−xi
∣∣2
)(σ
小會帶來
過擬合)
2. svm為什麼採用間隔最大化?
獲得最優解,泛化能力最強(因為解有無窮多個)
3. svm處理多分類問題?
1、一對多:將某一類歸一類,其餘類歸一類共訓練k個類k個分類器,用k個分類器來測試新樣本,哪個分類器概率(p)高就**為哪一類(bias較高)
2、一對一:任意兩個類訓練乙個分類器,一共訓練ck2
c_k^2
ck2
個分類器,最後投票判別
SVM演算法原理
支援向量機 support vector machines 是乙個二分類的分類模型 或者叫做分類器 如圖 它分類的思想是,給定給乙個包含正例和反例的樣本集合,svm的目的是尋找乙個超平面來對樣本根據正例和反例進行分割。各種資料對它評價甚高,說 它在解決小樣本 非線性及高維模式識別中表現出許多特有的優...
機器學習演算法 SVM 詳解
支援向量機 support vector machines 是一種二分類模型,它的目的是尋找乙個超平面來對樣本進行分割,分割的原則是間隔最大化,最終轉化為乙個凸二次規劃問題來求解。由簡至繁的模型包括 1 間隔最大化和支援向量 如果乙個線性函式能夠將樣本分開,稱這些資料樣本是線性可分的。那麼什麼是線性...
libsvm安裝及SVM原理推導
如果你的python是64位的 這時你需要自己編譯64位的動態鏈結庫libsvm.dll。方法如下 在目錄下microsoft visual studio 2013 visual studio tools下找到visual studio x64 win64 command prompt 2013 注...