《神经网络导论》实验二-双向联想记忆 (1)Word下载.docx

上传人:聆听****声音 文档编号:472036 上传时间:2023-04-29 格式:DOCX 页数:6 大小:22.06KB
下载 相关 举报
《神经网络导论》实验二-双向联想记忆 (1)Word下载.docx_第1页
第1页 / 共6页
《神经网络导论》实验二-双向联想记忆 (1)Word下载.docx_第2页
第2页 / 共6页
《神经网络导论》实验二-双向联想记忆 (1)Word下载.docx_第3页
第3页 / 共6页
《神经网络导论》实验二-双向联想记忆 (1)Word下载.docx_第4页
第4页 / 共6页
《神经网络导论》实验二-双向联想记忆 (1)Word下载.docx_第5页
第5页 / 共6页
《神经网络导论》实验二-双向联想记忆 (1)Word下载.docx_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《神经网络导论》实验二-双向联想记忆 (1)Word下载.docx

《《神经网络导论》实验二-双向联想记忆 (1)Word下载.docx》由会员分享,可在线阅读,更多相关《《神经网络导论》实验二-双向联想记忆 (1)Word下载.docx(6页珍藏版)》请在冰点文库上搜索。

《神经网络导论》实验二-双向联想记忆 (1)Word下载.docx

EA,B=-12ATWB-12BTWTA=-ATWB

三、实验内容及步骤

2、连接权值W=

422-20-20-240

200-420202-2

200020-2-422

-2-4002020-2-2

0222-4-20200

-2000-2024-2-2

02-2202-4-204

-20-4024-20-22

0-22-20-2420-4

0-2220-20-200

2400-20-2022

02-2-2020200

稳定状态能量值:

E=-158-142-158-146

3、验证网络的联想能力

对B2采用W进行迭代直到稳定求得的A‘2与原A2相同。

对A3采用W进行迭代直到稳定求得的B‘3与原B3相同。

4、验证网络抗噪能力

取A1畸变度为3,观察10次输出,显示能量

correct:

1andenergy:

-82-158

-90-158

0andenergy:

-98-146

-106-158

-98-158

-98-158-158-158

5、噪声大小对联想能力的影响

分别对A取反1到3位数各验证300次:

thedegreeofaccuracyfromA1toA4:

1bit2bits3bits

1.00000.97330.8400

1.00000.95670.8067

0.91000.76000.5633

1.00000.88330.5767

分别对B取反1到3位数验证100次:

thedegreeofaccuracyfromB1toB4:

1.00000.70000.3200

0.82000.72000.3500

0.94000.55000.1600

0.76000.64000.1600

四、实验思考题

1、在实验步骤4中观察网络能量E是如何变化的?

根据网络机理说明原因。

从步骤4中可以看出,网络能量E随迭代的次数而减小。

这是因为双向联想网络是Hopfield网络的一种,网络总是朝着能量函数E减小的方向运动,且达到稳态时,E取极小值。

2、如果我们想要“擦除”存储矢量中的某对(Ai,Bi),应如何调整网络?

双向联想记忆网络特性主要体现在权值W上,如果想要“擦除”存储矢量中的某对(Ai,Bi),取:

W'

=W-Ai∙BiT

3、通过总结第5步和第6步的实验结果,得出什么结论?

简要解释其中的原因。

随着矢量位取反的位数增多,噪声增大,网络联想正确率剧烈下降,说明网络恢复的记忆力是有限的。

这种二进制的存储映射是一对一的,容差性差。

五、实验结论

对于Kosko型其次双向联想记忆网络:

1随着时间的推移,网络在状态空间中总是朝着能量函数减小的方向移动,当网络达到稳定时,能量取得极小值。

2随着网络噪声的增大,网络联想正确率下降,同时说明网络恢复的记忆力是有限的。

六、MATLAB源程序

clear;

clc

disp('

实验步骤2显示连接权矩阵及能量值'

);

A=[A1A2A3A4];

B=[B1B2B3B4];

W=zeros(15,10);

fors=1:

4

W=W+A(:

s)*B(:

s)'

;

end

W

E=zeros(4,1);

%E=diag(-A'

*W*B);

