Cross-Entropy Cost
我们理想情况是让神经网络学习更快
sigmod函数学习的很慢
因此定义一个新的Cost函数Cross−Entropy
C=−n1x∑[ylna+(1−y)ln(1−a)]
- C的函数值大于等于0
- 当a=y时,cost=0
∂wj∂C=−n1x∑(σ(z)y−1−σ(z)(1−y))∂wj∂σ=−n1x∑(σ(z)y−1−σ(z)(1−y))σ′(z)xj
整理后得到
∂wj∂C=−n1x∑σ(z)(1−σ(z))σ′(z)xj(σ(z)−y)
用sigmod函数定义
σ(z)=1+e−z1
得到
σ′(z)=σ(z)(1−σ(z))
代入上面的偏导方程,得到
∂wj∂C=n1x∑xi(σ(z)−y)
学习的快慢取决于
σ(z)−y
也就是error,好处就是:错误大的时候,更新多,学得快;错误小的时候,学习慢。
对于偏向,有
∂wj∂C=n1x∑(σ(z)−y)
其学习快慢同样只与error有关,可以提高学习速度。