资源简介
利用hopfield神经网络来识别数字0-9
代码片段和文件信息
%数字0-9的标准点阵
zero=load(‘zero.txt‘);
one=load(‘one.txt‘);
two=load(‘two.txt‘);
three=load(‘three.txt‘);
four=load(‘four.txt‘);
five=load(‘five.txt‘);
six=load(‘six.txt‘);
seven=load(‘seven.txt‘);
eight=load(‘eight.txt‘);
nine=load(‘nine.txt‘);
%训练样本(目标向量)
T=[zero(:)one(:)two(:)three(:)four(:)five(:)six(:)seven(:)eight(:)nine(:)];
%输出数字0-9
figure
for ii=0:9
subplot(25ii+1);
imshow(reshape(T(:ii+1)1010));
title([‘ 当前数字:‘ num2str(ii)])
end
%数字带噪声数字点阵(固定法)
noise_matrix=load(‘noise_matrix.txt‘);
%数字带噪声数字点阵(随机法)
%noise_matrix=zero;
%for i=1:100
% a=rand;
% if a<0.1
% noise_matrix(i)=-zero(i);
%end
%end
figure
subplot(231)
imshow(noise_matrix);
title(‘带噪声的样本‘);
%关于hopfield网络的创建和仿真,参数形式参见Matlab的帮助
net=newhop(T);%创建hopfield网络,根据标准样本开始训练学习
No22=sim(net{15}{}{noise_matrix(:)});%仿真5次,只有一个样本noise_matrix
for ii=1:5
subplot(231+ii)
imshow(reshape(No22{ii}1010));
title([‘第‘ num2str(ii) ‘仿真结果‘])
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 618 2010-06-09 15:27 新建文件夹 (2)\six.txt
文件 618 2010-06-09 15:11 新建文件夹 (2)\three.txt
文件 620 2010-06-09 15:18 新建文件夹 (2)\two.txt
文件 621 2010-06-09 21:21 新建文件夹 (2)\two_noise.txt
文件 618 2010-06-09 22:08 新建文件夹 (2)\zero.txt
文件 618 2010-06-09 15:35 新建文件夹 (2)\eight.txt
文件 620 2010-06-09 15:24 新建文件夹 (2)\five.txt
文件 618 2010-06-09 15:16 新建文件夹 (2)\four.txt
文件 618 2010-06-09 21:21 新建文件夹 (2)\nine.txt
文件 625 2010-06-10 09:37 新建文件夹 (2)\noise_matrix.txt
文件 270 2009-05-16 19:31 新建文件夹 (2)\one.txt
文件 618 2010-06-09 18:45 新建文件夹 (2)\seven.txt
文件 1119 2010-06-10 17:46 新建文件夹 (2)\hopfield.m
目录 0 2010-06-10 22:43 新建文件夹 (2)
----------- --------- ---------- ----- ----
8201 14
- 上一篇:EBGMPCA等四种不同的人脸识别算法
- 下一篇:erase_all_pin.jlk
评论
共有 条评论