SVM(支持向量机)(Support Vector Machines)
解决问题:分类 回归
SVM分类问题目标:寻找区分两类的超平面(hyper plane),使边际(margin)最大
推导
转化为凸优化问题
5凸优化问题
#广义拉格朗日乘子法
#Karush-Kuhn-Tucker最优化条件(KKT条件)
拉格朗日乘子法的一种推广,可以处理有不等号的约束条件
#进一步简化为对偶问题
#进一步简化
#进一步简化
#求解α*可以采用SMO算法
6以上都是基于线性可分的情况,当SVM为线性不可分的时候(可能是噪声)
7松弛变量与惩罚函数
#线性不可分情况下的对偶问题
【注】这里的xiyi 不是下面的点,而是标签
#SVM的例子
#使用SVM解决非线性的情况
8把低维空间的非线性问题映射到高维空间,变成求解线性问题
#3维输入向量:X=(x1,x2,x3 )转换到6维空间Z中去:
Φ1X=x1 , Φ2X=x2 ,Φ3X=x3 ,Φ4X=x12 ,Φ5X=x1x2 ,Φ6X=x1x3
新的决策超平面:d(Z)=WZ+b,其中W和Z是向量,这个超平面是线性的,解出W和b之后,带回原方程
dZ=w1x1+w2x2+w3x3+w4x12+w5x1x2+w6x1x3+b
dZ=w1z1+w2z2+w3z3+w4z4+w5z5+w6x6+b
#存在的问题
#引入核函数
通过构造核函数使得运算结果等同于非线性映射,同时运算量要远远小于非线性映射
#核函数例子
#SVM的优点
SVR
看这篇博客