改进神经网络的方法(学习缓慢,过拟合,梯度消失)

本文内容来自:Michael Nielsen的《Neural Networks and Deep Learning》中文翻译学习缓慢问题产生原因我们之前用的代价函数都是二次代价函数: a是神经元的输出,假设训练输入x=1,输出y=0,求权重和偏置的偏导数有: 偏导数受激活函数的变化率的影响,假设我们激活函数为sigmoid函数,我们看一下函数图像: 当神经元的输出接近1的时候,曲线
摘要由CSDN通过智能技术生成

本文内容来自:Michael Nielsen的《Neural Networks and Deep Learning》中文翻译

学习缓慢问题

产生原因

我们之前用的代价函数都是二次代价函数:
这里写图片描述
a是神经元的输出,假设训练输入x=1,输出y=0,求权重和偏置的偏导数有:
这里写图片描述
偏导数受激活函数的变化率的影响,假设我们激活函数为sigmoid函数,我们看一下函数图像:
这里写图片描述
当神经元的输出接近1的时候,曲线非常平缓,求导的值(变化率)会很小,上边式子所求的权重和偏置也会很小,学习速度就会很缓慢(也称作神经元饱和了)。

更换代价函数

为了改进这个问题,引入交叉熵代价函数
这里写图片描述
其中n是训练数据总数。这和使用最大似然来训练是等价的,而最大似然的代价函数是负的对数似然,这和交叉熵代价函数等价。交叉熵能作为代价函数有两个原因,第一,交叉熵是非负的;第二,如果神经元的实际输出接近目标值,那么交叉熵接近0。相比于二次代价函数,还避免了学习速度下降的问题,原因如下,先求偏导:
这里写图片描述
化简:
这里写图片描述
其中分母就是sigmoid函数求导之后的形式,约去,化简得

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值