神经网络关键是
1. 训练样本数据前向步进,求误差
2. 误差的反向传播,更新参数
1. 前向步进
使用一个有 2 个输入神经元、2 个隐藏的神经元和 2 个输出神经元的神经网络。此外,隐藏层和输出层将包括一个 偏差神经元(Bias)。
这里的基本结构:
设定一些数字,这是初始权重,偏差,和训练输入/输出:
反向传播的目标是优化神经网络的权重,这样神经网络可以学习如何正确将任意输入映射到输出。
我们要处理一个训练集:给定输入0.05和0.10,我们希望神经网络输出0.01和0.99。
前向传播
让我们看看目前神经网络给定的偏差、权重和输入的0.05和0.10。为此我们要养活这些输入提前虽然网络。
我们算出每个隐藏神经元的总输入,再利用总输入作为激活函数(这里我们使用 Sigmoid 函数)的变量,然后在输出层神经元重复这一步骤。
插一个课程中前向传播的图
2. 反向传播
1. 计算输出误差
2. 将误差反馈到每一个神经元
3. 更新参数
求导过程如下
简化为公式,即为下图
首先计算各个误差
然后更新参数