多层感知器的误差反向传播与架构设计
1. 误差反向传播概述
在多层感知器中,影响网络行为的参数是权重集合。机器学习的任务就是找到这些权重的最优值,以优化网络的分类性能。这通常通过训练来实现,而误差反向传播就是一种流行的训练技术。
1.1 一般训练流程
训练过程的一般步骤如下:
1. 初始化权重:将权重初始化为小的随机数,通常在区间 (-0.1, 0.1) 内。
2. 前向传播:逐个呈现训练示例,将每个示例前向传播到网络输出。
3. 计算误差:比较网络输出与示例的目标向量,得到误差。
4. 修改权重:根据误差修改权重。
5. 完成一个 epoch:当处理完所有训练示例,一个 epoch 完成。
多层感知器训练所需的 epoch 数比线性分类器多得多,可能达到数千甚至数万。
1.2 梯度下降原理
为了更好地理解权重调整问题,我们可以借助梯度下降的概念。假设只有两个权重,误差函数可以想象成一个“景观”,其“山谷”代表局部最小值,最深的山谷是全局最小值。训练的理想目标是找到对应全局最小值的权重集合。
任何权重的变化都会导致误差函数上位置的改变,我们希望权重的变化能带来误差函数的最陡下降。在多层感知器中,实现这一目标的常用技术就是误差反向传播。
1.3 误差反向传播计算
1.3.1 神经元的责任计算
不同神经元对整体误差的贡献不同,我们可以计算每个神经元对整体误差的“责任”。以 sigmoid 函数为例:
- 输出层神经元的责任:$\delta_i^{(1)} = y_i(1
超级会员免费看
订阅专栏 解锁全文
2431

被折叠的 条评论
为什么被折叠?



