Perceptron Algorithm 感知器算法及其实现

 Rosenblatt于1958年发布的感知器算法,算是机器学习鼻祖级别的算法。其算法着眼于最简单的情况,即使用单个神经元、单层网络进行监督学习(目标结果已知),并且输入数据线性可分。我们可以用该算法来解决and 和 or的问题。


在讨论神经元的数学模型时,我们将单个神经元抽象为下图的信号流图形式。输入向量为x,权重向量为w,w0一路为bias,这里不再赘述。

 
 
而本文算讲的算法,其解决的实际问题是,在知道输入向量x,和输出向量y的情况下,求解感知器的权重向量w以及bias。在几何上,我们可以理解为,我们有确定的n个点(x,y坐标确定),根据不断调整w的值,来求取一个超平面(Hyperplane)或称决策边界(Decision Boundary),将这n个点分隔成2组。

因为在输入向量与权重向量内积运算后,induced local field的值为:
 
Rosenblatt's <wbr>Perceptron <wbr>Algorithm <wbr>感知器算法及其实现
而在其进入activation function时,很明显0是一个很重要的阈值,也即是输出值的分界点。
 
所以,我们要解决的问题也就可以等同于求出如下等式的一个解:
如果将bias单独拿出,则改写为:
 
之前一直不理解bias存在于神经网络中的意义,直到在《Neural networks and deep learning》被醍醐灌顶。其实bias类似于阈值门槛的大小,阈值就是-w0*bias。而在Western读书的同学,也有能够一击领悟到其意义的,让我也是有些艳羡。
posted @ 2017-04-04 21:02  Junfei_Wang  阅读(1353)  评论(0编辑  收藏  举报