一句话定义:感知机(Perceptron)是最早的、能"自己学参数"的二分类模型——它把若干输入各自乘上一个权重(weight)加起来,超过某个门槛就输出 1,否则输出 0。
它到底怎么工作
打个比方:银行审批贷款,派了一位只会打分的门卫。收入、工作年限、负债三个指标,各自乘上一个"重要性系数",加总后再减去一个门槛(偏置,bias)。总分过线就盖章通过,不过线就退回。一开始权重是随机的,门卫判错一笔,就按错误方向微调系数——错得越离谱,调得越多。这就是感知机的学习规则,简单到可以用几行代码写完。
1950 年代末,Rosenblatt 造出这套规则时,人们一度以为机器"学会思考"指日可待。后来证明,只要数据是线性可分(linear separability)的——也就是能用一条直线(高维时是一个超平面)把两类点切开——感知机一定能在有限步内收敛到正确解,这个结论叫感知机收敛定理。注意关键词:只要线性可分。
XOR 困境:一盆冷水
异或(XOR)是个再简单不过的逻辑:两个输入相同输出 0,不同输出 1。把四种组合画在平面上,(0,0)、(1,1) 在一组,(0,1)、(1,0) 在另一组。你会发现:无论怎么画直线,都没法把这两组分开。单层感知机做不到,因为它天生只会画直线。
1969 年 Minsky 和 Papert 在《Perceptrons》里把这类限制系统性地摆上台面,直接浇灭了热情,加上其他因素,第一次 AI 寒冬随之而来。破局思路也很直白:既然一层直线不够,那就叠多层、中间加非线性激活函数(activation function),于是有了多层感知机(Multilayer Perceptron, MLP)和后来的反向传播。
和相邻概念的区别
| 对比项 | 感知机 | 逻辑回归 | 多层感知机 |
|---|---|---|---|
| 输出 | 硬判断 0/1 | 概率 0~1 | 可逼近任意连续函数 |
| 决策边界 | 直线/超平面 | 直线/超平面 | 可弯曲 |
| 解决 XOR | 不能 | 不能 | 能 |
| 学习方式 | 误分类驱动更新 | 最大似然/梯度下降 | 反向传播 |
逻辑回归和感知机共享同一条直线边界,区别只在"硬判断"与"给概率"、以及是否用平滑损失。
对从业者的实际意义
今天你在代码里写的一层全连接(Dense / Linear),本质上就是一个感知机。它的意义不在于能打,而在于三个判断:
1. 看到线性层,先问数据是否线性可分——不可分时,堆再多线性层也没用,必须引入非线性。
2. 看到 XOR 型问题(组合条件、交叉特征),就知道需要特征工程或更深的网络。
3. 理解收敛定理的前提——它是"如果",不是"一定",别指望它在噪声数据上稳定。
至于各家框架的 API 细节,以官方页面为准。想真正入门神经网络,从手写一个感知机、亲眼看它在 XOR 上失败,是最省时间的一课。
