为什么我们要使用 Softmax?

数据挖掘 神经网络 分类 多类分类
2021-10-10 06:28:45

为什么要在最后一层使用 softmax 来解决多类分类问题?例如向量 [1, .5] 的 softmax

是 [.621, .379]

我的意思是,如果我们只采用直接比率,它会给我 [.667, .333]

这真的有区别吗?

是不是因为向量可以有负数,我们 softmax 的东西?以一种更奇怪的方式为某些数字提供比率/概率,而不是仅仅取数字的比率,我们能得到什么好处?

1个回答

该比率没有考虑到最后一层可能有负面结果的事实,在这种情况下,该比率不起作用,而softmax确实如此。另一个极端情况是比率的分母是否为零。

此外,softmax 有两个有趣的特性:

  1. 它将通过压缩较低的值并增加最高值来突出输入和输出之间的差异,这使得网络的输出更接近于 amax而不是 a softmax(请注意,这max是不可微的,因此不能使用)。
  2. 在使用softmax层的分类问题中,损失函数是交叉熵,其形式为- y * log(y_hat)原来logsoftmax很容易计算,因为log(a/b)islog(a) - log(b)log(exp(x))is simple x这让人softmax更加渴望。