3. Multilayer Perceptron(MLP)

3. Multilayer Perceptron 多层感知机

1. 感知机(Perceptron)

  • 感知机模型

    • 感知机是最早的神经网络模型之一,用于二分类问题。

    • 给定输入 x,权重 w 和偏置 b,感知机的输出为:

      o=σ(w,x+b)
      • 其中,激活函数 σ(x) 定义为:σ(x)={1x>00 或 1otherwise
      • 常见二分类标签取 1,11,0
    • 模型结构如图,所有输入特征 x1,x2,...,xd 线性加权后加偏置,经符号函数输出 o1

  • 感知机训练算法

    1
    2
    3
    4
    5
    6
    7
    初始化:w = 0b = 0
    迭代训练:
    repeat
    if y_i (⟨w, x_i⟩ + b) 0:
    w ← w + y_i x_i
    b b + y_i
    until 全部样本分类正确
    • 这个过程等价于批量大小为1的梯度下降,损失函数为:(y,x,w)=max(0,yw,x)
  • 感知机收敛性定理

    • 如果数据在半径 r 的范围内,且能以余量 ρ 正确线性分开,则感知机满足:y(xTw+b)ρ
    • 对于 |w|2+b21,感知机保证在 r2+1ρ2 步内收敛(即有限步数内找到可行解)。
  • 感知机的局限性(XOR问题)

    • 感知机只能处理线性可分问题,无法拟合异或(XOR)等非线性可分函数。(即,不管怎么切,都无法正确分类)
    • 这也是 Minsky & Papert(1969)提出的著名反例,导致早期AI寒冬。

2. 多层感知机(MLP, Multi-Layer Perceptron)

  • 为什么需要多层感知机

    • 单层感知机只能处理线性可分问题,无法拟合XOR等非线性问题
    • 多层感知机(MLP) 通过引入 隐藏层非线性激活函数,可以表达复杂的非线性关系,实现对XOR等复杂模式的拟合。
  • 多层感知机结构

    • 基本结构:输入层 → 隐藏层(1层或多层)→ 输出层
    • 每层之间全连接(fully connected)
  • 单隐层MLP(单输出)

    • 输入:xRn
    • 隐藏层:W1Rm×nb1Rm
    • 输出层:w2Rmb2R
    • 计算过程:
h=σ(W1x+b1)o=w2h+b2
  • 多类分类MLP

    • 输出层通常有k个节点,最后用softmax归一化:y=softmax(o1,o2,...,ok)
    • 输出层参数:W2Rm×kb2Rk
  • 多隐层MLP

    • 每一层的输出作为下一层输入,公式类比上面,每层参数都可独立设置。
  • 常用激活函数

    • Sigmoidσ(x)=11+exp(x),输出范围 (0,1)
    • Tanhtanh(x)=1exp(2x)1+exp(2x),输出范围 (-1,1)
    • ReLUReLU(x)=max(0,x)
  • 超参数

    • 隐含层数:网络有几层隐藏层
    • 每层隐藏单元数:每层神经元的个数

5. 总结

  • 感知机是最基础的二分类模型之一,属于早期AI历史上划时代的工作。
  • 算法本质是逐步调整权重和偏置,直到所有样本正确分类(线性可分)。
  • 不能拟合XOR等非线性问题,这点极其重要,也是深度学习为何需要多层结构的直接动机。
  • 多层感知机利用隐藏层和激活函数获得非线性建模能力,突破单层感知机的线性限制
  • 常用激活函数:Sigmoid、Tanh、ReLU
  • 多类分类问题:通常在输出层使用Softmax
  • 主要超参数:隐藏层数量、每层大小

参考资料


“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付

3. Multilayer Perceptron(MLP)
http://neurowave.tech/2025/04/22/10-3-LNN-MLP/
作者
Artin Tan
发布于
2025年4月22日
更新于
2025年8月2日