您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > MATLAB30个案例分析案例9-Hopfield神经网络的联想记忆
%%Hopfield神经网络的联想记忆——数字识别%%%%清空环境变量clcclear%%数据导入loaddata1array_oneloaddata2array_two%%训练样本(目标向量)T=[array_one;array_two]';%%创建网络net=newhop(T);%%数字1和2的带噪声数字点阵(固定法)loaddata1_noisynoisy_array_oneloaddata2_noisynoisy_array_two%%数字1和2的带噪声数字点阵(随机法)%noisy_array_one=array_one;%noisy_array_two=array_two;%fori=1:100%a=rand;%ifa0.3%noisy_array_one(i)=-array_one(i);%noisy_array_two(i)=-array_two(i);%end%end%%数字识别%identify_one=sim(net,10,[],noisy_array_one');noisy_one={(noisy_array_one)'};identify_one=sim(net,{10,10},{},noisy_one);identify_one{10}';noisy_two={(noisy_array_two)'};identify_two=sim(net,{10,10},{},noisy_two);identify_two{10}';%%结果显示Array_one=imresize(array_one,20);subplot(3,2,1)imshow(Array_one)title('标准(数字1)')Array_two=imresize(array_two,20);subplot(3,2,2)imshow(Array_two)title('标准(数字2)')subplot(3,2,3)Noisy_array_one=imresize(noisy_array_one,20);imshow(Noisy_array_one)title('噪声(数字1)')subplot(3,2,4)Noisy_array_two=imresize(noisy_array_two,20);imshow(Noisy_array_two)title('噪声(数字2)')subplot(3,2,5)imshow(imresize(identify_one{10}',20))title('识别(数字1)')subplot(3,2,6)imshow(imresize(identify_two{10}',20))title('识别(数字2)')%%清除环境变量clearallclc%%导入记忆模式loaddata1.matT=array_one;%%外积法计算权系数矩阵[m,n]=size(T);w=zeros(m);fori=1:nw=w+T(:,i)*T(:,i)'-eye(m);end%%导入待记忆模式noisy_array=T;fori=1:100a=rand;ifa0noisy_array(i)=-T(i);endend%%迭代计算v0=noisy_array;v=zeros(m,n);fork=1:5fori=1:mv(i,:)=sign(w(i,:)*v0);endv0=v;end%%绘图subplot(3,1,1)t=imresize(T,20);imshow(t)title('标准')subplot(3,1,2)Noisy_array=imresize(noisy_array,20);imshow(Noisy_array)title('噪声')subplot(3,1,3)V=imresize(v,20);imshow(V)title('识别')
本文标题:MATLAB30个案例分析案例9-Hopfield神经网络的联想记忆
链接地址:https://www.777doc.com/doc-6306336 .html