最小二乘支持向量机(LSSVM)简述

来源:互联网 发布:小米4能用移动4g网络吗 编辑:程序博客网 时间:2024/05/19 18:39

最小二乘支持向量机简述

前言:偶然间看过July的《支持向量机通俗导论》,受益良多,出于兴趣又看了一些LSSVM(最小二乘支持向量机)的相关文献,在这儿随便贴一点。

正文:首先,关于支持向量机的基础知识可以戳[http://www.cnblogs.com/v-July-v/archive/2012/06/01/2539022.html],这篇《支持向量机通俗导论》已经把SVM的基本概念讲得很透彻了。

先说LSSVM分类,LSSVM和SVM的区别就在于,LSSVM把原方法的不等式约束变为等式约束,从而大大方便了Lagrange乘子alpha的求解,原问题是QP问题,而在LSSVM中则是一个解线性方程组的问题。

对于SVM问题,约束条件是不等式约束:

minw,b,ξJ(w,ξ)s.t.yk[wTφ(xk)+b]ξk=12wTw+ck=1Nξk1ξk,   k=1,,N0,k=1,,N

对于LSSVM,原问题变为等式约束:
minw,b,eJ(w,e)s.t.yk[wTφ(xk)+b]=12wTw+12γk=1Ne2k=1ek,   k=1,,N

原SVM问题中的 ξ 是一个松弛变量,它的意义在于在支持向量中引入离群点。而对于LSSVM的等式约束,等式右侧的 e 和SVM的 ξ 的意义是类似的,最后的优化目标中也包含了 e 。我个人理解成:在LSSVM中,所有的训练点均为支持向量,而误差 e 是我们的优化目标之一。

另外,在LSSVM中 γ 和SVM中 c 的意义是一样的,一个权重,用于平衡寻找最优超平面和偏差量最小。

接下来,和SVM类似,采用 Lagrange 乘数法把原问题转化为对单一参数,也就是 α 的求极大值问题。新问题如下:

L(w,b,e;α)=J(w,e)k=1Nαk{yk[wTφ(xk)+b]1+ek}

分别对 wbekαk 求导=0,有:

LωLbLekLαk=0w=k=1Nαkykφ(xk)=0k=1Nαkyk=0=0αk=γek,   k=1,...,N=0yk[wTφ(xk)+b]1+ek=0,   k=1,...,N

接下来,根据这四个条件可以列出一个关于 αb 的线性方程组:
[0yyTΩ+I/y][bα]=[01v]

其中 Ω 被称作核矩阵:

Ωkl=ykylφ(xk)Tφ(xl)=ykylK(xk,xl),   k,l=1,...,N

解上述方程组可以得到一组 αb

最后得到LSSVM分类表达式:

y(x)=sign[k=1NαkykK(x,xk)+b]

那么对比SVM,LSSVM的预测能力究竟怎么样呢,简单说来,由于是解线性方程组,LSSVM的求解显然更快,但标准基本形式的LSSVM的预测精准度比SVM稍差一些。

接下来说回归。
如果说分类是用一个超平面将两组数据分开的话,个人理解LSSVM回归就是用一个超平面对已知数据进行拟合,问题如下:

minw,b,eJ(w,e)s.t.yk=12wTw+12γk=1Ne2k=wTφ(xk)+b+ek,   k=1,,N

这里的 yk 不再是表明类别的标签,而是我们需要估计函数中 y=f(x) 中的 y ,同样的,首先采用 Lagrange 乘数法:

L(w,b,e;α)=J(w,e)k=1Nαk{wTφ(xk)b+ekyk}

进一步推导:

LωLbLekLαk=0w=k=1Nαkφ(xk)=0k=1Nαk=0=0αk=γek,   k=1,...,N=0wTφ(xk)+b+ekyk=0,   k=1,...,N

最后化为解下列线性方程组:
[01v1TvΩ+I/y][bα]=[0y]

有核矩阵如下:
Ωkl=φ(xk)Tφ(xl)=K(xk,xl),   k,l=1,...,N

解上述方程组得到LSSVM回归函数:
y(x)=k=1NαkK(x,xk)+b

0 0
原创粉丝点击