Softmax函数与交叉熵

Posted wqbin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Softmax函数与交叉熵相关的知识,希望对你有一定的参考价值。

在Logistic regression二分类问题中,我们可以使用sigmoid函数将输入Wx+b映射到(0,1)区间中,从而得到属于某个类别的概率。将这个问题进行泛化,推广到多分类问题中,我们可以使用softmax函数,对输出的值归一化为概率值

这里假设在进入softmax函数之前,已经有模型输出C值,其中C是要预测的类别数,模型可以是全连接网络的输出aa,其输出个数为C,即输出为: 技术图片

所以对每个样本,它属于类别i的概率为:

技术图片

通过上式可以保证 技术图片 ,即属于各个类别的概率和为1

softmax函数进行求导,即求: 技术图片 ,第i项的输出对第j项输入的偏导。代入softmax函数表达式,可以得到:

技术图片

求导规则:对于 技术图片 ,导数为:

技术图片

所以在我们这个例子中,

技术图片

上面两个式子只是代表直接进行替换,而非真的等式。 技术图片 ,(即g(x)= 技术图片技术图片 进行求导),要分情况讨论:

  1. 如果i=j,则求导结果为 技术图片
  2. 如果i≠j,则求导结果为0

再来看 技术图片技术图片 求导,结果为 技术图片

所以,当i=j时:(其中,为了方便,令 技术图片 )

技术图片

当i≠j时:

技术图片

标红下,这俩公式很重要:

技术图片

技术图片

 




以上是关于Softmax函数与交叉熵的主要内容,如果未能解决你的问题,请参考以下文章

Softmax函数与交叉熵

常见LOSS函数之Cross Entropy(交叉熵)

Tensorflow四种交叉熵函数计算公式

交叉熵 相关链接

神经网络学习中的SoftMax与交叉熵

Softmax 的交叉熵是不是适用于多标签分类?