支持向量机(SVM) 凸优化与对偶问题求解
2022/2/6 23:42:46
本文主要是介绍支持向量机(SVM) 凸优化与对偶问题求解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、对偶问题的转化
先写出一个转化对偶问题的一般性结论
原问题:
转化为的对偶问题是:
其中a,b是根据原问题的限制条件产生的新的变量。
二、SVM模型问题转化
原问题:
即:
注意这里待求参数是w,xi,b。
转化为的对偶问题是:
注意这里实际只有a,b其实还是a只是为了区别不同的限制条件。
先求xita(a,b),分别对w,xi,b求偏导,再代回,得
这样的方程求解就比较容易了,书上说用SMO算法。得到所有的a;
大学课上编程实现的好像是梯度下降。。。
对于支持向量机的优化模型来说,原问题与对偶问题同解所以可以这么做,即minf(x)=max xita(a,b)。
三、对样本进行判别求解
1、按正常的逻辑来说,根据得到的a,可以带入求得w,b;从而得到超平面,可以带入判断yi是否大于0进行判别。计算方法如下,直接截图了,公式实在打不动了。
w:
b:
2、但考虑到用核函数时,具体的fa(x)时不知道的,只能得到fa(x1)*fa(x2)=K(x1,x2)这样的结果,所以我们计算不出来W,但可以通过计算w*x来规避这样的问题。
w:
四、总结
最后总结下SVM具体的流程,因为其中很多证明的步骤在运用时时不需要的,这样剩下的就不多了。
第一步:直接求解之前得到的对偶问题就行了 ,得到a。
第二步,计算得到超平面的偏移量b。
第三步,基于判别条件,带入y(wfa(x)+b)计算得到判别结果。
收官,公式实在太难打了。证明的部分有些我还不是特别理解就没写了,KKT条件那个略懂。
主要参考浙大机器学习那个。
这篇关于支持向量机(SVM) 凸优化与对偶问题求解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南