1957年,美国学者Frank Rossenblatt(弗兰克·罗森布拉特)提出了感知器(感知机)算法。感知器用来接收多个信号,输出一个信号(由多个神经元组成)。每个输入信号具有一定的权重,计算多个输入信号的值与权重的乘积和,根据该结果(和)与指定的阈值进行比较,来决定该神经元是否被激活。
根据感知器的定义可知,感知器可以实现二分类的任务。感知器的计算方式如下Z=W_1X_1+W_2X_2+…+W_nX_n+W_0=∑_n_i=1▒W_iX_i+W_0=WX+W_0
其中,Z称为净输入(Net Input)。然而,这样的计算结果是一个连续的值,我们需要将结果转换为离散的分类值,因此,这里,我们使用一个转换函数,该函数称为激励函数(激活函数)。
激活函数: sgn(Z)={█(1 Z≥θ@−1 Z<θ)┤ ,这里的θ就是阈值。
感知机的学习规则非常简单,对于训练样本(x, y),若当前感知机的预测输出为y ̂,则感知机的权值将这样调整,其中η∈(0,1)表示学习率:
我们每次仅仅需要使用一个误分类点来更新梯度。
更新原则:如果预测准确,则权重不进行更新,否则,更新权重,使其更趋向于正确的类别。