如何在 python 中使用 softmax 输出进行神经网络和机器学习来解释多项 Logit 模型? [复制]

Posted

技术标签:

【中文标题】如何在 python 中使用 softmax 输出进行神经网络和机器学习来解释多项 Logit 模型? [复制]【英文标题】:How to use softmax output in python for neural-network and machine-learning to interpret Multinomial Logit Model? [duplicate] 【发布时间】:2020-06-14 08:44:00 【问题描述】:

它涉及使用 softmax 函数输出进行机器学习和神经网络来理解和解释多项 Logit 模型。

【问题讨论】:

这能回答你的问题吗? How to implement the Softmax function in Python 我愿意接受你所有的想法。 您的回答和贡献很棒,但没有回答我的问题。为什么?因为你的答案和想法与我不同。 你觉得拉苏克怎么样?我想听听您对这个问题的想法和贡献。 【参考方案1】:

Softmax 函数是神经网络中深度学习中使用的最重要的输出函数之一(请参阅 Uniqtech 的《Understanding Softmax in minute》)。 Softmax 函数适用于存在三类或更多类结果的情况。 softmax 公式将 e 提高到每个值 score 的指数分数,然后除以 e 提高的指数分数值的总和。例如,如果我知道这四个类的Logit分数为:[3.00, 2.0, 1.00, 0.10],为了得到概率输出,可以应用softmax函数如下:

    将 numpy 导入为 np

    def softmax(x):

    z = np.exp(x - np.max(x)) 返回z / z.sum() 分数 = [3.00, 2.0, 1.00, 0.10]

    print(softmax(scores))

    输出:概率 (p) = 0.642 0.236 0.087 0.035

所有概率的总和 (p) = 0.642 + 0.236 + 0.087 + 0.035 = 1.00。您可以尝试将上述分数中您知道的任何值替换为不同的值。所有值或概率的总和将等于 1。这是有道理的,因为所有概率的总和等于 1,从而将 Logit 分数转换为概率分数,这样我们就可以更好地预测。最后,softmax 的输出,可以帮助我们理解和解释 Multinomial Logit Model。如果您喜欢这些想法,请在下方留下您的 cmets。

【讨论】:

我愿意接受您对上述问题的所有想法和贡献。

以上是关于如何在 python 中使用 softmax 输出进行神经网络和机器学习来解释多项 Logit 模型? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Keras 中更改 softmax 输出的温度

如何在 Tensorflow 中用 Logistic 层替换 Softmax 输出层?

softmax及python实现

在 Keras 层中使用 softmax 激活时如何指定轴?

在pytorch中使用交叉熵损失时我应该使用softmax作为输出吗?

如何从具有 2 个输出神经元的 softmax 二元分类器绘制 ROC 曲线?