神经网络BP算法


BP算法

  • BP(BackPropagation:误差逆传播算法),迄今为止最成功、最常用的神经网络算法,可用于多种任务,不仅限于分类。
    在这里插入图片描述
    在这里插入图片描述
  • ∆v的改变一定是因为有误差E。有误差后常见的改正方式是求导。
  • 最理想的情况导数为零,求出极值,如果是凸函数则极值点就是我们所求的最优。
  • 然而我们在用神经网络求解时,无法保证一定是凸函数。但是求导后,沿着梯度的负方向,就是往好的方向。
    在这里插入图片描述
  • 误差E对w求偏导,注意到E直接是y的函数,y是β的函数,β是w的函数,所以用链式法则求偏导。
    在这里插入图片描述
    在这里插入图片描述
  • 输入信号x,先随机初始化各权重(参数)。
  • 先进行一轮学习,得到输出y,让y与grandtruth(真实值)求误差。
  • 根据上述数学式将∆w等算出来,再进行调整各参数的值。
  • 新一轮,再输入x,得到y,再调整,不断训练下去,就是BP算法的学习过程。

缓解过拟合

在这里插入图片描述

  • 在机器学习中,我们始终斗争的就是过拟合,希望模型不要把特性学出来。
  • 缓解过拟合有两种策略:
    • 早停:
      • 连续训练a轮后,训练误差变化不大,意味着没有继续训练的必要了。
      • 使用验证集,若训练误差降低,但验证误差升高,说明有过拟合的趋势。(一般会多测试几轮,发现出现这种情况再停止;避免出现某一轮验证误差升高,接下来几轮验证误差降低的情况,造成判断失误。)
    • 正则化:
      • 在误差目标函数中增加一项描述神经网络的复杂度。
      • E=λ*(1/m)∑Eκ+(1-λ)∑ω²,中λ*(1/m)∑Eκ是一般误差的计算公式。(1-λ)∑ω²是希望ω(权值,神经元间的传递参数)越小越好。因为ω越小,各个数据点间的差距越小,函数越平滑,越能够代表数据集的总体趋势,而不是个别数据的起伏变化,更好的缓解过拟合。

以上就是本文的全部内容,感谢各位的阅读与支持!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值