基于Matlab平台利用Hopfield神经网络进行数字识别

Hopfield神经网络是用来重现其学习到的信息图案的系统,可以用来进行模拟人类记忆的研究。本次将讨论如何使用Hopfield神经网络来实现数字识别。Hopfield神经网络是一个由许多单元组成的单层网络,每个单元都互相连接着另一个单元,由于每个单元都采用二元系统,即用数字-1或1来表示单元的状态,所以本次建立了10x10的数字点阵,其中每一个元素用-1或1 来表示是否显示数字。

先建立10x10的矩阵,通过设置改变矩阵每一行-1和1的位置,可以建立不同的数字点阵。本次建立了数字3、6和9的数字矩阵,生成的数字点阵如图1所示。

图1.生成标准的数字点阵

建立好数字点阵后,开始建立噪声矩阵。本次采取了随机产生噪声的方法,利用MATLAB,噪声强度为0.1即10%,那么意味着原数字点阵中的元素有10%被替换了。添加噪声后的数字点阵如图2所示,数字形状呈现出不规则的变化,边缘模糊。

图2. 随机输入噪声后产生的新的数字点阵

利用MATLAB的newhop命令创建网络,将带噪声的点阵输入网络中,网络输出结果如图3所示。输出的结果为与噪声点阵结果最接近的目标向量,实现了联想记忆功能。与最开始建立的标准数字点阵相比,网络识别结果显然有差距。且由于数字3、6、9的结构相似,识别出的结果中,6和9的特征虽然较为相似,但是稍加观察,也能分辨出其中的不同。

图3. 对比标准数字点阵、噪声点阵以及识别输出的数字点阵(1)

重新运行程序后,由于随机产生的噪声变化了,输出的识别结果也产生了变化,如图4所示。在此次结果中,识别出来的结果相对来说比图3的结果更加模糊一点,体现了该网络的不稳定性。但是就其本身的噪声点阵与识别结果来看,网络识别复刻出的数字点阵精度体现出了数字的基本特征,且其恢复的效果也是比较可观的。

图4. 对比标准数字点阵、噪声点阵以及识别输出的数字点阵(2)

在进行数字3、6和9的识别后,本次也尝试进行了数字1和2的识别。在此次尝试中,噪声强度设置为0.3即30%,比数字3、6和9的噪声强度大20%,其噪声点阵也可以看出,辨认出数字的基本特征相对来说比3、6和9更加困难,然而其识别结果明显地表现出数字1和2的特征。

图5. 数字1、2的识别结果

当比较同一个数字网络识别多次产生的结果时,可以得出该系统不能稳定地产生识别结果的结论。通过对比数字3、6和9,以及1和2的识别结果情况,可以初步得出,当数字图像较为简单时,噪声强度较大地情况下也能输出较为清晰的识别结果。总地来说,利用Hopfield神经网络进行数字识别,可以运用到损坏文物古籍文字识别、交通系统汽车牌照识别、邮政系统编码识别等方面中。

 最后,有相关需求,欢迎通过微信公众号联系我们。

微信公众号:320科技工作室。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CAE320

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值