MATLAB神经网络编程(九)——Hopfield网络

《MATLAB神经网络编程》 化学工业出版社 读书笔记
第六章反馈型神经网络 6.1 Hopfield网络

本文是《MATLAB神经网络编程》书籍的阅读笔记,其中涉及的源码、公式、原理都来自此书,若有不理解之处请参阅原书



前馈神经网络与反馈神经网络

根据神经网络运行过程中的信息流向,可将神经网络分为前馈式和反馈式两种基本类型。前馈网络即通过引入隐层以及非线性转移函数,网络具有复杂的非线性映射能力。但前馈网络的输出仅仅由当前输入和权值矩阵决定,而与网络先前的输出状态无关。
在前馈网络中,不论是离散型还是连续型,一般均不考虑输出与输入之间在时间上的滞后性,而只表达两者之间的映射关系。但在Hopfield网络中,考虑了输出与输入之间延迟因素,因此,需要用微分方程或者差分方程来描述网络的动态数学模型。

神经网络的学习方式有3种类型其中,有导师学习方式(有监督学习)和无导师学习(无监督学习)方式在前面章节均有涉及。第三类学习方式是“灌输式”即网络的权值不是经过反复学习获得的,而是按照一定规则事先计算出来的。Hopfield神经网络就是采用了这种学习方式,其权值一经确定就不在改变,而网络中各个神经元的状态在运行过程中不断更新,网络由演变到稳定时各神经元的状态是问题之解。

本章主要介绍的就是反馈型神经网络,也称为递归网络或者回归网络。与前面学习过的感知器、线性神经网络、或径向神经外等前向型神经网络不同在于,反馈神经网络的输入包含有延迟的输入或者输出数据的反馈。由于是有反馈的输入,所以它是一种反馈动力学习系统。这种系统的学习过程就是他的神经元状态的变化过程,这个过程最终会达到一个神经元状态不变的稳定态,同时标志着学习过程结束。反馈神经网络的这种动态学习特性,主要由网络的反馈形式决定。反馈网络的反馈形式是比较多样化的,有输入延迟的、单层输出反馈的、神经网络自反馈的、两层之间互相反馈等。

6.1 Hopfield网络

Hopfield神经网络模型是一种循环神经网络,从输出奥输入由反馈连接。Hopfield网络分为两种:

  • 离散型Hopfield网络
  • 连续型Hopfield网络

由于反馈神经网络的输出端又反馈到其输入端,所以,Hopfield网络在输入的激励下,会产生不断的状态变化。当在输入之后,可以求出Hopfield的输出,这个输出反馈到输入端从而产生新的输出,这个反馈过程一直反复进行。如果Hopfield网络是一个具有收敛的稳定网络,则这个反馈与迭代的计算过程所产生的变化越来越小,一旦到达了稳定的平衡状态,Hopfield网络就会输出一个稳定的恒值。对于一个Hopfield网络来说,关键在于确定它在稳定条件下的权系数。

注意,反馈网络有稳定的,也有不稳定的。对于Hopfield网络来说,还存在如何判断它是稳定的、或者不稳定的问题。而判断的依据是什么,也是需要确定的。

6.1.1 离散Hopfield网络

Hopfield最早提出的网络是二值神经网络,神经元的输出只取1和0,所以也称为离散Hopfield神经网络(Discrete Hopfield Neural Network,DHNN)。在DHNN中,所采用的神经元是二值神经元;因此,所输出的离散值1和0分别表示神经元处于激活和抑制状态。

1,网络结构

DHNN是一种单层的、其输入/输出为二值的反馈网络。假设一个由三个神经元组成的离散Hopfield神经网络,其结构如下:

1

上图中,第0层仅仅是作为网络的输入,它不是实际神经元,所以无计算功能;第一层是神经元,故而执行对输入信息和权系数乘积求累加和,并经非线性函数f处理之后产生输出信息。f是一个简单的阈值函数,如果神经元的输出信息大于阈值θ,那么,神经元的输出取值为1,;小于阈值θ,则神经元的输出取值为0。
对于二值神经元它的计算公式:
2

上式中,xj是外部输入。

注意上面公式中没有偏移矩阵b,xj充当了偏移矩阵的功能,虽然它是外部输入。这是与感知器、线性神经网络极大的区别

并且有:

3

一个DHNN的网络状态是输出神经元信息的集合。对于一个输出层是n个神经元的网络,其t时刻的状态为一个n维向量:

4

因为yi(t)(i=1,2,···,n)可以取值为1或0,故n维向量Y(t)有2^n种状态,即网络有2^n种状态。
对于有三个神经元的DHNN,它的输出层就是三位二进制数;每一个三位二进制数就是一种网络状态,共有2^3=8个网络状态,这些网络状态如图所示:
5

