y=φ(∑ωixi+b)=φ(ωTX+b)
其中,ωT=(ω1,ω2,…,ωi)T,X=(x1,x2,…,xi)。

图片来源:中国慕课大学《机器学习概论》
1957年,弗兰克·罗森布拉特(Frank Rosenblatt)对MP模型产生了浓厚兴趣,从数学角度重新审视后,提出了一个关键想法——完全可以通过大量成对的输入输出数据,借助机器学习方法来自动求解ω和b。基于这一思路,他提出了著名的感知机算法(Perceptron Algorithm),该算法成为神经网络与深度学习的重要基础。
一、感知机的求解问题
问题定义非常清晰:假设有一个二分类问题的输入为(Xi,yi),i=1~N,其中Xi是训练样本,yi=±1。我们需要找到一个权重向量ω和一个偏置常数b,使得对于所有i=1~N,满足以下条件:
- 若yi=+1,则ωTXi+b>0;
- 若yi=-1,则ωTXi+b<0。
如果训练数据能够满足上述条件,我们就称数据达到了平衡状态;反之,若某个样本不满足,则称为不平衡——例如本该为正的样本被误判为负,或本该为负的样本被误判为正。具体来说,不平衡时满足:
- 若yi=+1,则ωTXi+b<0;
- 若yi=-1,则ωTXi+b>0。
那么,要使所有训练数据都达到平衡,训练数据集本身必须线性可分——这是感知机算法求解的前提条件,也是理解其局限性的关键。
二、感知机的求解过程
具体如何求解呢?算法步骤非常直观,采用迭代更新的方式:
- 随机初始化ω和b(任意选取起始点);
- 选取一个训练样本(X,y):
若ωTX+b>0且y=-1,则更新:ω=ω-X,b=b-1;
若ωTX+b<0且y=+1,则更新:ω=ω+X,b=b+1; - 换下一个训练样本,重复步骤2;
- 何时停止?直到所有训练样本都不再触发步骤2中的任何更新条件——即全部样本都被正确分类为止。
三、感知机的求解过程的步骤(2)的解释
这一步的更新规则背后有清晰的数学推导,解释了为什么每次调整都能使模型向正确方向靠近:
(1)当样本(X,y)满足ωTX+b>0但y=-1时,说明该样本未被正确分类。调整方式为ω新=ω旧-X,b新=b旧-1。调整之后:
ω新TX+b新 = [ω旧-X]TX+b旧-1 = [ω旧TX+b旧] - (XTX+1) = [ω旧TX+b旧] - (||X||2+1) ≤ [ω旧TX+b旧] - 1
也就是说,新值比旧值至少减小1,朝着正确的符号方向(平衡状态)移动了一步。
(2)反过来,当样本满足ωTX+b<0且y=+1时,同样未达到平衡。调整方式为ω新=ω旧+X,b新=b旧+1。更新后:
ω新TX+b新 = [ω旧+X]TX+b旧+1 = [ω旧TX+b旧] + (XTX+1) = [ω旧TX+b旧] + (||X||2+1) ≥ [ω旧TX+b旧] + 1
新值至少比旧值增大1,同样朝着平衡方向迈出了一步。
这两条更新规则的核心逻辑一致:每次遇到分类错误的样本,就调整参数,使ωTX+b向正确的符号方向移动至少1个单位。反复迭代,直至所有样本都被正确分类——这就是感知机算法的精髓,也是理解机器学习中线性分类器工作原理的重要基础。
