数据挖掘十大算法——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
核函数
相关文章推荐
- ftp命令从服务器上下载文件
- 【对象序列化】pickle.dumps()--python对象序列化/反序列化
- Linux 内存查看
- php破解防盗链技术
- 死锁的实例
- Oracle Length 和 Lengthb 函数说明 .(用来判断记录值里是否有中文内容)
- 数字签名是什么?
- poj2385 Apple Catching
- salt nginx部署
- POJ-1258 Agri-Net(最小生成树[Prim])
- UVA673括号匹配之vector和stack使用的时候的注意点
- js 跨浏览器基础事件,浏览器检测,判断浏览器的名称、版本号、操作系统
- C/C++之sizeof与strlen的区别
- 如何从一台客户机向服务机发起40亿TCP长连接?
- 曾国藩:从30岁起,脱胎换骨
- Linux环境进程间通信(一)
- ffmpeg视频转换工具使用
- win8应用商店提示无法完成你的购买的两种解决办法
- 如何快速的杀掉Oracle的Session
- php调用webservice的几种方法