【机器学习】求解过程快速又简单的最小二乘支持向量机LSSVM二分类

来源:互联网 发布:php读取access数据库 编辑:程序博客网 时间:2024/06/05 23:05

  最小二乘支持向量机(LSSVM)是一种简单的支持向量机(SVM)。普通的SVM的表达形式为

argminΦ(w)=12wTw+Ciξisubject to di(wTxi+b)(1ξi)0,ξi0
其中di是标准答案,取值为1和-1,xi是样本。

  LSSVM的表达形式为

argminΦ(w)=12wTw+12γie2isubject to di(wTxi+b)(1ei)=0
需要注意的是,这里的eiξi本质上是一回事,但是没有明确限定ei必须大于等于0。我们的约束条件是一个等式,如果(wTxi+b)>1,那么ei可以是负数,不过ei还是需要被约束的。

  传统SVM中,约束条件是不等式,离分离超平面近的元素向量是支持向量,强烈地影响分离平面的计算,离超平面远的向量影响比较小;因此如果分离集合之间的边界不清晰,会影响计算结果。

  而LSSVM中,约束条件是等式,因此,离分离超平面近和远的元素向量都会对分离平面的计算产生影响,分离平面不如传统SVM精准;而且一旦产生相当数量的大的离群点,会严重影响分离平面的计算。LSSVM的最终结果,近似于将两个分离集合的所有元素到分离平面的距离,都限定在1±ηη是可接受误差,通过限制ei逼近0来实现。LSSVM通过在对偶式中添加一个ei的平方来限制ei逼近0。

  求解LSSVM比SVM要简单的多。引入拉格朗日算子,有

J=12wTw+12γie2iiαi[di(wTxi+b)(1ei)]
依次求导得到:
Jw=wiαidixi=0w=iαidixi(1)
Jb=iαidi=0(2)
Jei=γeiαi=0(3)
Jαi=di(wTxi+b)(1ei)=0(4)
我们将w,b,e=[e1...en],α=[α1...αn]等向量看做整体,由(1)(3)令zi=dixi,Z=[z1...zn],D=[d1...dn]w=ZαT,e=γ1α,代入(4)得到:
ZαTzi+bdi+γ1αi=1(5)
由(2)(5)得到矩阵
[0DTDZTZ+γ1I][bαT]=[0I]
用基本的矩阵解法即可解出α,b。其中b是一个数字,因此与矩阵向量相乘的位置无所谓;ZTZ是根据矩阵组成形式来给出的;w通过(1)计算得到。

0 0
原创粉丝点击