机器学习之支持向量机(SVM)

支持向量机/SVM(support vector machines),通常被用作分类模型,也可用作回归模型。SVM的分类原理是使样本在特征空间上的间隔最大化,即使得样本到分类平面的最小距离最大化。
SVM既可处理线性分类,通过引入软间隔可处理近似线性分类,通过引入核函数可处理非线性分类。

1 SVM原理

SVM处理线性可分数据,线性近似可分数据和非线性数据,基本原理相似。

1.1 线性可分SVM

分类超平面: w ⋅ x + b = 0 w·x+b=0 wx+b=0
分类决策函数: f ( x ) = s i g n ( w ⋅ x + b ) f(x) = sign(w·x+b) f(x)=sign(wx+b)
线性可分SVM,当参数 w w w, b b b确定后,分类超平面和分类决策函数则确定了。

SVM的基本原理为特征空间间隔最大化
对于特征空间上给定的样本 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) } {T=\left\{(x_1,y_1),(x_2,y_2),...,(x_n,y_n)\right\}} T={(x1,y1),(x2,y2),...,(xn,yn)},所有样本点到分类超平面的函数间隔的最小值用 γ ^ \hat\gamma γ^表示,特征空间间隔最大化即使得 γ \gamma γ最大。
其中, γ ^ = m i n ( γ 1 ^ , γ 2 ^ , . . . , γ n ^ ) {\hat\gamma = min(\hat{\gamma_1}, \hat{\gamma_2},...,\hat{\gamma_n})} γ^=min(γ1^,γ2^,...,γn^)
样本点到分类超平面的函数间隔表示为 γ i ^ = y i ( w ⋅ x i + b ) {\hat{\gamma_i} = y_i(w·x_i + b)} γi^=yi(wxi+b) ∣ w ⋅ x i + b ∣ {|w·x_i + b|} wxi+b可相对地表示样本点距离分类超平面的远近, ( w ⋅ x i + b ) 与 {(w·x_i + b)}与 (wxi+b) y i y_i yi的符号一致性可表示分类是否正确。
从函数间隔的表示可知,函数间隔 γ i ^ {\hat{\gamma_i}} γi^ ( w , b ) (w,b) (w,b)成比例,不妨引入规范化 ∣ ∣ w ∣ ∣ = 1 {||w||=1} w=1,使间隔不再成比例变化,此时函数间隔 γ ^ {\hat{\gamma}} γ^变成了几何间隔 γ {\gamma} γ, γ i = γ i ^ ∣ ∣ w ∣ ∣ {\gamma_i = \frac{\hat{\gamma_i}}{||w||}} γi=wγi^

