`
ronaldoLY
  • 浏览: 42256 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

反向传播算法学习

 
阅读更多

一.准备工作

反向传播算法是神经网络中一个重要的过程。

了解反向传播算法之前先来理解几个概念:

1.全导 和偏导

求导是数学计算中的一个计算方法,它的定义就是,当自变量的增量趋于零时,因变量的增量与自变量的增量之商的极限。在一个函数存在导数时,称这个函数可导或者可微分。可导的函数一定连续。不连续的函数一定不可导。

全导数是对各个变量求偏导后叠加

偏导数是只对其中一个变量求导数,物理几何意义是一个平面(平行于x或y或z轴)上的一条线,表示固定面上一点的切线斜率。

举例:

f(x,y)=x的平方+y的平方

那它的全导数 就是 2x+2y

对于点(1,1),

x方向的偏导数(只对x求导,y方向数值固定)  是 2x

y方向的偏导数  是 2y

 

2.链式求导法则:

最简单的理解,

有一个函数为:x1/x0,无法直接求解,经过转换后 是(x1/x2)*(x2/x3)*(x3/x0)

转换为3个式子的相乘, 每个式子可以求解,继而间接求解出x1/x0

将上面的x1/x0 替换为 某个函数对其中一个变量的导数,这就叫链式求导法则

 

3.学习速率:

学习速率是反向传播算法的的一个配置参数。

在第一次随机出一组参数并得到结果,由结果算得误差之后要对神经网络中的参数进行调整。

学习速率 就是定义 再次调整时的“步子” 大小。

步子越大,对误差的学习越快,但不够精细,可能导致错过那个最优值;

步子越小,学习的够精细,但耗时就更长。

 

4.反向传播算法:

简单理解,根据每次训练结果产生的误差值,对神经网络的参数不断修正,直到误差为0或者达到要求值。

 

 

二.详解

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics