深度学习-BP算法

BP算法是多层感知器训练的关键,通过误差反向传播调整权重。前向传播计算网络输出,然后误差从输出层反向传播到输入层。激活函数如Sigmoid、ReLU和tanh影响误差传播。示例展示了BP算法如何调整不同层的权重,以优化网络性能。
摘要由CSDN通过智能技术生成

BP算法

多层感知器的训练使用误差反向传播算法(Error Back Propagation),即BP算法。BP算法最早有沃博斯于1974年提出,鲁梅尔哈特等人进一步发展了该理论。

BP算法的基本过程

  • 前向传播计算:由输入层经过隐含层向输出层的计算网络输出
  • 误差反向逐层传递:网络的期望输出与实际输出之差的误差信号由输出层经过隐含层逐层向输入层传递
  • 由“前向传播计算”与“误差反向逐层传递”的反复进行的网络训练 过程

BP算法就是通过比较实际输出和期望输出得到误差信号,把误差信 号从输出层逐层向前传播得到各层的误差信号,再通过调整各层的连接权重以减小误差。权重的调整主要使用梯度下降法:
Δ w = − α ∂ E ∂ w \Delta w = -\alpha \frac{\partial E}{\partial w} Δw=αwE

激活函数

通过误差反向传播算法调整多层感知器的连接权重时,一个瓶颈问题就是激活函数

  • M-P 模型中使用阶跃函数作为激活函数,只能输出 0或 1,不连续所以 不可导
  • 为了使误差能够传播,鲁梅尔哈特等人提出使用可导函数Sigmoid作为激活函数

在这里插入图片描述

Sigmoid函数的导数: d f ( u ) d u = f ( u ) ( 1 − f ( u ) ) \frac{df(u)}{du} = f(u)(1-f(u)) dudf(u)=f(u)(1f(u))

在这里插入图片描述

其他常见的激活函数:ReLU (Rectified Linear Unit,修正线性单元)和tanh等

在这里插入图片描述

BP算法示例

以包含一个中间层和一个输出单元 y y y 的多层感知器为例: w 1 i j w_{1ij} w1ij 表示输 入层与中间层之间的连接权重, w 2 j 1 w_{2j1} w2j1 表示中间层与输出层之间的连接权重, i i i 表示输入层单元, j j

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值