我是靠谱客的博主 纯真黄蜂,最近开发中收集的这篇文章主要介绍softmax与cross-entropy loss,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. softmax用于计算概率分布

    例如,记输入样例属于各个类别的证据为:


采用softmax函数可以将证据转化为概率:


2. cross-entropy loss用于度量两个概率分布之间的相似性

参考:知乎讲解

    熵的本质是香农信息量(log(1/p))的期望。

    现有关于样本集的2个概率分布p和q,其中p为真实分布,q非真实分布。按照真实分布p来衡量识别一个样本的所需要的编码长度的期望(即平均编码长度)为:

如果使用错误分布q来表示来自真实分布p的平均编码长度,则应该是:


因为用q来编码的样本来自分布p,所以期望H(p,q)中概率是p(i)。H(p,q)我们称之“交叉熵”。

注意:i的值为分布可能取值的数目,如在手写字体识别中,i=1:10;

    特别的,对于二分类问题,,交叉熵损失函数形式为:

3. softmax与cross-entropy loss的关系

    softmax计算概率分布a,且0 <= a<= 1。cross-entropy loss用于度量两个概率分布之间的相似性。求概率分布的方式与损失函数之间可以自由搭配,没有必然联系。

    但应当注意,在人工神经网络中,当选取神经元的激活函数为sigmoid函数时,函数形式为:


对应的函数图像为:


sigmoid函数的导数满足:y’=y(1-y)

参考wphh的博客

    由于神经元的激活函数选择为sigmoid函数,sigmoid函数的导数y’在两端值很小,导致参数更新会非常缓慢。如果选择普通的均方误差损失函数,会遇到上述问题。但交叉熵损失函数则可以克服这种问题。因为交叉熵损失函数的导数具有如下形式:

                     

    没有y’这一项,权值更新直接受σ(z)−y控制,所以收敛结果更好。

关于cross-entropy loss求导过程可参考分类问题中的交叉熵损失和均方损失


最后

以上就是纯真黄蜂为你收集整理的softmax与cross-entropy loss的全部内容,希望文章能够帮你解决softmax与cross-entropy loss所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部