BP原理(前馈神经网络)

 我来答
科创17
2022-07-29 · TA获得超过5867个赞
知道小有建树答主
回答量:2846
采纳率:100%
帮助的人:170万
展开全部

公式中的e叫自然常数,也叫欧拉数,e=2.71828…。e是个很神秘的数字,它是“自然律”的精髓,其中暗藏着自然增长的奥秘,它的图形表达是旋涡形的螺线。

e = 1 + 1/1! + 1/2! + 1/3! + 1/4! + 1/5! + 1/6! + 1/7! + … = 1 + 1 + 1/2 + 1/6 + 1/24 + 1/120+ … ≈ 2.71828

bp基本原理是:
利用前向传播最后输出的结果来计算误差的偏导数,再用这个偏导数和前面的隐藏层进行加权求和,如此一层一层的向后传下去,直到输入层(不计算输入层),最后利用每个节点求出的偏导数来更新权重。

注意:隐藏层和输出层的值,都需要前一层加权求和之后 再代入激活函数 获得。

残差(error term) : 表示误差的偏导数

(注意:激活函数的导数中代入的值是前一层的加权值)
如果输出层用Purelin作激活函数,Purelin的导数是1,输出层→隐藏层:残差 = -(输出值-样本值)

如果用Sigmoid(logsig)作激活函数,那么: Sigmoid导数 = Sigmoid*(1-Sigmoid)
(Sigmoid指的是Sigmoid函数代入前一层的加权值得到的值,即输出值)
输出层→隐藏层:

残差 = -(输出值-样本值) * Sigmoid*(1-Sigmoid) = -(输出值-样本值)输出值(1-输出值)
隐藏层→隐藏层:
残差 = (右层每个节点的残差加权求和)* 当前节点的Sigmoid*(1-当前节点的Sigmoid)

如果用tansig作激活函数,那么:tansig导数 = 1 - tansig^2

残差全部计算好后,就可以更新权重了:

学习率是一个预先设置好的参数,用于控制每次更新的幅度。

此后,对全部数据都反复进行这样的计算,直到输出的误差达到一个很小的值为止。

这里介绍的是计算完一条记录,就马上更新权重,以后每计算完一条都即时更新权重。实际上批量更新的效果会更好,方法是在不更新权重的情况下,把记录集的每条记录都算过一遍,把要更新的增值全部累加起来求平均值,然后利用这个平均值来更新一次权重,然后利用更新后的权重进行下一轮的计算,这种方法叫批量梯度下降(Batch Gradient Descent)。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
希卓
2024-10-17 广告
DAS分布式振动技术是一种基于光纤传感的先进监测方案。它利用光纤作为传感器,能够实时、连续地监测沿线的各种振动信号。该技术具有高精度、长距离监测、抗干扰能力强等显著优势,特别适用于重要设施如油气管道、铁路轨道等的安全监测。通过DAS分布式振... 点击进入详情页
本回答由希卓提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式