参考 softmax 分类器的对数概率

机器算法验证 机器学习 神经网络 信息论 软最大
2022-03-13 03:56:55

在这个https://cs231n.github.io/neural-networks-case-study/为什么它提到“Softmax 分类器将 ff 的每个元素解释为持有三个类的(非标准化)对数概率。”

我明白为什么它是非规范化的,但不明白它为什么是日志?对数概率是什么意思?

为什么不直接说非标准化概率呢?

1个回答

概率和对数概率之间存在差异。如果一个事件的概率是 0.36787944117,恰好是,那么对数概率是 -1。1/e

因此,如果给你一堆非规范化的对数概率,并且你想恢复原始概率,首先你取所有数字的指数,这会给你非规范化的概率。接下来,您像往常一样对它们进行标准化。从数学上讲,这是

pj=ezjiezi

其中是第个类是 softmax 分类器的输入。pjjzi

显而易见的问题是为什么要费心做指数。为什么不使用

pj=zjizi

反而?

造成这种情况的一个原因是因为 softmax 很好地处理了交叉熵损失,即,其中是真实分布(标签)。直观上,对数用指数抵消,这对我们很有帮助。Eq[logp]q

的输入取交叉熵损失的梯度,你会得到 z

p1j

当地面实况标签在类中并且是相应的 one-hot 向量时。这是一个非常好的表达式,并且易于解释和优化。j1j

另一方面,如果你尝试使用非归一化概率而不是非归一化对数概率,你最终得到的梯度是

1izi1jT1z

这个表达式在可解释性方面不太好,当接近 0 时,您还可以看到潜在的数值问题。z

使用对数概率的另一个原因可以从逻辑回归中看出,这只是 softmax 分类的一个特例。sigmoid 函数的形状效果很好,因为直观地说,当您在特征空间中移动时,类的概率不会随输入线性变化。sigmoid 函数中的急剧弯曲,强调了两个类别之间的尖锐边界,实际上是我们应用于 softmax 输入的指数项的结果。