【深度学习】BP神经网络

一.定义:

BP(Back Propagation)网络,是一种按误差逆传播算法训练的多层前馈网络,是应用最广泛的神经网络模型之一。

BP网络能学习和存贮大量的输入-输出模式映射关系

二.BP算法的核心思想:

学习过程由信号的正向传播误差的反向传播两个过程组成。

【深度学习】BP神经网络_第1张图片

 三.实例

1.单层BP神经网络

【深度学习】BP神经网络_第2张图片

 输入多少个数据,就有多少个输入层的神经元。

注意:

(1) 如果隐含层中的神经元节点设置过少,结果可能造成神经网络的训练过程收敛变慢或者不收敛。

(2)如果隐层中节点过多,模型的预测精度会提高,但同时网络拓扑结构过大,收敛速度慢,普遍性会减弱。

(3)隐藏层神经元的设置方法:如果BP神经网络中输入层节点数为m个,输出层节点是为n个,则由下式式可推出隐藏层节点数为s个。其中b一般为1-9的整数。

 

四.推导过程

以一个BP神经网络为例

【深度学习】BP神经网络_第3张图片

第一层是输入层,包含两个神经元i1,i2,和截距项b1:

第二层是隐含层,包含两个 神经元h1,h2和截距项(偏置系数)b2。用于控制神经元被激活的容易程度。

第三层 是输出o1,o2,每条线上标的wi是层与层之间连接的权重。

【深度学习】BP神经网络_第4张图片

 求out h1的数值,需要将x代换为neth1 的值。

【深度学习】BP神经网络_第5张图片

 最后依据偏导值来计算w5的值,n为学习率,自己根据现实定义的一个值。根据上述过程,还需要算出w2,w3,w4等等的值。

这样误差反向传播法就完成了,最后再把更新的权值重新计算,不停地迭代,总误差E(total)逐步减小,直到达到所需要的误差范围或者是设定的迭代次数。

你可能感兴趣的:(笔记,深度学习,神经网络,人工智能)