机器学习——支持向量机原理总结(清晰易懂,适合大学牲体质)

机器学习系列之支持向量机

写在前面:本文是笔者复习《机器学习》课程时基于书本及各类参考资料总结出的关于支持向量机(SVM)算法原理的一些个人理解。
文中如有不当之处,望请各位大佬批评指正!


  • 线性可分支持向量机与硬间隔最大化
    • 线性可分支持向量机:数据线性可分。使用硬间隔最大化。
    • 函数间隔和几何间隔
    • 间隔最大化
    • 学习的对偶算法
  • 线性支持向量机与软间隔最大化
    • 线性支持向量机:数据近似线性可分。使用软间隔最大化。
    • 学习的对偶算法
    • 支持向量
  • 非线性支持向量机与核函数
    • (*)Mercer定理:
      • 任何半正定函数都可以作为核函数
      • 核函数 K ( x , z ) K(x,z) K(x,z)充要条件 K K K 矩阵是半正定的
  • (*)解的稀疏性:模型训练完后,大部分样本不需要保留,最终模型仅与支持向量有关。

一、线性可分支持向量机与硬间隔最大化

(1)线性可分支持向量机

​ 给定线性可分数据集,通过间隔最大化或等价求解相应的凸二次规划问题学习得到的分离超平面
w ∗ ⋅ x + b ∗ = 0 w^* \cdot x + b^* = 0 wx+b=0

​ 以及相应的分类决策函数
f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x) = sign(w^* \cdot x + b^*) f(x)=sign(wx+b)

(2)函数间隔与几何间隔:

  • 函数间隔:表示分类的正确性和可信度

    对于给定的训练数据集 T T T 和超平面 ( w , b ) (w,b) (w,b) 关于样本点 ( x i , y i ) (x_i, y_i) (xi,yi) 的函数间隔为

    γ ^ i = y i ( w ⋅ x i + b ) \hat{\gamma}_i = y_i(w \cdot x_i + b) γ^i=yi(wxi+b)
    超平面 ( w , b ) (w,b) (w,b) 与数据集 T T T 的函数间隔为所有样本点函数间隔的最小值

    γ ^ = m i n i = 1 , 2 , 3 , … , N   γ ^ i \hat{\gamma} = \underset{{i = 1, 2, 3,\dots, N}}{min}\ \hat{\gamma}_i γ^=i=1,2,3,,Nmin γ^i

  • 几何间隔:实例点到超平面的带符号的距离。

    对于给定的训练数据集 T T T 和超平面 ( w , b ) (w, b) (w,b) ,定义超平面 ( w , b ) (w, b) (w,b) 关于样本点 ( x i , y i ) (x_i, y_i) (xi,yi) 的几何间隔为
    γ i = y i ( w ∥ w ∥ ⋅ x i + b ∥ b ∥ ) \gamma_i = y_i(\frac{w}{\left \| w\right \|} \cdot x_i + \frac{b}{\left \| b\right \|}) γi=yi(wwxi+bb)
    超平面 ( w , b ) (w,b) (w,b) 与数据集 T T T 的几何间隔为所有样本点几何间隔的最小值
    γ = m i n i = 1 , 2 , 3 , … , N   γ i \gamma = \underset{{i = 1, 2, 3,\dots, N}}{min}\ \gamma_i γ=i=1,2,3,,Nmin γi

