【深度学习】BP神经网络


1、BP(Back Propagation)算法的出现

非循环多级网络的训练算法

UCSD PDP小组的Rumelhart、Hinton和Williams1986年独立地给出了BP算法清楚而简单的描述

1982年,Paker就完成了相似的工作

1974年,Werbos已提出了该方法

2、弱点:训练速度非常慢、局部极小点的逃离问题、算法不一定收敛

3、优点:广泛的适应性和有效性


BP网络拓扑结构





ß2.2.1 网络的构成

神经元的网络输入

  neti=x1w1i+x2w2i+…+xnwni

神经元的输出


 

Þ应该将 net 的值尽量控制在收敛比较快的范围内
Þ可以用其它的函数作为 激活函数,只要该函数是 处处可导


训练过程概述


样本:(输入向量,理想输出向量)

权初始化:“小随机数”。

1、向前传播阶段:

(1)从样本集中取一个样本(Xp,Yp),将Xp输入网络;

(2)计算相应的实际输出Op:

Op=FL(…(F2(F1(XpW(1))W(2))…)W(L))

2、向后传播阶段——误差传播阶段:

(1)计算实际输出Op与相应的理想输出Yp的差;

(2)按极小化误差的方式调整权矩阵

(3)网络关于第p个样本的误差测度:

  (4) 网络关于整个样本集的误差测度:


1、输出层权的调整


  

wpq= wpq+∆wpq

∆wpq=αδqop

  =αfn′ (netq)(yq-oq)op

  =αoq(1-oq) (yq-oq)op  


yqANq实际输出,


∆wpq=αδqop

  =αfn′ (netq)(yq-oq)op

  =αoq(1-oq) (yq-oq)op


网络关于第p个样本的误差测度

梯度下降法:

∆wpq= -α▽E


梯度下降法


X_new = X_old a.f'(X_old);



梯度下降法的执行步骤为:

  1.给定一个初始值,如 X_old=(x1,x2,...,xn);

 2.求函数fx)在此点的梯度 f‘(X_old)(              

3. X_new = X_old a.f'(X_old);(a>0为固定步长,一般都比较小,相当于在f的负梯度方向走了较小的一步)

4. X_old设为X_new,循环执行步骤2,3,4,直到f的值不再变化或变化很小.

坐标下降法的执行步骤为:

1.首先给定一个初始点,如 X_0=(x1,x2,...,xn);

2.for x_i=1:n

         固定除x_i以外的其他维度

         以x_i为自变量,求取使得f取得最小值x_i

   end

3. 循环执行步骤2,直到f的值不再变化或变化很小.






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值