感知器分类算法

        感知器算法的适用条件为如下图所示的线性可划分的情况,即可用一条直线来将平面中的样本分为两类。


       感知器算法如同人类神经元的工作原理,由众多的分支神经传进电信号,然后经过对这些电信号加权求和,再依据激活函数来输出相应的信号。

      上图是单层神经网络的数据处理流程,各个分支神经输入的电信号和对应的权重分别采用X1,X2…Xm和W1,W2省略号表示,这里为了激活函数方便处理引入一个新的分支神经,并将其输入信号X0固定为1,权重W0固定为激活函数的阈值的相反数。所以对各分支神经的输入信号的处理变为


(其中θ为阈值)故从而激活函数可简化为


所有输入的加权和大于等于0即输出1,其它情况均输出-1。

在输出错误时,整个感知器要进行权重更新来使分类正确。这里假设样本的正确分类记为,感知器计算出的分类记为,权重更新的公式如下:


其中为第i个分支的权重需要改变的值,为一个[0,1]区间内的系数称为学习率,其具体的数值需要根据经验自行调整来让感知机效果更好。将加到原来的上即为第i条分支新的权重。在输出错误时,依次将所有权重都更新一遍,这里需要注意的是对于X0这条分支,其权重是阈值,因此阈值也是需要更新的。所有的权重更新完成后,再进行加权求和并将其值带入激活函数判断。这里是一个多次迭代的过程,直至能正确输出结果。

        注:本文仅属个人观点,如有不妥,还望读者私信纠正。


猜你喜欢

转载自blog.csdn.net/h870765483/article/details/80735256