Softmax classifier & cross-entropy loss

文章目录

  • Intro
  • Formulation
  • Probabilistic interpretation
    • MLE
  • Information theory view
    • Kullback-Leibler divergence
  • Practical issues: Numeric stability
  • Possibly confusing naming conventions

Intro

Softmax classifier 是基于cross-entropy loss的分类器。cross-entropy loss是对在损失函数中引入并改进softmax function。

Formulation

Softmax classifier & cross-entropy loss_第1张图片
是得到正确结果的自信息量。

Probabilistic interpretation

由于softmax function将输出(得分)压缩到0-1,所以可以视为概率。可见方程喜欢正确结果的概率增大。

Li propotional to -logPi proportioanl to 1/Pi

MLE

更进一步地,softmax的输出可以看成是似然函数,所以cross-entropy loss可以看成是负的log后的似然函数。因为我们求一个loss的最小值解,等价于求似然函数的最大值解,也就是MLE(maximum Likelihood Estimation)的核心思想[2]。

Information theory view

由于softmax的输出可以视为概率,所以可以将模型的输出看成一个概率分布场。

x 1 2 n
p y1 y2 yn

其中x为输出向量的下标
交叉熵的形式为
在这里插入图片描述
其中,p为正确正确分布,q为估计分布,。即p=[0,0,…1,…0],q=[y1,y2…yn]。最终形式就是cross-entropy loss,所以才叫cross-entropy loss。

Kullback-Leibler divergence

可以将交叉熵进行变换
在这里插入图片描述
第一项是熵,第二项就是Kullback-Leibler divergence了,所以
在这里插入图片描述
因为p的熵等于0,所以交叉熵就是KL散度了。

Practical issues: Numeric stability

因为yi可能很大,所以导致指数运算可能溢出或不稳定,所以我们进行操作
Softmax classifier & cross-entropy loss_第2张图片
一般令
在这里插入图片描述
如此,输出向量最大值为0

Possibly confusing naming conventions

The Softmax classifier gets its name from the softmax function, which
is used to squash the raw class scores into normalized positive values
that sum to one, so that the cross-entropy loss can be applied. In
particular, note that technically it doesn’t make sense to talk about
the “softmax loss”, since softmax is just the squashing function, but
it is a relatively commonly used shorthand.


Reference:
[1] http://cs231n.github.io/linear-classify/
[2] https://www.bilibili.com/video/av56378793/?spm_id_from=333.788.videocard.

你可能感兴趣的:(深度学习)