神经网络中的反向传播法
直观理解反向传播法 反向传播算法其实就是 链式求导法则 的应用。按照机器学习的通用套路,我们先确定神经网络的目标函数,然后用 随机梯度下降优化算法 去求目标函数最小值时的参数值。 反向传播算法 损失函数与正则化项 假设我们有一个固定样本集 \(\{(x^{(1)},y^{(1)}),···,(x^{(m)},y^{(m)})\}\) 它包含m个样本。我们可以用批量梯度下降法来求解神经网络。具体来讲,对于单个样例(x,y),其代价函数为: \[J(W,b;x,y)=\frac{1}{2}||h_{W,b}{(x)}-y||^2\] 这是一个 平方误差损失函数 。(这里的 \(\frac{1}{2}\) 是当求导时,平方会产生一个2, \(\frac{1}{2}*2=1\) 进行平均不让2累积) 对于包含m个样本的数据集,我们可以定义整体的损失函数为: \[J\left(W,b\right)=\left[\frac{1}{m}\sum_{i=1}^m{J\left(W,b;x^{\left(i\right)},y^{\left(j\right)}\right)}\right]+\frac{\lambda}{2}\sum_{l=1}^{n_l-1}{\sum_{i=1}^{s_l}{\sum_{j=1}^{s_{l+1}}{\left(W_{ji}^{\left(l\right)}