神经网络-误差反向传播算法(一)

本文详细解析了误差反向传播算法在不同类型的神经网络中的应用,包括单层感知器、不含中间层的多层感知器、包含中间层的多层感知器以及有多个输出函数的多层感知器。通过比较实际输出与期望输出,利用梯度下降法调整各层权重以减少误差。
摘要由CSDN通过智能技术生成

图解深度学习笔记
误差反向传播算法
误差反向传播算法通过比较实际输出和期望输出得到误差信号,把误差信号从输出层逐层向前传播得到各层的误差信号,再通过调整各层的连接权重以减小误差。权重的调整主要使用梯度下降法。
本文主要为以下方面的推导

  • 单层感知器
  • 不含中间层的多层感知器
  • 包含中间层的多层感知器
  • 有多个输出函数的多层感知器

一、单层感知器
期望输出 r r r和网络的实际输出 y y y计算最小二乘误差函数 E E E
连接权重 w w w η \eta η 表学习率 、 sigmoid \text{sigmoid} sigmoid函数作为激活函数 f ( u ) f(u) f(u)
单层感知器: ∂ E ∂ w i = ∂ E ∂ y ∂ y ∂ w i ( 1 ) \frac{\partial E}{\partial w_{i}}=\frac{\partial E}{\partial y} \frac{\partial y}{\partial w_{i}} \qquad(1) wiE=yEwiy(1) y = f ( u ) y=f(u) y=f(u) ,求误差函数 E E E w i w_i wi的导数: ∂ E ∂ w i = − ( r − y ) ∂ y ∂ w i = − ( r − y ) ∂ f ( u ) ∂ w i ( 2 ) \frac{\partial E}{\partial w_{i}}=-(r-y) \frac{\partial y}{\partial w_{i}}=-(r-y) \frac{\partial f(u)}{\partial w_{i}} \qquad(2) wiE=(ry)wiy=(ry)wif(u)(2) f ( u ) f(u) f(u)的导数就是对复合函数求导 ∂ E ∂ w i = − ( r − y ) ∂ f ( u ) ∂ u ∂ u ∂ w i ( 3 ) \frac{\partial E}{\partial w_{i}}=-(r-y) \frac{\partial f(u)}{\partial u} \frac{\partial u}{\partial w_{i}} \qquad(3) wiE=(ry)uf(u)wiu(3) u u u w i w_i wi求导的结果只和 x i x_i xi相关 ∂ u ∂ w i = x i ( 4 ) \frac{\partial u}{\partial w_{i}}=x_{i} \qquad(4) wiu=xi(4)
将公式 ( 4 ) (4) (4)代入 ( 3 ) (3) (3)公式,得到下式 ∂ E ∂ w i = − ( r − y ) x i ∂ f ( u ) ∂ u ( 5 ) \frac{\partial E}{\partial w_{i}}=-(r-y) x_{i} \frac{\partial f(u)}{\partial u} \qquad(5) wiE=(ry)xiuf(u)(5) sigmoid \text{sigmoid} sigmoid函数求导 ∂ f ( u ) ∂ u = f ( u ) ( 1 − f ( u ) ) ( 6 ) \frac{\partial f(u)}{\partial u}=f(u)(1-f(u)) \qquad(6) uf(u)=f(u)(1f(u))(6)将公式 ( 6 ) (6) (6)代入 ( 5 ) (5) (5)公式,得到下式 ∂ E ∂ w i = − ( r − y ) x i f ( u ) ( 1 − f ( u ) ) ( 7 ) \frac{\partial E}{\partial w_{i}}=-(r-y) x_{i} f(u)(1-f(u)) \qquad(7) wiE=(ry)xif(u)(1f(u))(7)由于 y = f ( u ) y=f(u) y=f(u),可以计算出单层感知器的权重调整值 Δ w i = − η ∂ E ∂ w i = η ( r − y ) y ( 1 − y ) x i ( 8 ) \Delta w_{i}=-\eta \frac{\partial E}{\partial w_{i}}=\eta(r-y) y(1-y) x_{i} \qquad(8) Δwi=ηwiE=η(ry)y(1y)xi(8)
二、不含中间层的多层感知器

图片名称

不含中间层的感知器误差函数 E E E等于各输出单元的误差总和 E = 1 2 ∑ j = 1 q ( r j − y j ) 2 ( 9 ) E=\frac{1}{2} \sum_{j=1}^{q}\left(r_{j}-y_{j}\right)^{2} \qquad(9) E=21j=1q(rjyj)2(9)对误差函数求导 ∂ E ∂ w i j = ∂ E ∂ y j ∂ y j ∂ w i j ( 10 ) \frac{\partial E}{\partial w_{i j}}=\frac{\partial E}{\partial y_{j}} \frac{\partial y_{j}}{\partial w_{i j}} \qquad(10) wij

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值