笔记|【深度学习】BP神经网络

一.定义:
BP(Back Propagation)网络,是一种按误差逆传播算法训练的多层前馈网络,是应用最广泛的神经网络模型之一。
BP网络能学习和存贮大量的输入-输出模式映射关系。
二.BP算法的核心思想:
学习过程由信号的正向传播和误差的反向传播两个过程组成。
笔记|【深度学习】BP神经网络
文章图片

三.实例
1.单层BP神经网络
笔记|【深度学习】BP神经网络
文章图片

输入多少个数据,就有多少个输入层的神经元。
注意:
(1) 如果隐含层中的神经元节点设置过少,结果可能造成神经网络的训练过程收敛变慢或者不收敛。
【笔记|【深度学习】BP神经网络】(2)如果隐层中节点过多,模型的预测精度会提高,但同时网络拓扑结构过大,收敛速度慢,普遍性会减弱。
(3)隐藏层神经元的设置方法:如果BP神经网络中输入层节点数为m个,输出层节点是为n个,则由下式式可推出隐藏层节点数为s个。其中b一般为1-9的整数。
笔记|【深度学习】BP神经网络
文章图片


四.推导过程
以一个BP神经网络为例
笔记|【深度学习】BP神经网络
文章图片

第一层是输入层,包含两个神经元i1,i2,和截距项b1:
第二层是隐含层,包含两个 神经元h1,h2和截距项(偏置系数)b2。用于控制神经元被激活的容易程度。
第三层 是输出o1,o2,每条线上标的wi是层与层之间连接的权重。
笔记|【深度学习】BP神经网络
文章图片

求out h1的数值,需要将x代换为neth1 的值。
笔记|【深度学习】BP神经网络
文章图片

最后依据偏导值来计算w5的值,n为学习率,自己根据现实定义的一个值。根据上述过程,还需要算出w2,w3,w4等等的值。
这样误差反向传播法就完成了,最后再把更新的权值重新计算,不停地迭代,总误差E(total)逐步减小,直到达到所需要的误差范围或者是设定的迭代次数。

    推荐阅读