听浙大机器学习记录
支持向量机
定义
支持向量机是一个最大化margin(间隔)的方法
将平行线插到的向量叫支持向量(support vectors) 用在小样本有关,因为只跟支持向量有关。
定义:
1.训练数据及标签 (x1,y1),…,(xn,yn) yi=1/-1 标签 xi向量
2.线性模型:(w,b)
先限定一个模型(函数),这里是超平面,留待定参数,用数据确定参数
3.线性可分定义
支持向量机优化问题
最小化: ||w||2
限制条件 subject to yi(wxi+b)>=1
只要满足线性可分,那么一定可以求出w,b
二次规划(Quadratic Programming)
凸优化问题就是一个已经解决的问题,唯一极值,试探的方法
处理非线性
1)加一个正则项regulation term:原因有二:1.原来无解,加了之后就有解了
2.有解,但那个解不是我们想要的,解出来之后函数变得凹凸不平或者性质不是我们想要的
c是一个事前设定的参数
试的参数比较少,所有svm比较好
2)SVM并不是像决策树这样在低维找曲线,是通过高维映射找直线把它分开
在无限维的情况下去做区分,那么这个概率将会变成1
3) 如何选取映射?
用核函数K做优化问题,这里涉及到优化理论
优化理论 原问题与对偶问题
原问题(prime problem)
最小化 f(w)
限制条件:gi(w)<=0 (i=1-k) hi(w)=0(i=1-k)
对偶问题(dual problem)
1.拉格朗日函数定义 L(w,a,b)=f(w)+aTg(w)+bTh(w)
2.对偶问题定义:
最大化:H(a,b)=inf{L(w,a,b)}
限制条件 a>=0
定理:如果w是原问题的解,而a,b是对偶问题的解,则有f(w)>=H(a,b)
强对偶定理 KTT条件