美文网首页
关于Softmax函数的三个问题

关于Softmax函数的三个问题

作者: AIPlayer | 来源:发表于2019-08-15 22:55 被阅读0次

    未经同意,不得转载

    在神经网络中,Softmax通常作用于分类模型最后的输出,将分类结果归一化为(0,1)区间,表示各分类结果的概率。它的函数形式为:

    对于这个可爱的函数式子,有3个问题:

    (1)为什么分母是所有类别的加权和?

    其实就是简单的归一化操作,将输入映射为(0,1)之间的概率值。

    (2)为什么要引入指数形式?

    直观来讲是为了拉开各类别间的差异,怎么理解呢?举个例子:假设输入的得分值为

    Z=[1, 4, 2, 3]
    
    • 使用argmax函数,则输出的分类结果为
    [0, 1, 0, 0]
    

    这个输出完美地符合实际情况。这个卵很完美,然而并没有什么用,因为argmax函数并不是处处可微的,我们无法用它来训练模型。

    • 使用加权归一化函数

    输出相应的类别概率为

    [0.1, 0.4, 0.2, 0.3]
    

    这跟argmax得出的完美的卵相差有点远。

    • 引入以 e 为底的指数并加权归一化,即softmax

    输出相应的类别概率为

    [0.032, 0.644, 0.087, 0.237]
    

    这个结果将分类概率拉开了距离,富的越富,穷的越穷,最终富的消灭穷的,达到共同富裕,也就更接近期望值(就是那个完美的卵)。这主要得益于引入的指数函数,请看它的曲线,一目了然:

    (3)为什么不用2、4、10等自然数为底而要以 e 为底呢?

    因为 e 在数学界长得自然且漂亮,所以它叫自然指数。其实主要是在求导的时候足够方便,关于softmax的求导,这里就不展开了。

    相关文章

      网友评论

          本文标题:关于Softmax函数的三个问题

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