机器学习 周志华 学习笔记
总目录
The more fluent you become in math,the more unstoppable you will be in anying you want to do in life
第六章 支持向量机
6.1 间隔与支持向量
给定训练样本集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x m , y m ) } D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_m,y_m)\} D={ (x1,y1),(x2,y2),⋯,(xm,ym)}, y i ϵ { − 1 , + 1 } y_i \epsilon\{-1,+1\} yiϵ{ −1,+1}
分类学习的最基本思想就是:基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开
在样本空间中,划分超平面可以通过以下线性方程表示:
w T x + b = 0 w^Tx+b=0 wTx+b=0
其中
- w = ( w 1 , w 2 , ⋯   , w d ) w=(w_1,w_2,\cdots,w_d) w=(w1,w2,⋯,wd) 为法向量,决定了超平面的方向;
- b为位移项,决定了超平面与原点之间的距离。
显然,划分超平面可被法向量 w w w和 b b b确定,下面我们将其记为 ( w , b ) (w,b) (w,b)
样本空间任意衣点 x x x到超平面 ( w , x ) \bm{(w,x)} (w,x)的距离可写为:
γ = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ \gamma=\frac{|w^Tx+b|}{||w||} γ=∣∣w∣∣∣wTx+b∣
假设超平面 ( w , b ) \bm{(w,b)} (w,b)能将训练样本正确分类,即对于 ( x i , y i ) ϵ D (x_i,y_i)\epsilon D (xi,yi)ϵD,若 y i = + 1 y_i=+1 yi=+1,则有
ω T x i + b > 0 \bm{\omega^Tx_i} + b \gt 0 ωTxi+b>0,若 y i = − 1 y_i=-1 yi=−1,则有 ω T x i + b < 0 \bm{\omega^Tx_i} + b \lt 0 ωTxi+b<0.
令
ω T x i + b ≥ + 1 , y i = + 1 \omega^Tx_i+b \geq +1,y_i=+1 ωTxi+b≥+1,yi=+1
ω T x i + b ≤ − 1 , y i = − 1 \omega ^Tx_i+b \leq-1,y_i=-1 ωTxi+b≤−1,yi=−1
距离超平面最近的这几个训练样本点使上式等号成立,他们被称为“支持向量”,两个异类支持向量到超平面的距离之和为"间隔"(margin):
γ = 2 ∣ ∣ ω ∣ ∣ \gamma=\frac{2}{||\omega||} γ=∣∣ω∣∣2
欲找到具有“最大间隔”(maximum margin)的划分超平面,即:
max w , b 2 ∣ ∣ ω ∣ ∣ \max_{w,b}{\frac{2}{||\omega||}} w,bmax∣∣ω∣∣2
s . t . y i ( ω T x i + b ) ≥ 1 , i = 1 , 2 , ⋯   , m s.t. \ y_i(\omega^Tx_i+b)\geq1,i=1,2,\cdots,m s.t. yi(ωTxi+b)≥1,i=1,2,⋯,m
显然,为了最大化间隔,仅需最大化 ∣ ∣ ω ∣ ∣ − 1 ||\omega||^{-1} ∣∣ω∣∣−1,这等价于最小化 ∣ ∣ ω ∣ ∣ 2 ||\omega||^2 ∣∣ω∣∣2,于是,上式可重写为:
min w , b 1 2 ∣ ∣ ω ∣ ∣ 2 \min_{w,b}{\frac{1}{2}}{||\omega||^2} w,bmin21∣∣ω∣∣2
s . t . y i ( ω T x i + b ) ≥ 1 , i = 1 , 2 , ⋯   , m s.t.\ y_i(\omega^Tx_i+b)\geq1,i=1,2,\cdots,m s.t. yi(ωTxi+b)≥1,i=1,2,⋯,m
这就是支持向量机(Support Vector Machine)的基本型
6.2 对偶问题
- 上述问题是一个凸二次规划问题,能直接用现成的优化计算包求解。但是我们可以有更加高效的方法.对上式使用拉格朗日乘子法可得到其“对偶问题”(dual problem)
对上式的每条约束添加拉格朗日乘子 α i ≥ 0 \alpha_i \ge 0 αi≥0 ,该问题的拉格朗日函数可写为:
L ( w , b , α ) = 1 2 ∣ ∣ ω 2 ∣ ∣ + ∑ i = 1 m α i ( 1 − y i ( ω T x i + b ) ) L(w,b,\alpha)=\frac{1}{2}{||\omega^2||}+{\sum_{i=1}^{m}\alpha_i(1-y_i(\omega^Tx_i+b))} L(w,b,α)=21∣∣ω2∣∣+i=1∑mαi(1−yi(ωTxi+b))
对 ω \bm{\omega} ω和 b b b求偏导为零可得:
ω = ∑ i = 1 m α i y i x i \omega=\sum_{i=1}^m\alpha_iy_ix_i ω=i=1∑