本文中部分内容为书《神经网络与深度学习》中的截取,后面的推导过程为根据自己理解的推导。
二次代价函数由于在误差较大的时候,学习缓慢,这与人类的学习过程是不相同的,人们总是在犯错误较明显的时候,学习迅速。
所以,根据上面的两个式子可以知道,影响学习速率的是σ′(z),所以想要构造一个与σ′(z)无关的代价函数。
使得其对权重以及偏置求导得到的式子为:
由链式法则,有:
即σ′(z) = σ(z)(1 − σ(z)) = a(1 − a),将该式子代入上一个式子的右边,代替σ′(z),得到:
又根据
中的第二个式子,代入上述式子的左边,得到:
根据该式子,对a进行积分,即可得到C的函数
推导过程如下:
∫(a-y)/a(1-a)d a
=∫a/a(1-a) d a-y∫ 1/a(1-a) d a
=∫1/(1-a)d a-y∫1/a(1-a)d a
=ln|1-a|-y∫[1/a+1/(1-a)]d a
=ln|1-a|-y∫1/a d a-y∫1/(1-a) d a
=ln|1-a|-yln|a|-yln|1-a|+c
=-yln|a|+(1-y)ln|1-a|+c
因为0<a<1,所以代价函数就等于-ylna+(1-y)ln(1-a)+c,c为常数,所以,由此就得到了交叉熵代价函数。