(3) 间隔最大化

  • 直观解释:不仅能将正负类分开,而且对最难分的点(离超平面最近的点)也有足够大的可信度将其分开

  • 最大间隔准则

    函数间隔形式:
    m a x w , b    γ ^ ∥ w ∥ s . t .    y i ( w ⋅ x i + b ) ≥ γ ^       i = 1 , 2 , 3 , ⋯   , N \underset{w, b}{max}\ \ \frac{\hat{\gamma}}{\left \|w \right \|} \\ s.t. \ \ y_i(w \cdot x_i + b) \ge \hat{\gamma} \ \ \ \ \ i = 1, 2, 3, \cdots , N w,bmax  wγ^s.t.  yi(wxi+b)γ^     i=1,2,3,,N

    几何间隔形式:
    m a x w , b    γ s . t .    y i ( w ∥ w ∥ ⋅ x i + b ∥ b ∥ ) ≥ γ ^       i = 1 , 2 , 3 , ⋯   , N \underset{w, b}{max}\ \ \gamma \\ s.t. \ \ y_i(\frac{w}{\left \|w \right \|} \cdot x_i + \frac{b}{\left \|b \right \|}) \ge \hat{\gamma} \ \ \ \ \ i = 1, 2, 3, \cdots , N w,bmax  γs.t.  yi(wwxi+bb)γ^     i=1,2,3,,N
    step 1优化问题转化

    若按比例改变 w , b w, b w,b ,函数间隔也会改变,但这一改变不等式约束和目标函数的优化没有影响(产生等价的最优

    化问题), 因此将 γ ^ = 1 \hat{\gamma} = 1 γ^=1 。代入函数间隔形式的准则后将== m a x   1 ∥ w ∥ max \ \frac{1}{\left \| w\right \|} max w1转换 m i n   1 2 ∥ w ∥ 2 min \ \frac{1}{2} \left \| w \right \| ^ 2 min 21w2==为可以得到将要求解的最优化问题:(凸二次规划问题)
    m i n w , b    1 2 ∥ w ∥ 2 s . t .    y i ( w ⋅ x i + b ) − 1 ≥ 0 ,       i = 1 , 2 , 3 , ⋯   , N \underset{w,b}{min} \ \ \frac{1}{2} \left \| w \right \| ^ 2 \\ s.t. \ \ y_i(w \cdot x_i + b) - 1\ge 0, \ \ \ \ \ i = 1, 2, 3, \cdots , N w,bmin  21w2s.t.  yi(wxi+b)10,     i=1,2,3,,N
    step 2最大间隔法

    • 输入:线性可分数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T = \{(x_1, y_1),(x_2, y_2), \cdots , (x_N, y_N)\} T={(x1,y1),(x2,y2),,(xN,yN)} ,其中 x i ∈ R n x_i \in R^n xiRn y i ∈ { − 1 , 1 } y_i \in \{ -1, 1\} yi{1,1} .
    • 输出:最大间隔分离超平面分类决策函数

    (1)构造并求解约束最优化问题:
    m i n w , b    1 2 ∥ w ∥ 2 s . t .    y i ( w ⋅ x i + b ) − 1 ≥ 0 ,       i = 1 , 2 , 3 , ⋯   , N \underset{w,b}{min} \ \ \frac{1}{2} \left \| w \right \| ^ 2 \\ s.t. \ \ y_i(w \cdot x_i + b) - 1\ge 0, \ \ \ \ \ i = 1, 2, 3, \cdots , N w,bmin  21w2s.t.  yi(wxi+b)10,     i=1,2,3,,N
    ​ 得到最优解 w ∗ , b ∗ w^*, b^* w,b

    (2)由此得到分离超平面:
    w ∗ ⋅ x + b ∗ = 0 w^* \cdot x + b^* = 0 wx+b=0
    ​ 分类决策函数:
    f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x) = sign(w^* \cdot x + b^*) f(x)=sign(wx+b)
    step 3支持向量和间隔边界

    • 支持向量

      线性可分的情况下,训练数据集的样本点中与分离超平面距离最近样本点的实例

      即:使约束条件式等号成立的点:
      y i ( w ⋅ x i + b ) − 1 = 0 y_i(w\cdot x_i + b) - 1 = 0 yi(wxi+b)1=0

    • 间隔边界:( H 1 , H 2 H_1, H_2 H1,H2

      1. 没有实例点落在 H 1 , H 2 H_1, H_2 H1,H2中间。
      2. 分离超平面与其平行且位于 H 1 , H 2 H_1, H_2 H1,H2中央。
      3. H 1 , H 2 H_1, H_2 H1,H2 之间的距离称为间隔

间隔与间隔边界

(4)学习的对偶算法求解

  • 原问题与对偶问题等价的条件:
    原问题与对偶问题

step 1构建拉格朗日函数

​ 对每一个不等式约束引入拉格朗日乘子 α i ≥ 0 \alpha_i \ge 0 αi0 i = 1 , 2 , ⋯   , N i = 1, 2, \cdots ,N i=1,2,,N

​ 定义拉格朗日函数:(最优化目标函数 f ( w ) = 1 2 ∥ w ∥ 2 f(w) = \frac{1}{2} \left \| w \right \| ^ 2 f(w)=21w2,等式约束: L ( w , b , a ) = f ( x ) + ∑ α i ∗ g ( x ) L(w, b, a) = f(x) + \sum\alpha_i * g(x) L(w,b,a)=f(x)+αig(x)
L ( w , b , a ) = 1 2 ∥ w ∥ 2 − ∑ i = 1 N α i y ( i ) ( w T ⋅ x ( i ) + b ) + ∑ i = 1 N α i L(w, b, a) = \frac{1}{2}\left \|w \right \|^2 - \sum_{i = 1}^N \alpha_iy^{(i)}(w^T \cdot x^{(i)} + b) + \sum_{i = 1}^N\alpha_i L(w,b,a)=21w2i=1Nαiy(i)(wTx(i)+b)+i=1Nαi
​ 其中 α = ( α 1 , α 2 , ⋯   , α N ) T \alpha = (\alpha_1, \alpha_2, \cdots, \alpha_N)^T α=(α1,α2,,αN)T 为拉格朗日乘子向量。

​ 根据拉格朗日对偶性,原始问题的对偶问题为极大 极小问题:
m a x α   m i n w , b   L ( w , b , a ) \underset{\alpha}{max}\ \underset{w, b}{min}\ L(w, b, a) αmax w,bmin L(w,b,a)
step 2: 求解拉格朗日函数

​ 1、 m i n w , b   L ( w , b , a ) \underset{w, b}{min} \ L(w,b,a) w,bmin L(w,b,a)

​ 将原函数分别对 w , b w, b w,b 求偏导数并令其等于0:
∇ w L ( w , b , a ) = w − ∑ i = 1 N α i y ( i ) x ( i ) = 0 ∇ b L ( w , b , a ) = − ∑ i = 1 N α i y ( i ) = 0 \nabla_w L(w, b, a) = w - \sum_{i = 1}^N \alpha_iy^{(i)}x^{(i)} = 0 \\ \nabla_b L(w, b, a) = - \sum_{i = 1}^N \alpha_iy^{(i)} = 0 wL(w,b,a)=wi=1Nαiy(i)x(i)=0bL(w,b,a)=i=1Nαiy(i)=0
​ 得:
w = ∑ i = 1 N α i y ( i ) x ( i ) ∑ i = 1 N α i y ( i ) = 0 w = \sum_{i = 1}^N \alpha_iy^{(i)}x^{(i)} \\ \sum_{i = 1}^N \alpha_i y^{(i)} = 0 w=i=1Nαiy(i)x(i)i=1Nαiy(i)=0
​ 将上述式子代入拉格朗日函数得出 m i n w , b   L ( w , b , a ) \underset{w, b}{min} \ L(w,b,a) w,bmin L(w,b,a)
m i n w , b L ( w , b , a ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y ( i ) y ( j ) ( x i ⋅ x j ) + ∑ i = 1 N α i \underset{w, b}{min} L(w, b, a) = -\frac{1}{2} \sum_{i = 1}^N \sum_{j = 1}^N \alpha_i\alpha_jy^{(i)}y^{(j)}(x_i \cdot x_j) + \sum_{i = 1}^N \alpha_i w,bminL(w,b,a)=21i=1Nj=1Nαiαjy(i)y(j)(xixj)+i=1Nαi
​ 2、求 m i n w , b   L ( w , b , a ) \underset{w, b}{min} \ L(w,b,a) w,bmin L(w,b,a) α \alpha α 的极大,等价于对其对偶问题求极小 (*)
m a x α    ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y ( i ) y ( j ) ( x ( i ) ⋅ x ( j ) ) s . t . ∑ i = 1 N α i y ( i ) = 0 α i ≥ 0 ,   i = 1 , 2 , ⋯   , N \underset{\alpha}{max} \ \ \sum_{i = 1}^N \alpha_i -\frac{1}{2} \sum_{i = 1}^N \sum_{j = 1}^N \alpha_i\alpha_jy^{(i)}y^{(j)}(x^{(i)} \cdot x^{(j)}) \\ s.t. \sum_{i = 1}^N \alpha_iy^{(i)} = 0\\ \alpha_i \ge 0, \ i = 1, 2, \cdots ,N αmax  i=1Nαi21i=1Nj=1Nαiαjy(i)y(j)(x(i)x(j))s.t.i=1Nαiy(i)=0αi0, i=1,2,,N
​ 求出最优解 α ∗ = ( α 1 ∗ , α 2 ∗ , ⋯   , α N ∗ ) T \alpha^* = (\alpha_1^*,\alpha_2^*, \cdots, \alpha_N^*)^T α=(α1,α2,,αN)T

​ 3、计算 w ∗ , b ∗ w^*, b^* w,b
w ∗ = ∑ i = 1 N α i y i x i w^* = \sum_{i = 1}^N \alpha_i y_ix_i \\ w=i=1Nαiyixi
​ 选择 α i ∗ \alpha_i^* αi的一个正分量,计算
b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) b^* = y_j - \sum_{i = 1}^N \alpha_i^*y_i(x_i \cdot x_j) b=yji=1Nαiyi(xixj)
​ 最终得出分离超平面分类决策函数
w ∗ ⋅ x + b ∗ = 0 f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) w^* \cdot x + b^* = 0 \\ f(x) = sign(w^* \cdot x + b^*) wx+b=0f(x)=sign(wx+b)

最终模型:
f ( x ) = ∑ i = 1 m α i y i x i T x + b f(x) = \sum_{i = 1}^m \alpha_i y_ix_i^T x + b \\ f(x)=i=1mαiyixiTx+b
KKT条件:
{ α i ≥ 0 , y i f ( x i ) ≥ 1 , α i ( y i f ( x i ) − 1 ) = 0. \left\{ \begin{matrix} \alpha_i \ge 0 ,\\ y_if(x_i) \ge 1, \\ \alpha_i(y_if(x_i) - 1) = 0. \end{matrix}\right. αi0,yif(xi)1,αi(yif(xi)1)=0.

​ (*)解的稀疏性:模型训练完后,大部分样本不需要保留,最终模型仅与支持向量有关。


二、线性支持向量机与软间隔最大化

软间隔整体求解方式与硬间隔类似。仅多出一个惩罚系数: ε i \varepsilon_i εi

step 1优化目标函数
m i n w , b , ε   1 2 ∥ w ∥ 2 + C ∑ i = 1 m ε i   s . t .   y ( i ) ( w T x ( i ) + b ) ≥ 1 − ε i   , i = 1 , ⋯   , m   ε i ≥ 0 ,   i = 1 , ⋯   , m \underset{w,b,\varepsilon}{min} \ \frac{1}{2}\|w\|^2 + C \sum_{i = 1}^m \varepsilon_i \\ \ s.t. \ y^{(i)}(w^Tx^{(i)} + b) \ge 1- \varepsilon_i \ , i = 1, \cdots , m \\ \ \varepsilon_i \ge 0, \ i = 1, \cdots , m w,b,εmin 21w2+Ci=1mεi s.t. y(i)(wTx(i)+b)1εi ,i=1,,m εi0, i=1,,m

step 2构建拉格朗日函数 f ( x ) = 1 2 ∥ w ∥ 2 + C ∑ i = 1 m ε i f(x) = \frac{1}{2}\|w\|^2 + C \sum_{i = 1}^m \varepsilon_i f(x)=21w2+Ci=1mεi g ( x ) = − ( y ( i ) ( w T x ( i ) + b ) − 1 + ε i ) g(x) = - (y^{(i)}(w^Tx^{(i)} + b) - 1+ \varepsilon_i) g(x)=(y(i)(wTx(i)+b)1+εi)

L ( w , b , ε , α , γ ) = f ( x ) + ∑ i = 1 m α i g ( x ) + ∑ i = 1 m γ i h ( x ) L(w, b, \varepsilon, \alpha, \gamma) =f(x) + \sum_{i = 1}^{m}\alpha_i g(x) + \sum_{i = 1}^{m}\gamma_i h(x) L(w,b,ε,α,γ)=f(x)+i=1mαig(x)+i=1mγih(x)

​ 将具体式子代入公式,得:
L ( w , b , ε , α , γ ) = 1 2 ∥ w ∥ 2 + C ∑ i = 1 m ε i − ∑ i = 1 m α i ( y ( i ) ( w T x ( i ) + b ) − 1 + ε i ) − ∑ i = 1 m γ i ε i L(w, b, \varepsilon, \alpha, \gamma) = \frac{1}{2}\|w\|^2 + C \sum_{i = 1}^m \varepsilon_i -\sum_{i = 1}^{m}\alpha_i (y^{(i)}(w^Tx^{(i)} + b) - 1+ \varepsilon_i) - \sum_{i = 1}^{m}\gamma_i \varepsilon_i L(w,b,ε,α,γ)=21w2+Ci=1mεii=1mαi(y(i)(wTx(i)+b)1+εi)i=1mγiεi
step 3分别对 w , b , γ w, b, \gamma w,b,γ 求导置零
∇ w L ( w , b , ε , α , γ ) ⇒ w = ∑ i = 1 N α i y ( i ) x ( i ) ∇ b L ( w , b , ε , α , γ ) ⇒ ∑ i = 1 N α i y ( i ) = 0 ∇ ε i L ( w , b , ε , α , γ ) ⇒ C = α i + γ i ⇒ α i ≤ C \nabla_w L(w, b, \varepsilon ,\alpha, \gamma) \Rightarrow w = \sum_{i = 1}^N \alpha_i y^{(i)}x^{(i)} \\ \nabla_b L(w, b, \varepsilon ,\alpha, \gamma) \Rightarrow \sum_{i = 1}^N \alpha_iy^{(i)} = 0 \\ \\ \nabla_{\varepsilon_i} L(w, b, \varepsilon ,\alpha, \gamma) \Rightarrow C = \alpha_i + \gamma_i \Rightarrow \alpha_i \le C wL(w,b,ε,α,γ)w=i=1Nαiy(i)x(i)bL(w,b,ε,α,γ)i=1Nαiy(i)=0εiL(w,b,ε,α,γ)C=αi+γiαiC
step 4带回拉格朗日函数,得:
m a x α    ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y ( i ) y ( j ) ( x ( i ) ⋅ x ( j ) ) s . t . ∑ i = 1 N α i y ( i ) = 0 0 ≤ α i ≤ C ,   i = 1 , 2 , ⋯   , N \underset{\alpha}{max} \ \ \sum_{i = 1}^N \alpha_i -\frac{1}{2} \sum_{i = 1}^N \sum_{j = 1}^N \alpha_i\alpha_jy^{(i)}y^{(j)}(x^{(i)} \cdot x^{(j)}) \\ s.t. \sum_{i = 1}^N \alpha_iy^{(i)} = 0\\ 0 \le \alpha_i \le C, \ i = 1, 2, \cdots ,N αmax  i=1Nαi21i=1Nj=1Nαiαjy(i)y(j)(x(i)x(j))s.t.i=1Nαiy(i)=00αiC, i=1,2,,N

根据KKT条件可推得最终模型仅与支持向量有关, 也即hinge损失函数依然保持了支持向量机解的稀疏性

  • 30
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值