在上图中,立方体的每一个顶点表示一种网络状态。同理,对于n个神经元的输出层,有2^n中网络状态,也和一个n维超立方体的顶角相对应。

如果Hopfield网络是一个稳定网络,如在网络的输入端加入一个输入向量,则网络的状态会产生变化,即从超立方体的一个顶角转向另一个顶角,并且最终稳定于一个特定的顶角。
对于一个n个神经元组成的DHNN,有n*n权系数矩阵W:
6

同时,有n维阈值向量θ:

7

一般而言,W和θ可以确定一个唯一的DHNN。对于上面所说的三个神经元组成的Hopfield网络,也可以改用下图的图形表示,这两个图形的意义是一样的:

8

9

2,网络的工作方式

DHNN有两种不同的工作方式。

(1)串行(异步)方式

在时刻t时,只有某一个神经元j的状态发生变化,而其他n-1个神经元的状态不变,这里称为串行工作方式。并且有:
10

(2)并行(同步)方式

在任一时刻t,所有的神经元的状态都产生了变化,则称为并行工作方式。并且有:
11

3,网络的稳定性

对于一个反馈网络来说稳定性是一个重大的性能指标。
假设一个DHNN,其状态为Y(t):
12
如果对于任何Δt>0,当神经网络从t=0开始,有初始状态Y(0)。经过有限时刻t,有:
Y(t+Δt)=Y(t)
则认为网络是稳定的。串行方式下的稳定性称为串行稳定性;并行方式下的稳定性称为并行稳定性神经网络稳定时,其状态称为稳定状态。

从DHNN可以看出,它是一种多输入、含有阈值的二值非线性动态系统。在动态系统中,平衡稳定状态可以理解为系统某种形式的能量函数在系统运行过程中,其能量不断减少,最后处于最小值。

关于稳定性的含义以及Hopfield网络的能量函数问题,实在是太复杂了,而且我也看不懂,所以就不写了,有兴趣的可以去看看书。——by SnowNight

Hopfield网络稳定的充分条件如果Hopfield网络的权系数矩阵W是一个对称矩阵,并且对角线元素为0,则这个网络是稳定的。即在权系数矩阵W中,如果:

13
则Hopfield网络是稳定的。

注意:上述是充分条件,仅仅是充分条件,实际上很多稳定的Hopfield网络的权值系数矩阵W都不是对称的。——by BADaPPLE

因此,无自反馈的权系数对称Hopfield网络是稳定的网络,其结构图如下:
14

15

4,联想记忆功能

Hopfield网络的一个重要功能是可以用于联想记忆,即联想存储器,这是人类的智能特点之一。

关于联想记忆功能后面会有单独文章分析——by NIGHTwISH


6.1.2 连续Hopfield网络

1,网络结构

连续Hopfield神经网络(Continuous Hopfield Neural Network,CHNN)的拓扑结构与DHNN的结构相同。这种拓扑结构和生物神经系统中大量存在的神经反馈回路 是一致的。

2,网络稳定性

和DHNN一样,CHNN稳定条件也要求:
16
CHNN与DHNN不同之处在于其函数g不是阶跃函数,而是S型的连续函数。一般取:
17

CHNN在时间上是连续的,所以,网络中各个神经元是处于同步方式工作的。对于一个神经细胞,即神经元j,其内部膜电位状态用Uj表示,细胞膜输入电容是Cj,细胞膜的传递电阻是Rj,输出电压是Vj,外部输入电流用Ij表示,则CHNN可用下图电流图表示:
18

这是啥?初中物理?好像很眼熟的样子,上大学前我一定是看得懂的吧,现在反正只能做个样子了——by WHITEwISHES

对于连续Hopfield网络,Hopfield给出如下稳定性定理:

不好意思,公式太复杂了,我懒得贴上来了——by SOMEbODY

还是直接给出结论吧:当Hopfield网络的神经元传递函数g是连续且有界的(如Sigmoid函数),并且网络的权值系数矩阵对称,则这个连续Hopfield网络是稳定的。
在实际应用中,任何一个系统,如果其优化问题可以用能量函数E(t)作为目标函数,那么总可以用连续Hopfield网络对其进行求解。由于引入能量函数E(t),Hopfield神经网络和优化问题直接对应,这种工作是具有开拓性的。利用神经网络进行优化计算,就是在神经网络和一动态系统中给出初始的估计点,即初始条件,然后随网络在运动传递中找到相应的极小点。这样,大量优化问题都可以用连续的Hopfield网络来求解。这也是Hopfield网络用于神经计算的基本原因。

