尽管我们可以将每个值除以向量之和,但为什么使用softmax函数来计算概率?


20

在向量上应用softmax函数将产生“概率”和到之间的值。 01个

但是我们也可以将每个值除以向量之和,这将产生到之间的概率和值。01个

我在这里阅读了答案,但它说这是因为它是可区分的,尽管两个函数都是可区分的。


1
如果您先看逻辑回归,我认为它会更好。您的“目标”是将单调转换为(0,1)。这就是后勤功能要做的。请注意,实线上的任何累积(概率)分布函数都可以使用-请参见使用正态分布函数的概率回归。(,)
seanv507

Answers:


36

每当元素的总和为零时,您建议的函数就具有奇异性。

假设向量为。此向量的总和为0,因此未定义除法。该功能在这里不可区分。[1,13,23]

此外,如果向量的一个或多个元素为负,但总和为非零,则结果不是概率。

假设您的向量是。它的总和为1,因此应用函数的结果为,这不是概率向量,因为它具有负数元素,且元素数超过1。[1,0,2][1,0,2]

从更广泛的角度来看,我们可以从将二元logistic回归扩展到三个或三个以上分类结果的情况来激发softmax函数的特定形式。

如注释中所建议的那样执行绝对值或平方之类的事情,意味着和具有相同的预测概率;这意味着该模型未被识别。相比之下,对所有实数是单调且为正,因此softmax结果是(1)概率向量和(2)多项式逻辑模型。xxexp(x)X


非常感谢。我们可以通过除以绝对值的总和来解决这两个问题,对吗?
弗洛伊德

2
否。如果将两个示例的绝对值相加然后除以该和,会发生什么?
Sycorax说恢复莫妮卡

真的很感谢你。我明白了 但是我们可以通过获取分子的绝对值或为向量中的每个值计算来解决此问题。我并不想变得固执,我只是觉得很奇怪,人们发明了一个复杂的函数,尽管有更简单的函数来计算概率。我对数学不是很了解,所以也许还有其他数学特性xi2/sum(X2
弗洛伊德(Floyd)

8
您的提案对于仍然失败。softmax函数的其他原因与它的属性有关,这是二进制逻辑回归到多个结果情况的概括。我们有一个关于线程数这如stats.stackexchange.com/questions/349418/...[0,0,0]
Sycorax说恢复莫妮卡

8
除了Sycorax的观点之外,还应用或不具有减少矢量元素将始终减小其概率贡献的期望特性。减少负面因素将增加其贡献。具有很好的属性,它的输出对于所有实际输入都是正的,并且在整个实线上都是单调的。xi2/jxj2|xi|/j|xj|exp(x)
Bridgeburners

4

Softmax具有两个组件:

  1. 将组件转换为e ^ x。这使神经网络可以处理对数概率,而不是普通概率。这将乘以概率的普通运算转换为加法运算,这对于基于线性代数的神经网络结构而言自然而然。

  2. 将它们的总和标准化为1,因为这是我们需要的总概率。

一个重要的结果是贝叶斯定理对于这样的网络非常自然,因为它只是分母归一化的几率的乘积。

具有softmax激活的单层网络的琐碎情况等同于逻辑回归。

两个分量softmax的特殊情况等效于S型激活,因此在只有两个类时很流行。在多类分类中,如果类是互斥的,则使用softmax;如果它们是独立的,则使用按组件的S型。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.