MATLAB 离散Hopfield神经网络的联想记忆—数字识别

文章介绍了使用离散型Hopfield神经网络进行噪声字符,特别是数字识别的方法。在传统方法效果不佳的情况下,Hopfield网络因其联想记忆和快速优化计算的特点,能有效识别模糊或有干扰的数字图像。通过训练和仿真,验证了网络对噪声污染数字的识别功能。
摘要由CSDN通过智能技术生成

源码链接在文末


在日常生活中,经常会遇到带噪声字符的识别问题,如交通系统中汽车车号和汽车牌照,由于汽车在使用过程中,要经受自然环境的风吹日晒,造成字体模糊不清,难以辨认。

如何从这些残缺不全的字符中攫取完整的信息,是字符识别的关键问题。

作为字符识别的组成部分之一的数字识别在邮政、交通及商业票据管理方面有着极高的应用价值。

目前有很多种方法用于字符识别,主要分为神经网络识别、概率统计识别和模糊识别等。

传统的数字识别方法在有干扰的情况下不能很好地对数字进行识别,而离散型Hopfield神经网络具有联想记忆和优化计算的功能,并且计算的收敛速度很快。

利用它的这些特点对数字进行识别,并引入干扰,通过仿真实验证实设计的网络对有噪声污染的数字同样具有一定的识别功能。


Hopfield神经网络算法程序

%% Hopfield神经网络的联想记忆——数字识别
%% 清空环境变量
clc
clear
%% 数据导入
load data1 array_one
load data2 array_two

训练程序

%% 训练样本(目标向量)
T=[array_one;array_two]';
%% 创建网络
net=newhop(T);
%% 数字1和2的带噪声数字点阵(固定法)
load data1_noisy noisy_array_one
load data2_noisy noisy_array_two
%% 数字1和2的带噪声数字点阵(随机法)
% noisy_array_one=array_one;
% noisy_array_two=array_two;
%for i=1:100
%a=rand;
%if a<0.3
%noisy_array_one(i)=-array_one(i);
%noisy_array_two(i)=-array_two(i);
%end
%end

02

%% 数字识别
% 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}';

03

%% 结果显示
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)


仿真结果


源码链接:

 matlab源码离散Hopfield神经网络的联想记忆-数字识别.rar-Matlab文档类资源-CSDN文库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

HappyGirl快乐女孩

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

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

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

打赏作者

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

抵扣说明:

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

余额充值