Learning Parameters of Multi-layer Perceptrons with Backpropagation
本文主要描述如何使用反向传播来更新weights,因为博客上传一直存在问题,因为看不清的图片可以点击,放大来看。
主要描述的是其工作工程和计算的公式,在这篇文章中有具体数字计算的例子
https://blog.csdn.net/qq_36098284/article/details/105897662
1. Toward backpropagation
使用perceptron建模时,因为只有一个神经元,没有隐藏层,也就是只有一组权重。在计算出y值并与真实结果相比较的时候,如果有error,需要进行权重的更新。(因为我们希望我们的预测结果错误最小)。这时我们计算分类结果的过程是从左到右的,更新权重的过程时从右到左的.
但是对于MLP而言,存在问题,因为MLP有多个layer,但是只有在output layer的时候才知道最终的结果。所以说隐藏层的更新存在问题。
下面是MLP工作的流程:
但是反向传播可以解决这个问题
Backpropagation provides us with an efficient way of computing partial derivatives of the error of an MLP wrt. each individual weight.
2. 反向传播的过程
3. The Delta Rule
Step1: model definition
首先,需要建立一个模型,选择好激活函数,根据模型,计算出每个神经元的输出结果和最终的error function值。
Step2: error of the final layer
计算出最后一层的error,开始更新权重。我们可以先计算出每个神经元的𝛿值,然后在更新,计算出该神经元结果a的每一个权重。
Step3: The generalized Delta Rule
使用下面的公式,计算∆𝜃,然后在更新权重。
4. Algorithm