LMSE-HK算法

H-K算法即通過最小均方誤差求解最優權向量的過程,相較感知器算法固定增量的迭代,H-K算法可以在模式線性不可分的情況下停止迭代。那麼代價呢就是需要計算高維逆矩陣,?進行分析。

對於給定的N個n維模式,如果數據線性可分,則必存在w(n+1維)使得下列成立:

將屬於ω2的模式乘以(-1),可得對於全部模式都有W^{T}x>0的條件。

設兩類模式的訓練樣本總數爲N,寫成增廣形式,則有不等式組:

Xw0一定成立

其中0是零向量!

那麼H-K算法就是求解W^{T}x=b  成立的最小w,其中b爲大於0的N維列向量。因爲W^{T}x是一個超定方程,故方程沒有唯一解,H-K算法的目的就是使用最小二乘法求解w的最小值。

採用梯度法,定義準則函數:

求的損失函數對w與b的偏導:

可得

這裏X#稱爲X的僞逆,即只要求得b,就能解出w的值。

根據上述約束條件,在每次迭代中,b(k)的全部分量只能是正值。由J的準則函數式,J也是正值,因此,當取校正增量C爲正值時,爲保證每次迭代中的b(k)都是正值,應使偏導數爲非正值。在此條件下,準則函數J的微分爲:

滿足如下條件:

由b的迭代式和微分,有:

 

 

將此式代入w=X#b,有:

令e(k) = X*w(k) – b(k)。

H-K算法的迭代過程如下:

設置初值b(1),所有分量均爲正數,則:

w(1) = X#*b(1)

e(k) = X*w(k) – b(k)

w(k+1) = w(k) + X#*{C[Xw(k) – b(k) + |Xw(k) – b(k)|]}

          = w(k) + CX#[e(k) + |e(k)|]

其中

X#e(k) = X#[Xw(k) – b(k)] = (XTX)-1XT[Xw(k) – b(k)]

          = w(k) –X#b(k) = 0

 

因此

w(k+1) = w(k) + CX#|e(k)|

b(k+1) = b(k) + C[Xw(k) – b(k) + |Xw(k) – b(k)|]

          = b(k) + C[e(k) + |e(k)|]

解答過程:

若e(k)>0,存在解,可以繼續迭代逼近最優解。

若e(k)=0,得到最優解。

若e(k)全部分量全爲0,無解

若e有的分量大於0,有的分量小於0 ,則在各分量都變成零,或者停止由負值轉變成正值時,停止。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章