首先,要学会它,我们要先在战略上鄙视它。
它到底是个什么东西呢。
先抽出来看看它。
我们说它的自变量是权重w,输入x后,通过一系列的操作后,一个合适的w能让输出o与真实值T相对接近。
x - f(w) - o
将o与真实值T的差距称为E。
也就是说,E为一个自变量为x的函数,随着w的变化不断变化。
![2f70e0ce3532057988633e2b5798c89e.png](https://i-blog.csdnimg.cn/blog_migrate/63518994492b6f7788fe9a58c21ccabd.png)
说到这里,你便能知道bp就是那个如何找到较优解w,使得E最小的算法。
从这里也能发现,w的寻找有时会陷入局部最优的困境,找不到全局最优解。
(其实人生也会是如此,我们从不知道当前的选择是不是全局最优)
那么bp究竟是如何找到一个合适的w呢?
![88b16a0dce45fc6924d3373b6efc3075.png](https://i-blog.csdnimg.cn/blog_migrate/da513d4c3e7090538fe4e98a3d41ddff.jpeg)
这样,w就完成了更新。
那么现在的问题就是,E究竟跟w是什么样的关系,即神经网络到底是什么样的函数。
下图是一个两层的神经网络。一层隐含层,一层输出层。
这里用上标表示层数,下标表示当前层的结点标记。
![5b924bc5822aebb6d5b96acf491e900b.png](https://i-blog.csdnimg.cn/blog_migrate/41ad440928ba057b699255ff9fa3f8ac.png)
![858fb9275937bd7b166fb94b3e408a61.png](https://i-blog.csdnimg.cn/blog_migrate/980f4f9bdd0040885c636a1f13872967.jpeg)
我们这时候就很容易发现:
![efc851d7bb9250324a4a610fd26ed065.png](https://i-blog.csdnimg.cn/blog_migrate/a2cba175cb023c0722441ee43f879947.png)
至此,我们已经完成了前馈神经网络的构造,也初步知道了w将由梯度算法更新。
在有了函数的轮廓后,我们来具体计算w的更新步骤。
每一层的w更新,都是由链式法则计算的,看上去就像是把误差反向传播了。
(l为当前层数,L为总层数)
![54ec6e1cd68fca0cbd34662f096c02f4.png](https://i-blog.csdnimg.cn/blog_migrate/e47d5b2109721f947db789c6b6d6a9d9.jpeg)
![b0f710e59dede3e1049b940467a0ca47.png](https://i-blog.csdnimg.cn/blog_migrate/3820625944ba63f286f747b6f738b28b.jpeg)
因此
![838bb91c001e04f0ba916239a2eda7d7.png](https://i-blog.csdnimg.cn/blog_migrate/41e163411bbe42f4661cf7f509b2e3e0.jpeg)
总结
![9c36712a59dec8fea3d24482af4367a3.png](https://i-blog.csdnimg.cn/blog_migrate/52e4dc23d311b3d79da93aa97375757f.jpeg)
徒手画ppt,若有帮助请点赞o( ̄▽ ̄)d