您的位置:首页 > 其它

数据挖掘十大算法——SVM

2015-08-19 11:18 176 查看

SVM两大分支

Support Vector Classifier(SVC)与Support Vector Regressor(SVR)

SVC

函数间隔: minγ=wx+bmin \gamma=wx+b,此时如果我们倍增w,bw,b可以无限扩大函数间隔,因此,它并不能作为标准

几何间隔,是归一化的函数间隔: minγ=wx+b||w||min \gamma=\frac{wx+b}{||w||}

为了方便讨论,令几何间隔等于1,有

wxi+b≥1foryi=+1wx_i+b≥1\quad for\quad y_i=+1

wxi+b≤−1foryi=−1wx_i+b≤-1\quad for\quad y_i=-1

线性可分支持向量机(硬间隔)

目标 maxw,b2||w||,s.t.yi(wxi+b)≥1max_{w,b}\frac{2}{||w||},s.t.y_i(wx_i+b)≥1

等价目标 minw,b12||w||2,s.t.yi(wxi+b)≥1min_{w,b}\frac{1}{2}||w||^2,s.t.y_i(wx_i+b)≥1

针对这个凸二次规划问题,我们可以采用拉格朗日解法

L(w,b,α)=12wTw−∑ni=1αi[yi(wxi+b)−1]L(w, b, \alpha)=\frac{1}{2}w^Tw-\sum_{i=1}^{n}\alpha_i[y_i(wx_i+b)-1]

令∂L(w,b,α)∂w=0\frac{\partial{L(w, b, \alpha)}}{\partial{w}}=0

∂L(w,b,α)∂b=0\frac{\partial{L(w, b, \alpha)}}{\partial{b}}=0

可得

w=∑i=1nαiyixiw=\sum_{i=1}^n\alpha_iy_ix_i

∑i=1nαiyi=0\sum_{i=1}^n\alpha_iy_i=0

进一步有

maxW(α)=cαi−12∑i=1n∑j=1nαiαjyiyjxixjs.t.∑i=1nαiyi=0,αi≥0maxW(\alpha)=c\alpha_i-\frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}\alpha_i\alpha_jy_iy_jx_ix_j\quad s.t. \sum_{i=1}^n\alpha_iy_i=0, \alpha_i≥0KKT补充条件αi[yi(wxi+b)−1]=0KKT补充条件\quad\alpha_i[y_i(wx_i+b)-1]=0

对于非支撑向量,αi=0\alpha_i=0

线性支持向量机(软间隔)

关键:松弛变量

minw,b12||w||2+C∑ni=1ξi,s.t.yi(wxi+b)≥1−ξimin_{w,b}\frac{1}{2}||w||^2+C\sum_{i=1}^n\xi_i,s.t.y_i(wx_i+b)≥1-\xi_i

核函数

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: