加入收藏
大学数学, 研究生数学,大学数学资料下载,免费 大学数学课件,研究生数学课件,免费下载
Hopfield 神经网络的MATLAB实现
2013-11-18 06:52:13

一、简介 

     Hopfield网络是神经网络发展历史上的一个重要的里程碑。由美国加州理工学院物理学家J.J.Hopfield教授于1982年提出,是一种单层反馈神经网络。Hopfield网络是一种由非线性元件构成的反馈系统,其稳定状态的分析比前向神经网络要复杂得多。1984年,Hopfield设计并研制了网络模型的电路,并成功地解决了旅行商(TSP)计算难题(优化问题)。Hopfield网络分为离散型和连续型两种网络模型,分别记作DHNN (Discrete Hopfield Neural Network) 和CHNN (Continues Hopfield Neural Network) 。

二、MATLAB中Hopfield网络的重要函数和功能


(1) newhop( )

功能  生成一个Hopfield回归网络。

格式  net = newhop(T)

说明  net为生成的神经网络,具有在T中的向量上稳定的点;T是具有Q个目标向量的R*Q矩阵(元素必须为-1或1)。Hopfield神经网络经常被应用于模式的联想记忆中。Hopfield神经网络仅有一层,其激活函数用satlins( )函数,层中的神经元有来自它自身的连接权和阈值。


(2) satlins( )



功能  对称饱和线性传递函数

格式  A = satlins(N)

A输出向量矩阵;N是由网络的输入向量组成的S*Q矩阵,返回的矩阵A与N的维数大小一致,A的元素取值位于区间[0,1]内。当N中的元素介于-1和1之间时,其输出等于输入;当输入值小于-1时返回-1;当输入值大于1时返回1。

三、实例  

设印刷体数字由10  10点阵构成,就是将数字分成很多小方块,每个方块就对应数字的一部分,构成数字本部分的方块用1表示,空白处用-1表示。试设计一个Hopfield网络,能够正确识别印刷体的数字。


%数字1的点阵表示

one=[-1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1  -1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1];

%数字2的点阵表示

two=[1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 -1 -1];

%设定网络的目标向量

T=[one;two]';

%创建一个Hopfield神经网络

net=newhop(T);




%给定一个受噪声污染的数字2的点阵,所谓噪声是指数字点阵中某些本应为1的方块变成了-1

no2={[1 1 1 -1 1 1 -1 1 -1 -1  1 1 1 1 1 1 1 1 -1 -1  -1 1 -1 1 -1 -1 1 1 -1 -1 -1 -1 1 -1 1 -1 1 1 -1 -1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 -1 -1  1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 1 1 1 1 -1 -1 1 1 -1 1 1 1 1 1 -1 -1]'};

%对网络进行仿真,网络的仿真步数为5

tu2 =sim(net,{1,5},{},no2)

%输出仿真结果向量矩阵中的第3列向量,并将其转置

tu2{3}’   %输出由新的输入产生的结果

可以用mse函数检验新的结果tu2{3}'和two的差别

Mse(two-tu2{3}')

ans =0


由结果可以看出所得到的点阵与数字2的正常点阵是一致的,表明网络可以从受到污染的数字2的点阵中识别出数字2,证明网络是有效的。

该实例来自网络,笔者进行了验证和整理,希望对大家有用。


 




赞一个(242) | 阅读(7843)
上一篇:matlab中BP神经网络的使用方法
下一篇:SQL SERVER2005使用决策树挖掘实例
 

胡桃木屋版权所有@2013 湘ICP备13006789号-1