引入cross-entropy代价函数

定义一个神经元上的cross-entropy代价函数为:

问:为什么说C是一个代价函数?

答:1. C > 0 2. 当a接近y时C接近0

问:为什么cross-entropy代价函数能解决"learning slow down"的问题?

答:已知

a=σ(z)sigmoid函数z=jwjxj+bσ(z)=σ(z)(1σ(z))a = \sigma(z) 是sigmoid函数 \\ z = \sum_jw_jx_j + b\\ \sigma'(z) = \sigma(z)(1-\sigma(z))

求C对w和b的偏导得:

可见,w和b的偏导与σ(z)\sigma'(z)无关,只与y-a的差异有关。

使用cross-entropy作为代价函数对一个神经元的效果。

将cross-entropy应用到整个神经网络

根据公式(63)可求出整个神经网络和w、b的偏导。

由公式可知,cross-entropy代价函数能解决整个神经网络的learn slowly的问题。

交叉熵代价函数 VS 二次代价函数

几乎所有的情况下交叉熵代价函数都要优于二次代价函数。

但当: 1. 输出层的神经元是线性神经元,即ajL=zjLa^L_j = z^L_j时, 2. 代价函数为二次代价函数

时,可计算出w、b的偏导与使用cross-entropy代价函数得到的结果相同。

Last updated