初学三种神经网络(前馈,竞争,递归联想存储网络)
本人菜鸟,由于兴趣学习神经网络,本人能力有限,难免会出错,如有大大路过,望指出,学习内容出自《神经网络设计》,译者:戴葵
当水果通过这些传感器后,它可以用一个三维变量表示,分别表示外形,质地,质量,输入向量如下表示:
现有问题
1.感知机
现在希望选择适当的偏置值b和权值矩阵元素w来区分两种水果,设水果为香蕉时,输出1,菠萝输出-1,根据,输入个数为3,所以维数为3,由于输入向量第一个是不能判断的,因此第一个维数设置为0,为了使香蕉和菠萝的wp+b(权值乘以输入+偏置值)差距拉大,我们设置第二个维数为1,第三个维数为-1。因此权值为[0 1 -1],输入输出函数用matlab的hardlim函数(硬极限函数),函数输入图如下
p1
输出a=handlim( [ p2 ]*[0 1 -1]+0)
p3
-1
测试实例,输入香蕉,则a=handlim( [ 1 ]*[0 1 -1])=handlim(2)=1。
-1
而菠萝=handlim(-2)=-1.
若是有一个不规则水果输入,实际效果会根据相对水果的标准向量,如菠萝为[-1 -1 1],如距离(根据欧基米德距离)接近菠萝,则归为菠萝,反则亦然
2.Hamming网络
Hamming网络用于判断哪个标准向量最接近于输入向量,如输入([ 1 1 1 ]T),判断是接近[-1 1 -1]香蕉还是[-1 -1 1]菠萝。
最后判定结果由最后的输出判断,每个标准向量对应于递归层的一个向量,输出里面非零的神经元即是输入向量更接近于哪个标准向量。
1.前馈层
用于实现每个标准模式和输入模式之间的相关检测和内积。可以用标准模式设置其权值矩阵的行,前馈层使用线性传输,对于菠萝香蕉实例来说,有:
输出a1=w1p+b1.
p1T -1 1 -1 3
w1=[ p2T ]=[-1 -1 1],权值w1是由两个水果标准模式组成的,神经元素个数为R,因此b1取值为[3],为了防止输出为负数。
先设输入为[-1 1 -1](香蕉)。
-1 1 -1 -1 3 6
因此输出a1=[-1 -1 -1]*[ 1 ]+[ 3 ]=[ 4 ]
-1
2.反馈层