以下是我在学习完支持向量机后做的一些总结,不涉及到公式,只给出最精炼最核心的知识点。
-
支持向量机是一个分类算法
-
由逻辑回归中的sigmoid函数 s i g m o i d = 1 1 + e x p ( − θ T x ) sigmoid=\frac{1}{1+exp(-\theta^Tx)} sigmoid=1+exp(−θTx)1引出分类函数 f θ ( x ) = W T x + b f_\theta(x)=W^Tx+b fθ(x)=WTx+b,因此要求参数 W , b W,b W,b。
-
分类目标是找出一个超平面,使得两侧的数据距离超平面的距离尽可能的大。超平面用 W T x + b = 0 W^Tx+b=0 WTx+b=0表示。由此引出两个概念,分别是函数间隔 γ ^ = y ⋅ ( W T x + b ) = y ⋅ f ( x ) \widehat\gamma=y·(W^Tx+b)=y·f(x) γ =y⋅(WTx+b)=y⋅f(x)和几何间隔 γ ~ = γ ^ ∣ ∣ W ∣ ∣ \widetilde\gamma=\frac{\widehat\gamma}{||W||} γ =∣∣W∣∣γ 。其中函数间隔会随着参数的大小变化而变化,而几何间隔不会,因此是根据几何间隔求超平面的。由于函数间隔的大小并不影响超平面的位置,为了后续方便求参,这里令函数间隔 γ ^ = 1 \widehat\gamma=1 γ =1。
-
目标函数 m a x γ ~ = 1 ∣ ∣ W ∣ ∣ max \ \ \widetilde\gamma=\frac{1}{||W||} max γ =∣∣W∣∣1,相当于 m i n 1 ∣ ∣ W ∣ ∣ 2 s . t . , y i ( W T x i + b ) ≥ 1 , i = 1 , ⋅ ⋅ ⋅ , n min\ \ \frac{1}{||W||^2}\qquad s.t.,\ \ y_i(W^Tx_i+b)\ge1,i=1,···,n min ∣∣W∣∣21s.t., yi(WTxi+b)≥1,i=1,⋅⋅⋅,n
-
由以上目标函数,为了将约束条件与目标函数融为一体,引入拉格朗日乘子 α \alpha α,目标函数变为 L ( W , b , α ) = 1 ∣ ∣ W ∣ ∣ 2 − ∑ i = 1 n α i ( y i ( W T x i + b ) − 1 ) \mathcal{L}(W,b,\alpha)=\frac{1}{||W||^2}-\sum_{i=1}^{n}\alpha_i(y_i(W^Tx_i+b)-1) L(W,b,α)=∣∣W∣∣21−∑i=1nαi(yi(WTxi+b)−1),并使其最小化。其中对于支持向量(在直线 W T x + b = 1 W^Tx+b=1 WTx+b=1和 W T x + b = − 1 W^Tx+b=-1 WTx+b=−1上的数据), y i ( W T x i + b ) − 1 = 0 y_i(W^Tx_i+b)-1=0 yi(WTxi+b)−1=0;对于非支持向量, y i ( W T x i + b ) − 1 > 0 y_i(W^Tx_i+b)-1>0 yi(WTxi+b)−1>0。
-
求原问题 min W , b max α 1 ∣ ∣ W ∣ ∣ 2 − ∑ i = 1 n α i ( y i ( W T x i + b ) − 1 ) \min_{W,b}\ \ \max_{\alpha}\ \ \frac{1}{||W||^2}-\sum_{i=1}^{n}\alpha_i(y_i(W^Tx_i+b)-1) minW,b maxα ∣∣W∣∣21−∑i=1nαi(yi(WTxi+b)−1) 的最优解可转换为求对偶问题 max α min W , b 1 ∣ ∣ W ∣ ∣ 2 − ∑ i = 1 n α i ( y i ( W T x i + b ) − 1 ) \max_{\alpha}\ \ \min_{W,b}\ \ \frac{1}{||W||^2}-\sum_{i=1}^{n}\alpha_i(y_i(W^Tx_i+b)-1) maxα minW,b ∣∣W∣∣21−∑i=1nαi(yi(WTxi+b)−1)的最优解。转换的原有一是对偶问题的最优解求法更简单,二是自然地引出核函数,进而将线性可分问题扩展到线性不可分问题。
-
对偶问题的求解分3步,最终可将函数只转化为只含的函数,进而求出 W , b W,b W,b。
-
以上支持向量机只适合求线性可分问题,对于线性不可分的问题,解决思路就是将低维数据映射到高维空间中,再做内积运算,但若直接映射到高维而不做处理,则会出现维度爆炸现象。而核函数可以在低维中做内积运算但可以产生将低维数据映射到高维空间一样的效果(低维计算,效果等效高维)。
-
常见的核函数有多项式核、高斯核和线性核。