E(s)=-A(:

*W*B(:

s);

E

clearEs

实验步骤3验证网络联想能力'

1chooseB2totest'

B2_fo=B2;

B2_la=1;

A2_fo=2;

A2_la=3;

while~isequal(A2_fo,A2_la)||~isequal(B2_fo,B2_la)

A2_fo=hardlims(W*B2_fo);

B2_la=hardlims(W'

*A2_fo);

A2_la=hardlims(W*B2_la);

B2_fo=hardlims(W'

*A2_la);

correctornot:

'

disp(isequal(A2,A2_la)&

&

isequal(B2,B2_la))

clearB2_foB2_laA2_foA2_la

2chooseA3totest'

A3_fo=A3;

A3_la=1;

B3_fo=2;

B3_la=3;

while~(isequal(A3_fo,A3_la)&

isequal(B3_fo,B3_la))

B3_fo=hardlims(W'

*A3_fo);

A3_la=hardlims(W*B3_fo);

B3_la=hardlims(W'

*A3_la);

A3_fo=hardlims(W*B3_la);

disp(isequal(A3,A3_la)&

isequal(B3,B3_la))

clearB3_foB3_laA3_foA3_la

实验步骤4验证网络的抗噪能力'

取A1畸变度为3,观察10次输出,显示能量'

forqbx=1:

10

A1_zs=A1.*(1-2*randerr(1,15,3)'

A1_fo=A1_zs;

Ezs=[];

A1_la=1;

B1_fo=2;

B1_la=3;

while~(isequal(A1_fo,A1_la)&

isequal(B1_fo,B1_la))

B1_fo=hardlims(W'

*A1_fo);

ezs=-A1_fo'

*W*B1_fo;

Ezs=[Ezs,ezs];

A1_la=hardlims(W*B1_fo);

B1_la=hardlims(W'

*A1_la);

ezs=-A1_la'

*W*B1_la;

A1_fo=hardlims(W*B1_la);

state3=isequal(A1,A1_la)&

isequal(B1,B1_la);

disp([strcat('

'

num2str(state3),'

andenergy:

),num2str(Ezs)]);

clearB1_foB1_laA1_foA1_lastate3ezsEzsA1_zs

实验步骤5噪声大小对联想能力的影响'

分别对A取反1到3位数各验证300次'

times=[300300300];

%循环次数向量

forqbx123=1:

3%取反1到3位数%分别取出times各项

state4=0;

%验证正确与否的状态矩阵,用0和1表示

forqbxa=1:

4%分别取出A的每一列,即A1到A4进行操作

forqbx=1:

times(qbx123)%循环次数

A_zs=A(:

qbxa).*(1-2*randerr(1,15,qbx123)'

%随机位取反

A_fo=A_zs;

%输入矢量Ai

A_la=3;

B_fo=1;

B_la=2;

%声明迭代过程矢量

while~(isequal(A_fo,A_la)&

isequal(B_fo,B_la))%Ai和Bi迭代后状态稳定了吗

B_fo=hardlims(W'

*A_fo);

A_la=hardlims(W*B_fo);

B_la=hardlims(W'

*A_la);

A_fo=hardlims(W*B_la);

state4(qbxa,qbx)=isequal(A(:

qbxa),A_la)&

isequal(B(:

qbxa),B_la);

end

disp(strcat('

whenthedegreeofdistortionis'

num2str(qbx123),'

thecorrectionsofA'

num2str(qbxa),'

:

));

tabulate(state4(qbxa,:

))

acout=state4(qbxa,:

A_C(qbxa,qbx123)=length(acout(acout==1))/times(qbx123);

end

%disp(strcat('

thestatematrixare'

%disp(state4)

实验步骤6噪声大小对联想能力的影响'

分别对B取反1到3位数验证100次'

times=[100100100];

4%分别取出B的每一列,即B1到B4进行操作

B_zs=B(:

qbxa).*(1-2*randerr(1,10,qbx123)'

B_fo=B_zs;

B_la=3;

A_fo=1;

A_la=2;

A_fo=hardlims(W*B_fo);

A_la=hardlims(W*B_la);

thecorrectionsofB'

B_C(qbxa,qbx123)=length(acout(acout==1))/times(qbx123);

1bit2bits3bits'

disp(A_C)

disp(B_C)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 天文地理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2