购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

5.2 Hopfield神经网络的MATLAB函数

1.newhop

该函数用于创建自回归Hopfield网络,其调用格式为:

net=newhop(T)

其中,

T:唯一的输入变量,它是包含Q个变量的R×Q的输入自变量矩阵,R为输入变量的维数。T中的所有元素值必须为+1或-1。

net:返回值,它的稳定点在T中的列向量上。

2.sim

该函数的功能为仿真一个神经网络,其调用格式为:

[Y,Pf,Af,E,perf] = sim(net,{Q TS},Pi,Ai,T)

其中,

net:神经网络(参考图5-1)。

Q:初始层延迟的变量数,即神经网络第0层输入量Ai的列数。

TS:仿真的迭代次数。

Pi:初始输入延迟,由于Hopfield神经网络没有输入(或者说第1层没有输入),所以这一项为空,即输入{}。

Ai:初始层延迟(即第0层输入,见图5-1),Hopfiled神经网络的初始层延迟为受污染的向量。

T:神经网络的目标向量。其中由于Hopfield神经网络也没有输出,所以这一项不填,或者填{}。

Y:神经网络的输出。

Pf:最终的输入延迟。

Af:最终的层延迟。

E:神经网络的误差。

perf:神经网络的性能。

这里举一例来说明Hopfield神经网络的使用方法。

创建一个新的Hopfield神经网络,输入矩阵T包含三个稳定点。

T的两个点都作为神经网络的初始层延迟,检查这两个点是否均为稳定点,即将这两个点作为输入,如果输出Y与T相等,则说明这两个点都是稳定点。由于Hopfield神经网络没有输入,所以第二个仿真变量Q=2,即T的列数(变量数)。

输出为:

与T一致,即T的两个点均为稳定点。

检查神经网络能否有效地修正受污染的向量,可执行如下代码,即将Hopfield神经网络仿真5次,因为Hopfield神经网络没有输入,因此第二个栅元数组仿真变量{Q TS} = [1 5],Q表示变量的列数,TS表示迭代的次数。

输出结果为:

可见,Y{1}与T的第一列一致,即神经网络已将受污染的向量Ai转换为离它最近的目标变量。 FfTMyGmoSEMHptAm87J53Bd6qG1C+Pk2THV7UNwLXwIK9Hvg4c912rNeLZ7+gpj1

点击中间区域
呼出菜单
上一章
目录
下一章
×