Perceptron
什么是感知机
感知机是一种二元线性分类模型,旨在寻找一个超平面(在二维空间中即为一条直线),将不同类别的实例划分到不同的区域。感知机的训练过程包括迭代地对样本进行分类,并根据分类错误的情况调整超平面的参数,使得分类准确率逐步提高。感知机是基础的机器学习算法之一,其思想和方法对神经网络等更复杂的模型也具有启发意义。
详细原理
-
输入向量:感知机的输入向量是一个n维向量,表示一个样本的各个特征值。
-
权值向量:感知机的权值向量也是一个n维向量,表示每个特征对应的权重。
-
偏置项:偏置项是一个常数,可看作是模型的截距,用于调整阈值函数的位置。
-
内积运算:感知机将输入向量和权值向量进行内积运算,并加上偏置项,得到输入信号。
-
阈值函数:将输入信号带入阈值函数,如符号函数,即可得到分类结果。
-
损失函数: 感知机使用误分类点到超平面的距离来作为损失函数,即
其中是样本的真实标签,是预测值。
-
参数更新:根据当前样本误分类情况来对权值向量和偏置项进行迭代更新。
-
收敛条件:当全部训练样本被正确分类或达到最大迭代次数时,感知机算法停止迭代。
感知机训练流程伪代码如下所示:
initialize w = 0 and b = 0
repeat
if yi * zi <= 0 then
w = w + yi * xi and b = b + yi
end if
until all classified correctly