永发信息网

什么是H-K算法

答案:1  悬赏:70  手机版
解决时间 2021-03-08 16:46
什么是H-K算法
最佳答案
其实HK算法思想很朴实,就是在最小均方误差准则下求得权矢量.
他相对于感知器算法的优点在于,他适用于线性可分和非线性可分得情况,对于线性可分的情况,给出最优权矢量,对于非线性可分得情况,能够判别出来,以退出迭代过程.
2.在程序编制过程中,我所受的最大困扰是:关于收敛条件的判决.
对于误差矢量:e=x*w-b
若e>0 则继续迭代
若e=0 则停止迭代,得到权矢量
若e〈0 则停止迭代,样本是非线性可分得,
若e有的分量大于0,有的分量小于0 ,则在各分量都变成零,或者停止由负值转变成正值时,停机.
3.在程序编制中的注意点:
1)关于0的判断,由于计算机的精度原因,严格等于零是很不容易的,而且在很多情况下也没有必要,则只要在0的一个可以接受的delta域内就可接受为零
2)关于判断,迭代前后,变量是否发生变化
在判断时,显然也不能直接判断a(i)==a(i+1)
而应该|a(i)-a(i+1)|〈err
4.HK详细代码如下:
unction [w,flag]=HK(data)
Iteration=20;
flag=0;
% [n,p]=size(data);
n=size(data,1);
b=ones(n,1)./10;
c=0.6;
xx=inv(data'*data)*data';
w=xx*b;
e=data*w-b;
t=0;
while (1)
temp=min(e);
temp1=max(e);
if temp>-1e-4 && temp1e-3
deltab=e+abs(e);
b=b+c.*deltab;
w=w+c.*xx*deltab;
e=data*w-b;
else
if temp>=0 && temp1

H-K算法是求解Xw=b,式中b=( b1, b2, …, bn)T,b的所有分量都是正值。这里要同时计算w和b,我们已知X不是N*N的方阵,通常是行多于列的N*(n+1)阶的长方阵,属于超定方程,因此一般情况下,Xw=b没有唯一确定解,但可求其线性最小二乘解。
设Xw=b的线性最小二乘解为w*,即使||Xw*-b||=极小 采用梯度法,定义准则函数:
)bXw()bXw(2
1bXw21)bxw(21)b,x,w(JT2
n1i2iiT
当Xw=b的条件满足时,J达到最小值。由于上式中包括的
n
1
i2iiT
)bxw
(项为两个数量方差的和,且我们将使其最小化,因此也
称之为最小均方误差算法。
使函数J同时对变量w和b求最小。对于w的梯度为:
)bXw(Xw
J
T 使0w
J
,得XT(Xw-b)=0,从而XTXw=XTb。因为XTX为(n+1)*(n+1)阶方阵,因此可求得解:
w = (XTX)-1XTb = X#b
这里X#= (XTX)-1XT称为X的伪逆,X是N*(n+1)阶的长方阵。
由上式可知,只要求出b即可求得w。利用梯度法可求得b的迭代公式为:
)
k(bbbJC)k(b)1k(b

根据上述约束条件,在每次迭代中,b(k)的全部分量只能是正值。由J的准则函数式,J也是正值,因此,当取校正增量C为正值时,为保证每次迭代中的b(k)都是正值,应使)
k(bbbJ

为非正值。在此条件下,准则函数J的微分为:
|bXw|)bXw(bJ2)
k(bb

该式满足以下条件:
若[Xw(k) – b(k)] > 0,则)k(b)k(XwbJ)
k(bb

 若[Xw(k) – b(k)] < 0,则0bJ)
k(bb 由b的迭代式和微分,有:
b(k+1) = b(k) +δb(k)
δb(k) = C[Xw(k) – b(k) + | Xw(k) – b(k)|]
将此式代入w=X#b,有:
w(k+1) = X#b(k+1) = X#[b(k) +δb(k)] = w(k) + X#δb(k)
为简化起见,令e(k) = Xw(k) – b(k),可得H-K算法的迭代式。
设初值为b(1),其每一分量均为正值,则:
w(1) = X#b(1) e(k) = Xw(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)|]
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么champion现在这么火
求hp同人文,哈利波特,也就是救世主是女生,
已知奇函数f(x)是定义在(-3,3)上的减函数,且
闫庙村怎么去啊,有知道地址的么
材料一 公元前3世纪中叶以前,罗马法律的适用
电子血压计到底准不准?家用的和医用的相比,
!!!!!毕业户口迁回原籍落户问题!!!求
名鑫·洞庭林语我想知道这个在什么地方
为什么测量频率低的方波信号不能用交流直接耦
民间借贷一万元利息多少合适
x十3x十[(100一x)一3]=100等于多少
游戏加加有什么用
我有张99版100元人民币六位黑数字全是同号
给哈士奇配种40天也看不出怀孕现在也不吃饭天
美拍里的视频分享到微信朋友圈后再删除,那朋
推荐资讯
剑网三英雄战宝迦兰风火云怎么打
"世界上没有什么可以取代'坚持'才
古琴好还是古筝好
丈夫总跟我找茬是要离婚但有时还行
武汉特色包地址在什么地方,想过去办事
想染个头发的颜色??亚麻、红棕色、栗色那个
逆战突然卡顿
一个女孩对一个男孩说“我想要你”是啥意思?
关于大型公共建筑设计的论述,下列哪条不妥?
康有为打出“孔圣人”的招牌宣传维新变法,其
河北辛集哪个乡镇耕地面积最大
有收养仓鼠的吗??
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?