BP神经网络基础和数学原理

本文深入讲解BP神经网络的基础和数学原理,包括网络结构、激活函数、反向传播算法及梯度下降,探讨如何通过调整权重和偏置来最小化误差,实现对复杂非线性分类任务的学习。

BP神经网络基础和数学原理

BP神经网络(Back Propagation, 反向传播), 是一种前馈型神经网络, 也是全连接层的结构. 感知器, BP神经网络, 卷积神经网络和径向基网络都是常见的前馈型神经网络, BP神经网络也是一种多层感知器.

基本概念

在这里插入图片描述
上图是一个简单的BP神经网络结构, 由输入层、隐藏层、输出层组成,其中每个绿色的圆圈是一个神经元, 蓝色的连接线表示数值的传递. 输入层有两个神经元, 表示可以传入一个二维向量, 最终输出一个二维向量. 这个神经网络可以应用于二维平面上样本点的分类, 输入的 2 维向量是点的坐标, 输出的 2 维向量表示分类信息, 例如第一维输出值为 1, 第二维输出 0, 表示这个点属于第一类, 第一维输出 0, 第二维输出 1, 表示这个点属于第二类. 以其中隐藏层1的第二个神经元为例, 其内部计算过程如下图:
在这里插入图片描述
从左向右看, xix_ixi 表示由上一个神经元传入的数值. 权重 www 中, iii 表示前一层神经元的序号, jjj 表示指向的神经元的序号, 上标 lll 为层次. 偏置 bjb_jbj 是属于这个神经元的, jjj 表示这个神经元的序号. 经加权求和后得到 vjv_jvj, 其中的 MMM 为前一层的神经元总数. 再将结果代入激活函数 φ\varphiφ, 得到 yjy_jyj 作为此神经元的输出. (关于激活函数的内容, 请看后文)

公式

为了公式清晰,省略掉权重 www 的上标 lll, 相对于输出层的神经元, 有以下公式:

输入:

vj=∑i=1Mwijxi+bj. v_j=\sum_{i=1}^{M} w_{ij} x_i +b_j. vj=i=1Mwijxi+bj.
输出:

yj=φ(vj). y_j=\varphi(v_j). yj=φ(vj).

总误差(Total instantaneous error energy):

E=12∑j=1N(dj−yj)2. E=\frac{1}{2} \sum_{j=1}^{N} (d_j-y_j)^2. E=21j=1N(djyj)2.

NNN 表示输出层神经元总数. 误差函数 EEE 是优化的目标函数, 通过迭代地改变权重 www 和 偏置 bbb, 使得函数值最小化, 即使得输出结果与输出期望差距缩小.

梯度下降与反向传播算法

我们的目标是寻找合适的 wwwbbb, 使得网络的输出与期望输出尽可能接近, 这样当我们输入一个未经过训练的样本点时, 便可以准确地做出分类. 为了求解, 在训练开始时随时生成 wwwbbb, 随机生成的值可以满足均匀分布或者正态分布. 再应用反向传播和梯度下降算法, 不断修正 wwwbbb , 使得总误差最小化. 现在, 我们设输出层神经元代号为 kkk, 隐藏层2 代号为 jjj, 隐藏层1 代号为 iii. 下面分两种情形推导梯度公式.

情形一: 对于输出层神经元

由梯度下降算法, 求得总误差关于权值 wjkw_{jk}wjk 的梯度

∂E∂wjk=∂E∂yk∂yk∂vk∂vk∂wjk=∂E∂vkxj. \frac{\partial E}{\partial w_{j k}}=\frac{\partial E}{\partial y_{k}} \frac{\partial y_{k}}{\partial v_{k}} \frac{\partial v_{k}}{\partial w_{j k}}=\frac{\partial E}{\partial v_{k}} x_{j}. wjkE=ykEvkykwjkvk=vkExj.
同理得到关于偏置 bkb_kbk 的梯度

∂E∂bk=∂E∂yk∂yk∂vk∂vk∂bk=∂E∂vk. \frac{\partial E}{\partial b_{k}}=\frac{\partial E}{\partial y_{k}} \frac{\partial y_{k}}{\partial v_{k}} \frac{\partial v_{k}}{\partial b_{k}}=\frac{\partial E}{\partial v_{k}}. bkE=ykEvk

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值