在学习NG的课程里,他提到了感知机算法,大体内容如下:
其实感知器学习算法,就是利用介绍的单层感知器。首先利用给的正确数据,计算得到输出值,将输出值和正确的值相比,由此来调整每一个输出端上的权值。
首先 是一个“学习参数”,一般我将它设置成小于1的正数。T便是训练数据中的正确结果,便是第i个输入端的输入值,便是第i个输入端上面的权值。
学习规则是用来计算新的权值矩阵W及新的偏差B的算法。感知器利用其学习规则来调整网络的权值,以便使该网络对输人矢量的响应达到数值为0或1的目标输出。
对于输入矢量P,输出矢量A,目标矢量为T的感知器网络,感知器的学习规则是根据以下输出矢量可能出现的几种情况来进行参数调整的。
1) 如果第i个神经元的输出是正确的,即有:ai=ti,那么与第i个神经元联接的权值wij和偏差值bi保持不变;
2)如果第i个神经元的输出是0,但期望输出为1,即有ai=0,而ti=1,此时权值修正算法为:新的权值wij为旧的权值wij加上输人矢量pj;类似的,新的偏差bi为旧偏差bi加上它的输入1;
3) 如果第i个神经元的输出为1,但期望输出为0,即有ai=1,而ti=0,此时权值修正算法为:新的权值wij等于旧的权值wij减去输入矢量pj;类似的,新的偏差bi为旧偏差bi减去1。
由上面分析可以看出感知器学习规则的实质为:权值的变化量等于正负输入矢量。
更多网站:
http://blog.csdn.net/sp_programmer/article/details/40383973
http://blog.csdn.net/lch614730/article/details/17225063
http://blog.csdn.net/stan1989/article/details/8565499