神经网络与深度学习笔记(四)为什么用交叉熵代替二次代价函数

1、为什么不用 二次方代价函数

我们用的 loss 方程是

神经网络与深度学习笔记(四)为什么用交叉熵代替二次代价函数_第1张图片

a 是 神经元的输出,其中 a = σ(z), z = wx + b

使用链式法则求权重和偏置的偏导数有:

神经网络与深度学习笔记(四)为什么用交叉熵代替二次代价函数_第2张图片

可知,偏导数受激活函数的导数影响

再由 sigmoid 函数可知,

神经网络与深度学习笔记(四)为什么用交叉熵代替二次代价函数_第3张图片

sigmoid 的导数在输出接近 0 和 1 的时候 是非常小的,这会导致一些实例在刚开始训练时学习得非常慢:

神经网络与深度学习笔记(四)为什么用交叉熵代替二次代价函数_第4张图片

2、为什么要用 交叉熵

先看公式:

神经网络与深度学习笔记(四)为什么用交叉熵代替二次代价函数_第5张图片

求权重和偏置的偏导数:

神经网络与深度学习笔记(四)为什么用交叉熵代替二次代价函数_第6张图片

神经网络与深度学习笔记(四)为什么用交叉熵代替二次代价函数_第7张图片

根据 σ′(z) = σ(z)(1 − σ(z)),知

神经网络与深度学习笔记(四)为什么用交叉熵代替二次代价函数_第8张图片

神经网络与深度学习笔记(四)为什么用交叉熵代替二次代价函数_第9张图片

由以上公式可知,权重学习的速度受到 σ(z) − y 影响,更大的误差,就有更快的学习速度,还避免了二次代价函数方程中因 σ′(z) 导致的学习缓慢

你可能感兴趣的:(神经网络和深度学习)