前馈神经网络训练:算法、过拟合与应对策略
反向传播算法
在神经网络中,我们可以得到如下关系:
[
\frac{\partial E}{\partial z_j} = \frac{\partial E}{\partial y_j} \frac{dy_j}{dz_j} = y_j(1 - y_j)\frac{\partial E}{\partial y_j}
]
将其结合,我们能把第 (i) 层的误差导数用第 (j) 层的误差导数表示出来:
[
\frac{\partial E}{\partial y_i} = \sum_j w_{ij} y_j(1 - y_j)\frac{\partial E}{\partial y_j}
]
当完成动态规划流程,填好误差函数关于隐藏单元活动的偏导数表格后,就能确定误差随权重的变化情况。这样在每个训练样本后,我们可以按如下方式修改权重:
[
\frac{\partial E}{\partial w_{ij}} = \frac{\partial z_j}{\partial w_{ij}} \frac{\partial E}{\partial z_j} = y_i y_j(1 - y_j)\frac{\partial E}{\partial y_j}
]
最后,为完成算法,只需对数据集中所有训练样本的偏导数求和,得到权重修改公式:
[
\Delta w_{ij} = -\sum_{k \in dataset} \epsilon y_i^k y_j^k(1 - y_j^k)\frac{\partial E^k}{\partial y_j^k}
]
超级会员免费看
订阅专栏 解锁全文
9万+

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



