支持向量机(2)
来源:互联网 发布:mysql 创建覆盖索引 编辑:程序博客网 时间:2024/06/09 16:07
第一节已经介绍了直接求解线性可分支持向量机的方法,但求解过程往往复杂。所以我们可以转换思路:将该问题作为原始问题,应用拉格朗日对偶性,通过求解对偶问题得到原始问题的解。这样做的好处:
- 求解更加容易
- 可以引入核函数,方便推广到非线性分类问题
对偶问题
对偶问题求解步骤:
根据原始问题,构造拉格朗日函数:
L(w,b,α)=12||w||2+∑i=1Nαi(1−yi(w⋅xi+b))=12||w||2−∑i=1Nαiyi(w⋅xi+b)+∑i=1Nαi 原始问题为极小极大问题,对偶问题为极大极小问题。即:
先求maxαminw,bL(w,b,α) L(w,b,α) 对w,b 的极小,再求minL(w,b,α) 对α 的极大。依次为:- 先求
L(w,b,α) 对w,b 的极小∇wL(w,b,α)=w−∑i=1Nαiyixi=0 将两个等式结果代入∇bL(w,b,α)=∑i=1Nαiyi=0 L(w,b,α) ,就得到了minL(w,b,α) 。即:minw,bL(w,b,α)=12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαiyi((∑j=1Nαjyjxi)⋅xj+b)+∑i=1Nαi=−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi - 再求
minL(w,b,α) 对α 的极大,即是对偶问题:maxα −12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi∑i=1Nαiyi=0αi≥0i=1,2,⋯,N
也等价于minα 12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαi∑i=1Nαiyi=0αi≥0i=1,2,⋯,N
- 先求
由上一步求解对偶问题,可以得到对偶问题的解
α∗=(α∗1,α∗2,⋯,α∗N) 。且此原始问题和对偶问题符合转换的条件,通过KKT条件可以由α∗ 求得原始问题的解w∗,b∗ 。
KKT条件:∇wL(w∗,b∗,α∗)=w∗−∑i=1Nα∗iyixi=0∇bL(w∗,b∗,α∗)=∑i=1Nαiyi=0α∗i(yi(w⋅xi+b)−1)=0yi(w⋅xi+b)−1≥0α∗i≥0i=1,2,⋯,N
则得到w∗=∑Ni=1α∗iyixi ,又因为一定存在αi>0 (若均等于0,则w∗=0 不是原始问题可行解),则对于αi>0 ,有yi(w⋅xi+b)−1=0 ,则b∗=yi−w⋅xi=yi−∑Nj=1α∗jyj(xi⋅xj) 。
因此得到了分离超平面∑Ni=1α∗iyi(x⋅xi)+b∗=0 ,相应的分类器为f(x)=sign(∑Ni=1α∗iyi(x⋅xi)+b∗) 。
也就是说,之前对于未知样本首先根据w和b做一次线性运算,然后看求的结果是大于0还是小于0,来判断正例还是负例。现在通过αi ,我们不需要求出w,只需将未知样本和训练数据中的所有样本做内积和即可。另外,我们从KKT条件中得到,只有支持向量的αi>0 ,其他情况αi=0 。因此,我们只需求未知样本和支持向量的内积然后运算即可。
0 0
- 支持向量机(2)
- 支持向量机(2)-应用
- 支持向量机之线性支持向量机(三)
- 支持向量机之非线性支持向量机(四)
- 支持向量机(SVM)、支持向量回归(SVR)
- 支持向量机(SVM)、支持向量回归(SVR)
- 支持向量机(SVM)、支持向量回归(SVR)
- 支持向量机(SVM)、支持向量回归(SVR)
- 支持向量机(SVM)、支持向量回归(SVR)
- 支持向量机(SVM)、支持向量回归(SVR)
- 支持向量机(SVM)、支持向量回归(SVR)
- 支持向量机(SVM)、支持向量回归(SVR)
- 支持向量机(SVM)、支持向量回归(SVR)
- 支持向量机学习2
- 支持向量机SVM(2)
- 支持向量机(SVM)
- SVM(支持向量机)
- 支持向量机(SVM)
- 读入bmp格式图像文件
- Linux进程间通信——使用信号量
- Unicode字符列表(超完整)
- Tomcat server.xml配置示例
- 数据结构-Java实现-简单回文
- 支持向量机(2)
- 素数筛【模板】
- js函数 Number()、parseInt()、parseFloat()的区别:
- viewDidAppear什么时候调用?
- OpenJudge_P4976 硬币(DP+数论+容斥原理)
- Tomcat设置默认启动项目及Java Web工程设置默认启动页面
- IOS开发音频播放之AVaudioplayer
- poj 2909
- 语言差别