BP反向传播神经网络介绍及公式推导


-
神经网络中的反向传播(BackPropagation)介绍及公式推导 神经网络中的激活函数的作用,最常用的两个激活函数Sigmoid 和TanH 代价函数对介绍二次代价函数(Quadratic Cost),交叉熵代价函数(Cross-entropy Cost)
表示为输出层,1为目标输出值,y为神经元预测输出值 (3)E dE (4) )2) 22-y2)y)=分 交叉熵代价函数( Cross- entropy Cost) 整个神经网络的输出误差用交叉熵表示,称为交叉熵代价函数。其中当′=L 表示为输出层,t为目标输出值,y为神经元预测输出值 (5)E= x(4mny+(1-4)n(1-y其中y值域0,1 aE (6) 0(-m+(1-)4-y)]) (+ y 5.链式法则 如果函数u=Φ(及v=(1)都在t点可导,复合函数z=/(n,y)在对应点(,)具 有连续偏导数,z在对应t点可导,则其导数可用下列公式计算 d z az du az dv 6.神经元误差 定义l层的第i个神经元上的误差为8即: OE (7 整个神经网络的输出总误差可以由任意一层的每个神经元的X1建立复合函 数:E=f(x41,x1+,x+1),因函数中出现了+,所以仅当1<L时有意 义,根据链式法则误差δ(l<L)计算如下: dE CE 1+1 ,d,其中1<L 将公式(1)x=∑m+b1=∑n(x)+b,对x的求导 可计算出上式中的一=Cwf(x)+b)=wf(x),代入得: 8)⑧=∑-,+=f(x∑+,其屮1<L 通过公式(8)我们发现误差δ可由下一层误差δ艹反向计算出来,也就是说 只要我们算岀输岀层的误差δ,就能反向算出前面各层神经元的误差δ,这就 是神经网络BP反向传播模型( BackPropagation)的理论基础。 下面来推导当l=L时输出层的误差δ: dE OE O de Oy dE (9) k ay 乙f(x)可见输出层 的误差是出代价函数算法决定的,参见公式(4)(6)计算如下 二次代价函数时: dE f(x2)=(y2-t1)f 交叉熵代价函数吋: f(x2) y 7.反向传播( BackPropagation) 通过公式(8)我们知道误差δ可由下一层误差δ-反向计算出来,进而根据 神经元误差反向传导的特点我们称之为反向传播。根据对每层神经元误差的计算 结果,结合应用广泛的梯度下降算法,通过训练反复调节每层的权重及偏置,进 而将预测输岀与目标输出误差控制在可接受的范围內。 梯度下降算法公式如下,其中n为学习率参数 (a)w=%+△w=v-7,即修正后的新权重 (b)b=b+△b=b-,即修正后的新偏置 dE ∑ aE ae ax 其中: dE ∑ CE 分别代入(a)(b)得如下公式 CE (10) = n0 ,(1≤l≤L) (11) 7 CE=b,-7o),(1≤l≤L ab 工伟东 5328735840qq.com 2017-12-20 附:激活函数 ●非线性:当激活函数是线性的时候,·个两层的神经网络就可以逼近基 本上所冇的函数了。但是,如果激活函数是恒等激活函数的时候(即 r(x)=x),就不满足这个性质了,而且如果MP使用的是恒等激活函数, 那么其实整个网络跟单层神经网终是等价的。 可微性:当优化方法是基于梯度的时候,这个性质是必须的。 单调性:当激活函数是单调的时候,单层终能够保证是亡函数。 f(x)≈x:当激活函数满足这个性质的时侯,如果参数的初始化是 random 的很小的值,那么神经网络的训练将会很高效;如果不满足这个性质,那 么就需要很用心的去设置初始值 输出值的范围:当激活函数输出值是有限的时候,基于梯度的优化方 法会更加稳定,因为特征的表示受有限权值的影响更显著;当激活函数 的输岀是无限的时候,模型的训练会更加高效,不过在这种情况小, 般需要更小的 learning rate P°t at1。n Derivative Identit f(a)=x f(x)=1 f(x)= 0 for r< 0 0forx≠0 Binary step 1 for r>0 P()li for I =0 Logistic (aka f(a) 1+e f(x)=f(x)(1-f(x) Tanh f(r)=tanh(a) 1+e-2x-1 f(x)=1-f(x2 f(a)=tan(a) f(a Rectified 0 for r<0 0 for r< 0 Linear uni t f(r) r for r>0 f(x)= (ReLy) 1 for r>0 Parameteric ∫(x) ar for r 0 { for x <0 Linear uri t for r>0 f(r) for r>0 (PReL L2l Linear uni t a(et-1) for I< 0 ∫(x)+ a for r<0 r for x>0 1 for r>0 (ELU) SoftPlus ∫(x)=log(1+c2) ht 1+eTrog, csdn. net/esvovg

-
博客
C++ this指针(直戳本质)
C++ this指针(直戳本质)
-
下载
WEBFULLSTACK_01-源码
WEBFULLSTACK_01-源码
-
博客
某培训学校面试被问题到购物车没有登录时,key怎么保存?
某培训学校面试被问题到购物车没有登录时,key怎么保存?
-
下载
flutter-portfolio:中东组合feito em扑-源码
flutter-portfolio:中东组合feito em扑-源码
-
博客
C#延迟执行方法函数实例讲解
C#延迟执行方法函数实例讲解
-
下载
Re-ADP:用于雾计算的具有自适应事件差分隐私的实时数据聚合
Re-ADP:用于雾计算的具有自适应事件差分隐私的实时数据聚合
-
博客
npm修改全局包安装路径以及缓存路径
npm修改全局包安装路径以及缓存路径
-
学院
使用vue搭建微信H5公众号项目
使用vue搭建微信H5公众号项目
-
学院
MySQL 存储过程(创建海量数据实验环境)
MySQL 存储过程(创建海量数据实验环境)
-
学院
SpringBoot2集成Quartz+Vue动态定时任务(前后分离)
SpringBoot2集成Quartz+Vue动态定时任务(前后分离)
-
下载
AI-news-源码
AI-news-源码
-
下载
anthos-源码
anthos-源码
-
博客
IEC61499和PLCopen 运动控制
IEC61499和PLCopen 运动控制
-
博客
redis详解
redis详解
-
学院
P1Python100练从入门到入土系列
P1Python100练从入门到入土系列
-
下载
LaSOT跟踪数据库配置.zip
LaSOT跟踪数据库配置.zip
-
博客
字符串切割函数strtok、strtok_s、strtok_r的区别
字符串切割函数strtok、strtok_s、strtok_r的区别
-
学院
FFmpeg4.3系列之16:WebRTC之小白入门与视频聊天的实战
FFmpeg4.3系列之16:WebRTC之小白入门与视频聊天的实战
-
博客
1323:【例6.5】活动选择
1323:【例6.5】活动选择
-
学院
转行做IT-第15章 Collection、泛型、Iterator
转行做IT-第15章 Collection、泛型、Iterator
-
博客
吃糖果
吃糖果
-
下载
dsci_100_algerian_forest_fires_project-源码
dsci_100_algerian_forest_fires_project-源码
-
下载
EEGMusicGenre:EEG音乐体裁分类器-源码
EEGMusicGenre:EEG音乐体裁分类器-源码
-
博客
关联容器map的一些特点
关联容器map的一些特点
-
博客
指针迷惑考点
指针迷惑考点
-
下载
goNature2:带有Node.js,mongoDB,Express,React,Redux的度假套餐预订应用程序-源码
goNature2:带有Node.js,mongoDB,Express,React,Redux的度假套餐预订应用程序-源码
-
博客
自动替换打包时的名字 不用手动更改apk的名字
自动替换打包时的名字 不用手动更改apk的名字
-
学院
基于SSM实现的房屋租赁系统【附源码】(毕设)
基于SSM实现的房屋租赁系统【附源码】(毕设)
-
博客
2021-03-07
2021-03-07
-
下载
全球主要股市波动的聚类特征研究
全球主要股市波动的聚类特征研究