基于离散Hopfield神经网络的数字识别实现_第1页
基于离散Hopfield神经网络的数字识别实现_第2页
基于离散Hopfield神经网络的数字识别实现_第3页
基于离散Hopfield神经网络的数字识别实现_第4页
基于离散Hopfield神经网络的数字识别实现_第5页
已阅读5页,还剩3页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于离散Hopfield神经网络的数字识别实现学 院:电子与控制工程学院姓 名: 学 号:2016.4基于离散Hopfield神经网络的数字识别实现一 离散Hopfield神经网络概述Hopfield 网络作为一种全连接型的神经网络,曾经为人工神经网络的发展开辟了新的研究途径。它利用与阶层性神经网络不同的结构特征和学习方法,模拟生物神经网络的记忆机理,获得了令人满意的结果。这一网络及学习算法最初是由美国物理学家J.J Hopfield 于1982 年首先提出的,故称为Hopfield神经网络1。Hopfield 最早提出的网络是二值神经网络,神经元的输出值只取1或-1,所以,也称离散Hopfi

2、eld神经网络(DHNN,Discrete Hopfield Neural Network)。在离散Hopfield 网络中,所采用的神经元是二值神经元,因此,所输出的离散值1 和-1分别表示神经元处于激活和抑制状态2。DHNN是一种单层、输出为二值的反馈网络。假设有一个由三个神经元组成的离散Hopfield神经网络,其结构如图1所示。图1 离散Hopfield 神经网络结构在图1中,第0 层仅仅作为网络的输入,它不是实际神经元,所以无计算功能;第1 层是神经元,执行对输入信息与权系数的乘积求累加和,并经非线性函数f 处理后产生输出信息。f 是一个简单的阈值函数,如果神经元的输出信息大于阈值,

3、那么,神经元的输出取值为1;小于阈值,则神经元的输出取值为-1。对于二值神经元,它的计算公式如下:式中,xj为外部输入,并且有一个DHNN的网络状态是输出神经元信息的集合。对于一个输出层是n个神经元的网络,其t时刻的状态为一个n维变量:因为可以取值为1或-1,故n维向量Y(t)有种状态,即网络有种状态。我们考虑DHNN 的一般节点状态。用yj(t)表示第j 个神经元,即节点j 在时刻t 的状态,则节点的下一个时刻(t+1)的状态可以求得:如果在i-j时等于0,说明一个神经元的输出并不会反馈到其输入,这时,DHNN 称为无自反馈的网络。如果wij在i=j 时不等于0,说明一个神经元的输出会反馈到

4、其输入端,这时,DHNN为有自反馈的网络。二 基于Hopfield神经网络的数字识别根据Hopfield 神经网络相关知识,下面设计一个具有联想记忆功能的离散型Hopfield 神经网络,要求该网络可以正确识别1、2这两个个数字,并且当数字被一定的噪声干扰后,仍具有较好的识别效果。2.1 设计思路假设网络由1、2共2个稳态构成,每个稳态用10*10 的矩阵表示。该矩阵可直观地描述阿拉伯数字,即把矩阵规分成10*10个单元,有数字轨迹的单元用1表示,空白部分用-1表示,如图2所示。网络对这2个稳态即2个数字(点阵)具有联想记忆的功能,当有带噪声的数字点阵输入到该网络时,网络的输出便可以得到最接近

5、的目标向量(即2个稳态),从而达到正确识别的效果。图2 数字1和2的点阵2.2 设计步骤 按照上述思路,设计Hopfield 网络需要经过以下几个步骤,如图3所示。图3 Hopfield 网络设计流程图2.3 matlab实现利用MATLAB提供的函数,可以按照Hopfield 网络设计流程图将设计步骤一一在MATLAB 环境下实现。2.3.1 输入输出设计如图2所示,有数字的部分用1表示,空白部分用-1表示,即可得到1、2的点阵。将数字点阵以图形的形式呈现出来,如图4所示。图4 数字点阵1、2的实现结果利用这两个数字点阵构成训练样本T:T = array_one;array_two;2.3.

6、2 网络建立利用newhop( )函数可以方便地创建一个离散型Hopfield神经网络:net = newhop(T);2.3.3 产生噪声的数字点阵常见的模拟产生带噪声数字的方法有两种:固定噪声法和随机噪声法。固定噪声法指的是人工修改的方法改变数字点阵某些位置值,从而模拟产生带噪声的数字点阵。如果希望产生不同的带噪声的数字矩阵,需要人工做多次的修改,这无疑是比较麻烦的。随机噪声产生法是利用产生随机数的方法来确定需要修改的点阵位置,进而对数字点阵进行修改。由于数字点阵中的值只有1和-1 两种,所以这里的修改就是将1换成-1,-1换成1。2.3.4 网络仿真利用sim()函数可对神经网络进行仿真

7、。3 实验结果将带噪声的数字点阵输入已创建好的Hopfield 网络,便可对带噪声的数字点阵进行识别,识别结果仍为数字点阵形式。实验结果如图5所示图5 数字识别结果实验程序如下:% Hopfield神经网络数字识别clear allclcload data1 array_oneload data2 array_two T = array_one;array_two; net = newhop(T); load data1_noisy noisy_array_oneload data2_noisy noisy_array_two % 产生随机噪声 noisy_array_one=array_on

8、e; noisy_array_two=array_two; for i = 1:100 a = rand; if a 0.1 noisy_array_one(i) = -array_one(i); noisy_array_two(i) = -array_two(i); end endnoisy_one = (noisy_array_one); identify_one = sim(net,10,10,noisy_one);identify_one10;noisy_two = (noisy_array_two);identify_two = sim(net,10,10,noisy_two);id

9、entify_two10;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_a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论