SVM支持向量机详解 (4)

fw2.gif

乘以一个正数后与之前优化问题是等效的,新的目标函数与约束条件合成一个函数L(ω,b,α):

拉格朗日2.png

L(ω,b,α)称为拉格朗日函数,由于yi(ωTxi+b)-1>=0,αi≥0,在可行区内恒有L(ω,b,α)<=f(ω),如有常数ω*,b*,α*满足下面关系:

L(ω*,b*,α)<=L(ω*,b*,α*)<=L(ω,b,α*)  ⑥

称ω*,b*,α*是L(ω,b,α)函数的鞍点,此时ω*,b*是原问题的最优解。观察⑥式,L(ω*,b*,α)是仅含有参数α的函数,产生这个函数的过程是:ω,b分别取不同的值,代入L(ω,b,α)后得到一系列参数为α的函数簇Φ,当ω=ω*,b=b*时,函数L(ω*,b*,α)是函数簇Φ中下界函数,图像上看,L(ω*,b*,α)在函数簇Φ所有函数的下方,L(ω*,b*,α)函数可用θ(α)=inf{L(ω,b,α)}表示,inf意为取得函数簇Φ的下界,当α=α*时,函数θ(α)有最大值,即L(ω*,b*,α)<=L(ω*,b*,α*);而α取不同值代入L(ω,b)后得到一系列参数为ω,b的函数簇Ψ,L(ω,b,α*)代表函数簇Ψ的上界函数,公式表示:φ(ω,b)=L(ω,b,α*)=sup{L(α)},当ω=ω*,b=b*时φ(ω,b)有最小值L(ω*,b*,α*)。

⑥式不等式形式称为弱对偶条件,当取等号时,L(ω*,b*,α*)是θ(α)函数最大值,同时也是φ(ω,b)函数最小值,此时为强对偶条件。SVM默认是满足强对偶条件的,满足强对偶条件时,max{θ(α)}=L(ω*,b*,α*)=min{f(ω)} ,也称下面的⑦与⑤是拉格朗日对偶问题:

max : θ(α)=inf{L(ω,b,α)}        

s.t. α>=0     ⑦

上面过程没有给出鞍点就是K-T点证明、强对偶成立的条件,可参考相关资料详细研究,拉格朗日函数鞍点示意图如下:

鞍点.png

上图中红色虚线代表ω,b分别取不同的值,代入L(ω,b,α)后得到一系列参数为α的函数簇Φ,绿色点代表函数簇Φ中每个函数最大值;绿色虚线为α取不同值代入L(ω,b,α)后得到一系列参数为ω,b的函数簇Ψ,红色点代表函数簇Ψ中每个函数最小值。显然函数簇Φ中下界函数θ(α)的最大值、函数簇Ψ上界函数φ(ω,b)的最小值,两点重合,该点为拉格朗日鞍点。

求⑦最大值时首选要知道函数θ(α)的具体形式,已经知道,θ(α)是函数簇Φ的下界函数,函数簇Φ是把L(ω,b,α)中α视为符号常量、ω,b视为变量,那么求L(ω,b)最小值时,求导等于0时,ω,b都将是α函数,将ω,b代入L(ω,b,α)中即可得到θ(α)。

求导1.png

我.png

                                 (7.1)

求导二.png

                    (7.2)

(7.1)代入拉格朗日函数L(ω,b,α)可得:

代入.png

由于,所以上式可化为:

θ(α)=

theta.png

 ⑧

求 max:θ(α)即可得到SVM的最优解,⑧是一个二次凸优化问题,求解⑧通用办法是利用SMO算法。

3.1.2 SMO算法

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzjjdd.html