神经网络模型与hopfield网运行规则
最近开了软计算的课,课程本身要求将涉及算法编程实现,就将本课程内容在这里做一个记录。
神经元的模型
计算来自其他神经元的带权重的输入之和:对神经元1的输入和 = w12*神经元2的输出+ w13*神经元3的输出+ … + w1n*神经元n的输出
=∑w1ixi, i=2…n;wij--神经元 j 与神经元 i的连接权重;xi—-神经元 i 的输出
输入之和通过非线性函数f(.)变成输出该非线性函数的存在,是神经网络能力的源泉f(.)大多具有饱和特性,即函数的值限制在某范围内
hopfield网络运行规则
从网中随机选取一个神经元i 求所选中的神经元i的所有输入加权和: Hi = ∑jwijxj-θi ,j=1…n, j≠i 计算i 的第 t+1 时刻的输出值:IF Hi(t)≥0, xi(t+1)= 1
Hi(t)<0, xi(t+1)= -1
i以外,所有神经元输出保持不变:xj(t+1)= xj(t),j=1,2,…n,j≠i
返回到第1)步,直到进入稳定状态
反馈网络的一个重要特点是具有稳定状态:
无论再怎么更新下去,网络各神经元的输出状态不再改变,就是稳定状态:
xi (t+1) = xi (t) = Sgn ( Hi), i=1…n
Hopfield网络能量函数
能量=系数*某物理量*某物理量,E = - 0.5∑i∑jwijxixj + ∑iθixi
将上述规则用代码实现如下
运行结果如下
初始状态下,输出值为1 1 -1 -1 -1
第1次迭代后,输出值为1 -1 -1 -1 -1 能量值为1
第2次迭代后,输出值为1 -1 -1 1 -1 能量值为-1
第3次迭代后,输出值为1 -1 -1 1 -1 能量值为-1
第4次迭代后,输出值为1 -1 -1 1 -1 能量值为-1
第5次迭代后,输出值为1 -1 -1 1 -1 能量值为-1
第6次迭代后,输出值为1 -1 -1 1 -1 能量值为-1
第7次迭代后,输出值为1 -1 -1 1 -1 能量值为-1
第8次迭代后,输出值为1 -1 -1 1 -1 能量值为-1
第9次迭代后,输出值为1 -1 -1 1 -1 能量值为-1
第10次迭代后,输出值为1 -1 -1 1 -1 能量值为-1
第11次迭代后,输出值为1 -1 -1 1 -1 能量值为-1
第12次迭代后,输出值为1 -1 -1 1 -1 能量值为-1
第13次迭代后,输出值为1 -1 -1 1 -1 能量值为-1
第14次迭代后,输出值为-1 -1 -1 1 -1 能量值为-33
第15次迭代后,输出值为-1 -1 -1 1 -1 能量值为-33
第16次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第17次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第18次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第19次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第20次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第21次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第22次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第23次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第24次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第25次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第26次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第27次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第28次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第29次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第30次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第31次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第32次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第33次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第34次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第35次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第36次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第37次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第38次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第39次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
第40次迭代后,输出值为-1 -1 -1 -1 -1 能量值为-63
可以看出,hopfield网络运行规则中,神经元最终会到达一个稳定状态,能量持续减弱,最终到达一个极值。