线性可分SVM表示为:
max ⁡ w , b   γ {\max \limits_{w,b}\ {\gamma}} w,bmax γ
s . t . y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) > = γ , i = 1 , 2 , . . . , n s.t. \quad {y_i({\frac{w}{||w||}}·x_i+{\frac{b}{||w||}}) >= {\gamma}, i = 1,2,...,n} s.t.yi(wwxi+wb)>=γ,i=1,2,...,n
由于 γ ^ {\hat\gamma} γ^ w {w} w成比例,故不妨使 γ ^ = 1 {\hat\gamma} = 1 γ^=1,根据 γ ^ {\hat\gamma} γ^ γ {\gamma} γ的关系( γ i = γ i ^ ∣ ∣ w ∣ ∣ {\gamma_i = \frac{\hat{\gamma_i}}{||w||}} γi=wγi^),可将SVM表示为:
max ⁡ w , b   1 ∣ ∣ w ∣ ∣ {\max \limits_{w,b}\ \frac{1}{||w||}} w,bmax w1
s . t . y i ( w ⋅ x i + b ) > = 1 , i = 1 , 2 , . . . , n s.t. \quad {y_i({w}·x_i+b) >= 1, i = 1,2,...,n} s.t.yi(wxi+b)>=1,i=1,2,...,n
由于 max ⁡ 1 ∣ ∣ w ∣ ∣ {\max\frac{1}{||w||}} maxw1 min ⁡ 1 2 ∣ ∣ w ∣ ∣ 2 {\min \frac{1}{2}{||w||^2}} min21w2是等价的,所以SVM可转化为如下问题:
min ⁡ w , b   1 2 ∣ ∣ w ∣ ∣ 2 {\min \limits_{w,b}\ \frac{1}{2}{||w||^2}} w,bmin 21w2
s . t . y i ( w ⋅ x i + b ) − 1 > = 0 , i = 1 , 2 , . . . , n s.t. \quad {y_i({w}·x_i+b) -1>= 0, i = 1,2,...,n} s.t.yi(wxi+b)1>=0,i=1,2,...,n
应用拉格朗日对偶性,对每一个不等式约束引入拉格朗日乘子 α i \alpha_i αi,将拉格朗日函数分别对 w , b {w,b} w,b求偏导并令其等于0,可得到
w = ∑ i = 1 n α i y i x i , w=\sum\limits_{i=1}^{n}{\alpha_i}y_ix_i, w=i=1nαiyixi,
∑ i = 1 n α i y i = 0. \sum\limits_{i=1}^{n}{\alpha_i}y_i=0. i=1nαiyi=0.
将上面两个式子带入拉格朗日函数,求拉格朗日函数对 α {\alpha} α的极大,则将原始问题转化为如下问题
min ⁡ w , b   1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j ( x i ⋅ x j ) {\min\limits_{w,b}\ \frac{1}{2}\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}{\alpha_i}{\alpha_j}y_iy_j(x_i·x_j)} w,bmin 21i=1nj=1nαiαjyiyj(xixj)
s . t . ∑ i = 1 n α i y i = 0 , α i > 0 ,   i = 1 , 2 , . . . , n {s.t. \quad \sum\limits_{i=1}^{n}{\alpha_i}y_i=0, {\alpha_i}>0, \ i= 1,2,...,n} s.t.i=1nαiyi=0,αi>0, i=1,2,...,n
求解 α {\alpha} α的最优解后,可得到 w , b w,b w,b的最优解。假设最优解 α ∗ = { α 1 ∗ , α 2 ∗ , . . . , α n ∗ } {\alpha^*=\left\{{\alpha_1^*},{\alpha_2^*},...,{\alpha_n^*}\right\}} α={α1,α2,...,αn},则一定存在某个维度 α j ∗ > 0 {\alpha_j^*}>0 αj>0,根据拉格朗日KKT条件,可知对应的 y j ( w ⋅ x j + b ) = 1 {y_j({w}·x_j+b) =1} yj(wxj+b)=1,可求得 w ∗ = ∑ i = 1 n α i ∗ y i x i , b ∗ = y j − w ∗ ⋅ x = y j − ∑ i = 1 n α i ∗ y i ( x i ⋅ x j ) {w^*=\sum\limits_{i=1}^{n}{\alpha_i^*}y_ix_i}, {b^*=y_j-w^*·x = y_j-\sum\limits_{i=1}^{n}{\alpha_i^*}y_i(x_i·x_j)} w=i=1nαiyixi,b=yjwx=yji=1nαiyi(xixj)

从以上求解过程可知, α i ∗ > 0 {\alpha_i^*}>0 αi>0对应的样本点 x i x_i xi到分类超平面的距离为1,即为所有样本点到分类平面距离最小的点,如下图所示,这些样本点为支持向量,根据SVM的原理可知,分类超平面只和支持向量有关。样本点在特征空间的分布形成了以分类超平面为对称中心的带状空间,带状空间的距离为 2 ∣ ∣ w ∣ ∣ \frac{2}{||w||} w2,此带状空间内无样本点数据。

支持向量
图1 支持向量

1.2 线性SVM

1.3 非线性SVM

未完待续…

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值