这是我参与11月更文挑战的第6天
支持向量机(SVM)是再生希尔伯特空间(RKHS)最广为人知的应用之一,假设存在数据对(xi,yi)i=1n,yi的值为1或-1决定了点xi所属的类别。SVM假设存在一个超平面在对这两个分类进行最优分割。
β,β0min21∣∣β∣∣2+Ci=1∑nξisubject to ξi≥0,yi(xiTβ+β0)≥1−ξi,∀i
有时候两个分类很难在Rn空间中分离,因此需要将xi映射到一个易于将两个分类分离的高维特征空间中(即核方法)。原来的问题转化为:
β,β0min21∣∣β∣∣2+Ci=1∑nξisubject to ξi≥0,yi(Φ(xi)Tβ+β0)≥1−ξi,∀i
用拉格朗日乘子法求最小值,得到:
Lp=21∣∣β∣∣2+Ci=1∑nξi−i=1∑nαi[yi(Φ(xi)Tβ+β0)−(1−ξi)]−i=1∑nμiξi
求极值,即令∂β∂Lp=0,得到:
β=i=1∑nαiyiΦ(xi)
从上式中可以发现β可以由多个xi的线性组合来表达,用其替代β得到新的优化问题,目标函数转变为:
21∣∣i=1∑nαiyiΦ(xi)∣∣2+Ci=1∑nξi
上述式转化为xi和xj的内积:
21<i=1∑nαiyiΦ(xi),j=1∑nαjyjΦ(xj)>+Ci=1∑nξi=21i=1∑nj=1∑nαiyiαjyj<Φ(xi),Φ(xj)>+Ci=1∑nξi
将函数内积转换成核函数表达:
21i=1∑nj=1∑nαiyiαjyjK(xi,xj)+Ci=1∑nξi
限制可以改写为:
yi[Φ(xi)T(j=1∑nαjyjΦ(xj))+β0]=yi[(j=1∑nαjyj<Φ(xi),Φ(xj)>)+β0]=yi[(j=1∑nαjyjK(xi,xj))+β0]≥1−ξi,∀i
现在要做的就是找到一个核函数并求解α,β0,ξi,并不需要真正地构造一个向量空间,对于一个新的未知分类的数据x,可以将其分类使用下面的方法预测(sign:取正负值):
y^=sign[Φ(x)Tβ+β0]=sign[Φ(x)T(i=1∑nαiyiΦ(xi))+β0]=sign(i=1∑nαiyi<Φ(x),Φ(xi)>+β0)=sign(i=1∑nαiyiK(x,xi)+β0)