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 ,则在各分量都变成零,或者停止由负值转变成正值时,停止。

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值