基于Hopfiel神经网络识别0~9.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Hopfiel神经网络识别0~9

基于Hopfield神经网络的数字识别 原理简介: Hopfield网络是有反馈的全互联型网络,其形式如图2所示,N为神经元的数目,V表示神经元的输入向量,U表示输出向量,W为神经元之间的权值。离散Hopfield网络中每个神经元的输出只能取“1”或“-1”两种状态,各神经元的状态可用向量V表示:V={v1,v2 ,…vn}。网络中各神经元彼此互相连接,即每个神经元将自己的输出通过连接权传给其它神经元,同时每个神经元接受其它神经元传来的信息。 图2 有反馈的全互联型网络 Hopfield网络的稳定性是由能量函数来描述的,即对网络的每个状态发生变化时,能量函数E随网络状态变化而严格单调递减,这样Hopfield模型的稳定与能量函数E在状态空间的局部极小点将一一对应。 设有N个神经元构成的Hopfield网络,其中第i个和第j个神经元节点状态分别记为vi和vj;w是神经元i和j的连接权,为神经元i的阈值。节点的能量可表示为: Ei=-()v 则整个Hopfield网络整体能量函数定义为: E=- 设有N个神经元构成的Hopfield神经网络,第i个神经元在t时刻所接收的来自其它N-1个神经元输入信号的总和记为ui(t),t+1时刻第i个神经元的输出值vi(t+1)是符号函数作用于ui(t)的某个阈值 时,该神经元将触发成兴奋状态。据此可知Hopfield网络的运行规则为: 在网络中随机地选择一个神经元; 求所选神经元i(1iN)的输入总和 ui(t)= ; 根据ui(t)的值大小,更新神经元的状态 if (ui(t))0 then vi(t+1)=1 else vi(t+1)=0; 神经元i以外的神经元j的状态不变化; 转向(1),直到网络达到稳定。 Hopfield网络作为记忆的学习时,稳定状态是给定的,通过网络的学习求适合的权矩阵W(对称阵),学习完成后以计算的方式进行联想。对给定的M个模式,Hopfield网络可按Hebb规则来进行学习。 按上述规则求出权矩阵后,可认为网络已经将这M个模式存入到网络的连接权中。 问题描述: 设计一个Hopfield网络,使其具有联想记忆功能,能正确识别阿拉伯数字,当数字被噪声污染后仍可以正确地识别。 程序: %数字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(2,5,ii+1); imshow(reshape(T(:,ii+1),10,10)); title([ 当前数字: num2str(ii)]) end %数字带噪声数字点阵(固定法) noise_matrix=load(noise_matrix.txt); %数字带噪声数字点阵(随机法) %noise_matrix=zero; %for i=1:100 % a=rand; % if a0.1 % noise_matrix(i)=-zero(i); %end %end figure subplot(2,3,1) imshow(noise_matrix); title(带噪声的样本); %关于hopfield网络的创建和仿真,参数形式参见Matlab的帮助 net=newhop(T);%创建hopfield网络,根据标准样本开始训练学习 No22=sim(net,{1,5},{},{noise_matrix(:)});%仿真5次,只有一个样本noise_matrix for ii=1:5 subplot(2,3,1+ii) imshow(reshape(No22{ii},10,10)); title([第 num2str(ii) 仿真结果]) end 实验结果: 标准数字点阵 随机噪声的数字识别:(以带随机噪声的0为例) 固定噪声的数字识别:(以被污染的2为例) 结果分析: 本文对被污染的数字0-9都进行了实验,无论是带随机噪声还是固定噪声,训练过的Ho

文档评论(0)

whemm + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档