相关推荐
【目录】- MATLAB神经网络30个案例分析(开发实例系列图书) 第1章 BP神经网络的数据分类——语音特征信号分类1 本案例选取了民歌、古筝、摇滚和流行四类不同音乐,用BP神经网络实现对这四类音乐的有效分类。 第2章 BP神经网络的非线性系统建模——非线性函数拟合11 本章拟合的非线性函数为y=x21+x22。 第3章 遗传算法优化BP神经网络——非线性函数拟合21 根据遗传算法和BP神经网络理论,在MATLAB软件中编程实现基于遗传算法优化的BP神经网络非线性系统拟合算法。 第4章 神经网络遗传算法函数极值寻优——非线性函数极值寻优36 对于未知的非线性函数,仅通过函数的输入输出数据难以准确寻找函数极值。这类问题可以通过神经网络结合遗传算法求解,利用神经网络的非线性拟合能力和遗传算法的非线性寻优能力寻找函数极值。 第5章 基于BP_Adaboost的强分类器设计——公司财务预警建模45 BP_Adaboost模型即把BP神经网络作为弱分类器,反复训练BP神经网络预测样本输出,通过Adaboost算法得到多个BP神经网络弱分类器组成的强分类器。 第6章 PID神经元网络解耦控制算法——多变量系统控制54 根据PID神经元网络控制器原理,在MATLAB编程实现PID神经元网络控制多变量耦合系统。 第7章 RBF网络的回归——非线性函数回归的实现65 本例用RBF网络拟合未知函数,预先设定一个非线性函数,如式y=20+x21-10cos(2πx1)+x22-10cos(2πx2)所示,假定函数解析式不清楚的情况下,随机产生x1,x2和由这两个变量按上式得出的y。将x1,x2作为RBF网络的输入数据,将y作为RBF网络的输出数据,分别建立近似和精确RBF网络进行回归分析,并评价网络拟合效果。 第8章 GRNN的数据预测——基于广义回归神经网络的货运量预测73 根据货运量影响因素的分析,分别取国内生产总值(GDP),工业总产值,铁路运输线路长度,复线里程比重,公路运输线路长度,等级公路比重,铁路货车数量和民用载货汽车数量8项指标因素作为网络输入,以货运总量,铁路货运量和公路货运量3项指标因素作为网络输出,构建GRNN,由于训练数据较少,采取交叉验证方法训练GRNN神经网络,并用循环找出最佳的SPREAD。 第9章 离散Hopfield神经网络的联想记忆——数字识别81 根据Hopfield神经网络相关知识,设计一个具有联想记忆功能的离散型Hopfield神经网络。要求该网络可以正确地识别0~9这10个数字,当数字被一定的噪声干扰后,仍具有较好的识别效果。 第10章 离散Hopfield神经网络的分类——高校科研能力评价90 某机构对20所高校的科研能力进行了调研和评价,试根据调研结果中较为重要的11个评价指标的数据,并结合离散Hopfield神经网络的联想记忆能力,建立离散Hopfield高校科研能力评价模型。 第11章 连续Hopfield神经网络的优化——旅行商问题优化计算100 现对于一个城市数量为10的TSP问题,要求设计一个可以对其进行组合优化的连续型Hopfield神经网络模型,利用该模型可以快速地找到最优(或近似最优)的一条路线。 第12章 SVM的数据分类预测——意大利葡萄酒种类识别112 将这178个样本的50%做为训练集,另50%做为测试集,用训练集对SVM进行训练可以得到分类模型,再用得到的模型对测试集进行类别标签预测。 第13章 SVM的参数优化——如何更好的提升分类器的性能122 本章要解决的问题就是仅仅利用训练集找到分类的最佳参数,不但能够高准确率的预测训练集而且要合理的预测测试集,使得测试集的分类准确率也维持在一个较高水平,即使得得到的SVM分类器的学习能力和推广能力保持一个平衡,避免过学习和欠学习状况发生。 第14章 SVM的回归预测分析——上证指数开盘指数预测133 对上证指数从1990.12.20-2009.08.19每日的开盘数进行回归分析。 第15章 SVM的信息粒化时序回归预测——上证指数开盘指数变化趋势和变化空间预测141 在这个案例里面我们将利用SVM对进行模糊信息粒化后的上证每日的开盘指数进行变化趋势和变化空间的预测。 若您对此书内容有任何疑问,可以凭在线交流卡登录中文论坛与作者交流。 第16章 自组织竞争网络在模式分类中的应用——患者癌症发病预测153 本案例中给出了一个含有60个个体基因表达水平的样本。每个样本中测量了114个基因特征,其中前20个样本是癌症病人的基因表达水平的样本(其中还可能有子类), 中间的20个样本是正常人的基因表达信息样本, 余下的20个样本是待检测的样本(未知它们是否正常)。以下将设法找出癌症与正常样本在基因表达水平上的区
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页