neural-network - 为什么需要 softmax 函数?为什么不简单归一化?

标签 neural-network deep-learning softmax

我不熟悉深度学习,所以这可能是一个初学者问题。 在我的理解中,多层感知器中的 softmax 函数负责每个类的归一化和分布概率。 如果是这样,我们为什么不使用简单的归一化?

比方说,我们得到一个向量 x = (10 3 2 1) 应用 softmax,输出将为 y = (0.9986 0.0009 0.0003 0.0001)

应用简单规范化(将每个元素除以 sum(16)) 输出将为 y = (0.625 0.1875 0.125 0.166)

似乎简单的归一化也可以分布概率。 那么,在输出层使用softmax函数有什么好处呢?

最佳答案

归一化并不总是产生概率,例如,当您考虑负值时它就不起作用。或者如果值的总和为零怎么办?

但是使用 logits 的指数改变了这一点,理论上它永远不会为零,并且它可以将 logits 的整个范围映射到概率中。所以它是首选,因为它确实有效。

关于neural-network - 为什么需要 softmax 函数?为什么不简单归一化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45965817/

相关文章:

matlab - (matlab) 具有 relu 和 softmax 的 MLP 不适用于小批量 SGD,并在 MNIST 数据集上产生类似的预测

numerical - Logsoftmax 稳定性

python - 神经网络 - 输入标准化

java - 如何在 encog XOR 函数中提供字符串作为输入和输出?

python-3.x - 没有名为 cy_yolo_findboxes 的模块

python - 如何为keras使用自定义损失函数

python - pybrain 结果不佳

python - 创建输出两个 Y 变量的 LSTM 神经网络

machine-learning - 如何使用 deeplearning4j 将混合类型输入连接到多层网络中?