码迷,mamicode.com
首页 > 其他好文 > 详细

Softmax函数与交叉熵

时间:2019-06-22 22:28:22      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:orm   res   code   ++   规则   mic   方便   c++   泛化   

在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函数与交叉熵

标签:orm   res   code   ++   规则   mic   方便   c++   泛化   

原文地址:https://www.cnblogs.com/wqbin/p/11070647.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!