美文网首页
重要概念:Softmax 和 Corssentropy 详解

重要概念:Softmax 和 Corssentropy 详解

作者: 何哀何欢 | 来源:发表于2020-05-27 11:29 被阅读0次

    总结:
      Softmax就是将数值转为概率
      交叉熵就是求两组概率分布的偏差

    x, y如下::
    x \in [0 , \infty)
    y \in [-\infty, \infty]

    x 可以看作是 x =e^y
    y 可以看作是 y = \log_ex
    yx的log值, x越大y越大。

    log( [0, 1) ) log( 1 ) log( (1, ) )
    - 0 +
    • 求log就是把正整数放大到\pm\infty (log扩:概率到结果)
    • 求e幂就是把\pm\infty缩到正整数/概率 (e幂缩:结果到概率)
      助记:老公阔 杨幂锁(老公有钱,把杨幂锁在家里)

    x可以看作是odds,范围[0 , \infty) 概率/odds/logits
    于是,一堆任意数y,转化为概率分布,路径就是:
    一堆任意数y \rightarrow odds \rightarrow 各odds的概率
    (因为所有y是全体样本,所以结果也是概率分布)

    项目 评估值m odds = e^m softmax(m)
    -0.1 0.368 0.067
    2 7.39 0.548
    0.5 1.649 0.122
    1 2.718 0.202
    -0.2 0.819 0.061
    总和 12.9 1

    softmax = \frac{e^{m_i}}{\sum e^{m_j}}


    一组数据的真实情况有了,NN也给出了它的猜测概率,那么如何计算偏差呢?
    先来看一个猜对的例子,NN猜测是“狼”,所以狼给出的概率最高,最后真实情况也是狼(为1):

    项目 猜测概率
    (“是”的概率)
    “非”的概率
    (1减“是”)
    真实情况 Y
    (是:1 非:0)
    选定的猜
    测概率 (x)
    ln(x)
    0.05 0.95 0 (选无) 0.95 -0.051
    0.1 0.9 0 0.9 -0.105
    0.7 0.3 1 (选有) 0.7 -0.357
    0.1 0.9 0 0.9 -0.105
    0.05 0.95 0 0.95 -0.051
    总和 1 -0.67

    计算整体情况,可以用加法,也可以用乘法。加法上不封顶,突破天际,不利于衡量。所以改用乘法,将真实概率(x)相乘:

    \prod x= 0.95\times 0.9\times 0.7\times 0.9\times 0.95 \approx 0.512

    但是概率在[0 , 1]间,如果项多了以后,结果会非常小,又不利于评判。于是,乘法转加法的法宝,log登场了:

    ln0.95+ ln0.9+ln0.7+ln0.9+ln0.95\approx ln0.512\approx -0.67
    取个反:-0.67\times-1 = 0.67

    再看另一个猜错的例子,NN猜测为狼,而实际是猪:

    项目 p有 p无 Y x ln(x)
    0.05 0.95 1 0.05 -2.996
    0.1 0.9 0 0.9 -0.105
    0.7 0.3 0 0.3 -1.204
    0.1 0.9 0 0.9 -0.105
    0.05 0.95 0 0.95 -0.051
    总和 1 -4.462

    结果是 -4.462\times-1=4.462
    所以上面的两个概率表,可以理解为:计算机猜测出某个动物是狼的可能性,要远大于其他几个动物,然而正确的结果如果也是狼,那CE为0.67,很小,基本就猜对了。如果正确的结果是猪,那说明猜错了,CE为4.462,很大。

    在backward的时候,就要提高NN输出正确结果的数值(概率)。

    公式也就出来了:
    Y_i= \begin{cases} 1, \quad if\; yes \\0, \quad if\; no \end{cases}

    CrossEntropy = - \sum Y_i ln(p_i) + (1-Y_i)ln(1-p_i)

    Y可以看作是一个选择器,其实就是用Y去选,究竟用哪个x,用“是”的,还是“非”的,然后算ln求和:

    相关文章

      网友评论

          本文标题:重要概念:Softmax 和 Corssentropy 详解

          本文链接:https://www.haomeiwen.com/subject/qijmahtx.html