为什么选择交叉熵(Why Cross-Entropy)
为了解决学习速度下降的问题,我们希望
∂C∂wj=xj(a−y)
∂C∂b=(a−y)
如上文所述, 当代码函数为
C
时:
因为 δ 函数的性质:
δ′(z)=(1−δ(z))δ(z)=a(1−a)
于是:
∂C∂b=∂C∂aa(1−a)
如果要符合期望, 则下式必须成立:
∂C∂a=a−ya(1−a)
则反推可以得到
C=−[ylna+(1−y)ln(1−a)]+constant
这是一个样本的代价函数, 多个样本的话, 自然
C=−1n∑x[ylna+(1−y)ln(1−a)]+constant