第3章:神经网络核心
3.1 感知机与多层感知机
3.1.1 感知机基础
定义
感知机(Perceptron)是Frank Rosenblatt于1957年提出的二分类线性模型,是神经网络的最基本单元。其数学表达为:
其中:
- ( x ) 是输入向量,
- ( w ) 是权重向量,
- ( b ) 是偏置项。
局限性
单层感知机仅能解决线性可分问题(如AND、OR逻辑),无法处理非线性问题(如XOR逻辑)。
3.1.2 多层感知机(MLP)
结构
多层感知机通过堆叠多个感知机构成,包含:
- 输入层:接收原始数据。
- 隐藏层(≥1层):每层由多个神经元组成,使用非线性激活函数(如ReLU、Sigmoid)。
- 输出层:根据任务类型选择激活函数(如Softmax用于分类,线性函数用于回归)。
数学表达
对于第( l )层的输出:
其中 ( \sigma ) 为激活函数。
万能近似定理
理论上,单隐藏层MLP在神经元足够多时可逼近任意连续函数(Cybenko, 1989)。
3.1.3 关键实现步骤
前向传播
- 计算每一层的加权和与激活值。
- 示例代码(PyTorch):
import torch.nn as nn model = nn.Sequential( nn.Linear(input_dim, hidden_dim), nn.ReLU(), nn.Linear(hidden_dim, output_dim) )
反向传播
- 通过链式法则计算损失函数对权重的梯度。
- 优化器(如SGD、Adam)更新权重。
3.1.4 应用场景
- 分类任务:图像识别、垃圾邮件过滤。
- 回归任务:房价预测、销量预估。
3.1.5 对比表格
| 特性 | 单层感知机 | 多层感知机(MLP) |
|---|---|---|
| 解决非线性问题 | ❌ 仅线性可分 | ✅ 可处理非线性 |
| 隐藏层数量 | 0 | ≥1 |
| 激活函数 | 阶跃函数 | ReLU/Sigmoid/Softmax |
3.1.6 扩展阅读
- 推荐实现:Scikit-learn的MLPClassifier
- 经典论文:Rumelhart et al. (1986) 提出的反向传播算法。
注:此内容包含理论公式、代码片段和对比表格,可根据需要增加更多实战案例或可视化示意图(如感知机决策边界图)。