多层感知机的误差反向传播与架构优化
1. 误差反向传播概述
在多层感知机中,影响网络行为的关键参数是权重集。机器学习的任务就是为这些权重找到合适的值,以优化网络的分类性能,而这通常通过训练来实现。误差反向传播是实现这一目标的常用技术。
训练开始时,权重会被初始化为小的随机数,一般在(-0.1, 0.1)区间内。接着,训练示例会逐个呈现,并向前传播到网络输出。输出与目标向量之间的差异会指导权重的修改。当所有训练示例都处理完,就完成了一个训练周期。与线性分类器相比,多层感知机成功训练所需的周期数要多得多,可能达到数千甚至数万。
2. 梯度下降原理
在深入探讨权重调整公式之前,我们需要理解误差函数的性质。可以将误差函数想象成一个“景观”,其中的“山谷”代表局部最小值,最深的山谷就是全局最小值,训练的理想目标就是找到对应全局最小值的权重集。
任何权重的变化都会导致误差函数上位置的改变,我们希望通过权重变化实现误差函数的最陡下降。在多层感知机中,实现这一目标的著名技术就是误差反向传播。
3. 误差反向传播的具体计算
- 神经元的责任计算 :不同神经元对整体误差的贡献不同,因此计算每个神经元的“责任”很重要。在使用Sigmoid函数的情况下,输出层神经元的责任计算公式为:$\delta_i^{(1)} = y_i(1 - y_i)(t_i - y_i)$,其中$(t_i - y_i)$是第$i$个输出与对应目标值的差异,$y_i(1 - y_i)$在$y_i = 0$或$y_i = 1$时取最小值,在$y_i = 0.5$时取最大值。隐藏层神经元的责任通过反
超级会员免费看
订阅专栏 解锁全文
1753

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



