关于Softmax函数的三个问题

2019-08-15  本文已影响0人  AIPlayer

未经同意,不得转载

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

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

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

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

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

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

Z=[1, 4, 2, 3]
[0, 1, 0, 0]

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

输出相应的类别概率为

[0.1, 0.4, 0.2, 0.3]

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

输出相应的类别概率为

[0.032, 0.644, 0.087, 0.237]

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

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

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

上一篇下一篇

猜你喜欢

热点阅读