交叉熵损失函数(CrossEntropyLoss)作为分类问题常见的损失函数,自己并为对其具体的细节展开理解。同时二元交叉熵损失函数(BCELoss)是交叉熵损失函数的特例,因此同样需要对二元交叉熵损失函数作出进一步的理解。
一般来说,交叉熵损失函数是需要用到softmax函数。
从公式上来看(这里以Pytorch官网的介绍为例),交叉熵损失函数表示为:
L C E = − ∑ i = 1 N y i l n ( y ^ ( x i ) ) y ^ ( x i ) = e x i ∑ k = 1 C e x k \boldsymbol{L}_{CE} = - \sum_{i=1}^N y_iln(\hat{y}(x_i))\\ \hat{y}(x_i) = \frac{e^{x_i}}{\sum_{k=1}^C e^{x_k}} LCE=−i=1∑Nyiln(y^(xi))y^(xi)=∑k=1Cexkexi
对于softmax函数来说,其导数可以表示为:
d y ^ d x i ^ = e x i ∑ k = 1 C e x k − ( e x i ) 2 ( ∑ k = 1 C e x k ) 2 = y ^ − ( y ^ ) 2 = y ^ ( 1 − y ^ ) \begin{align} \frac{\mathrm{d} \hat{y}}{\mathrm{d} \hat{x_i}} & = \frac{e^{x_i}\sum_{k=1}^C e^{x_k}-(e^{x_i})^2}{(\sum_{k=1}^C e^{x_k})^2} \\ &=\hat{y}-(\hat{y})^2 \\ &=\hat{y}(1-\hat{y}) \end{align} dxi^dy^=(∑k=1

最低0.47元/天 解锁文章
734

被折叠的 条评论
为什么被折叠?



