什么是BP算法?

01

 BP的概念

    一天,小明兴致勃勃的来到厨房,学习下厨。在准备的过程中,他发现,有的刀削铁如泥,有的刀却只能用来切豆腐。 在AI中,神经网络是一个非常棒的工具。但是在学习过程中,神经网络就像厨房的刀一样,有钝有利。

 

       小明拿来两把刀进行比较,发现刀刃是决定刀好不好用的重要原因。在AI中,真正决定神经元好不好用的是神经元之间连接的权重和神经元之间的阈值。

       小明可以通过磨刀石打磨刀刃,那么神经元有什么办法优化及确定神经元之间的关系与结构呢?

     我们要确定神经元之间连接的权重和神经元之间的阈值,大部分时间我们都在使用反向传播,也叫BP算法,英文名Back Propagation

 

 


02

BP的思想

       BP算法的思想很简单。我们小时候拿着作业对答案的时候,会根据我们自己写的作业答案和标准答案进行比对,发现误差,就会修改我们作业内容,直到作业答案和标准答案一致。BP算法也是如此,它会根据网络输出答案和正确答案的误差,不断的调整神经网络的参数。

 

        假设我们在训练一个图片分类网络,输入一张图片,逐层向前计算后,网络会给出它属于某种事物的概率。由于每个神经网络的初始参数是随机赋予的,大部分时间答案都不尽如人意。这时,我们可以根据网络输出与正确答案之间的差距,从最后一层开始逐层反过来向前一层调整网络的参数,如果误差值为负,那么就提升权重,反之则降低权重。

 


03

BP的参数调整

      调整的程度受一定的比率(即学习率)的制约。它像一个旋钮,可以用来控制参数调整程度的高低。在一次次输入数据和反向调整的过程中,网络的就能给出不错的输出。

 

     由于强大的调整能力,BP算法神经网络容易发生过拟合,也就是在训练数据上表现很好,认不出新数据是什么。这个时候,我们可以使用提前停止的策略;也就是按照一定比例划分训练集和验证集,用训练集调整参数,用验证集估算误差。如果训练集误差降低的同时,验证集的误差在升高,那么网络开始过于适用训练集,这个时候就可以停止训练。


04

BP的过程和优缺点

    给定一个具有若干神经元和连接的多层神经网络,BP算法学习网络的权重系数。BP算法采用梯度下降法降低最小网络输出和目标值之间的均方误差。

它分为两个阶段:

第一,前向传播阶段:计算给定输入值X的输出

第二,反向传播阶段:计算梯度,更新权重系数

 采用BP神经网络方法建模的首要和前提条件是有足够多典型性好和精度高的样本。

BP网络除具有较强的对信息分布式记忆特点外,还具有一定的容错性和抗干扰性

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值