交叉熵代价函数

交叉熵代价函数:

\[C=-\frac{1}{n} \sum_{x}[y \ln a+(1-y) \ln (1-a)] \]

导数计算:

\[\begin{aligned} \frac{\partial C}{\partial w_{j}} &=-\frac{1}{n} \sum_{x}\left(\frac{y}{\sigma(z)}-\frac{(1-y)}{1-\sigma(z)}\right) \frac{\partial \sigma}{\partial w_{j}} \\ &=-\frac{1}{n} \sum_{x}\left(\frac{y}{\sigma(z)}-\frac{(1-y)}{1-\sigma(z)}\right) \sigma^{\prime}(z) x_{j} \\ &=\frac{1}{n} \sum_{x} \frac{\sigma^{\prime}(z) x_{j}}{\sigma(z)(1-\sigma(z))}(\sigma(z)-y) \\ &=\frac{1}{n} \sum_{x} x_{j}(\sigma(z)-y) \end{aligned} \]

当中,x表示样本。n表示样本的总数。

\(\sigma(z)-y\)表示输出值与实际值之间的误差。所以。当误差越大,梯度就越大。參数\(w\)调整得越快,训练速度也就越快。

同理可得。b的梯度为:

\[\frac{\partial C}{\partial b}=\frac{1}{n} \sum_{x}(\sigma(z)-y) \]

posted @ 2019-04-21 20:30  youngliu91  阅读(192)  评论(0)    收藏  举报