Skip to content

Perceptron 算法

Perceptron · 感知机算法

对误分类样本沿标签方向更新线性权重的基础在线分类算法。

算法

标签取 yt{1,+1},初始化 w1=0。第 t 轮以 signwt,xt 预测;本文把零 margin 也视为错误,并在

ytwt,xt0

时更新

wt+1=wt+ytxt,

否则保持 wt+1=wt。若需要截距,可把输入扩展为 (x,1),但其范数界也随之改变。

二维更新图像

当正样本被分到负侧时,加上 xt 把法向量朝该点旋转;负样本被错分时,yt=1 使更新减去 xt。算法只在错误处移动,不需要预先写下概率模型,也不在每轮求解一个完整批目标。

有限错误证明

假设存在单位向量 u 使所有样本满足 ytu,xtγ>0,且 xtR。若算法已更新 M 次,则沿 u 的投影至少线性增长:

w,u=tMytxt,uMγ.

另一方面,每次更新时 ytwt,xt0,所以

wt+12=wt2+2ytwt,xt+xt2wt2+R2,

wRM。由 Cauchy–Schwarz,MγRM,故 M(R/γ)2

边界与辨析

不可分数据上基础 Perceptron 可能无限更新;pocket、averaged Perceptron 等是另行定义的变体。这里的“收敛”指可分条件下错误更新次数有限,不代表参数收敛到唯一向量。它既不是最大间隔 SVM,也不是 logistic regression:后两者优化明确的不同目标。更新可看作某些 hinge 型损失的次梯度步,但这个联系不改变算法的在线错误界语义。

参考资料
  • Frank Rosenblatt, The Perceptron, Psychological Review, 1958.
  • Albert B. J. Novikoff, On Convergence Proofs on Perceptrons, 1962.