gpt4 book ai didi

python - 将 sigmoid 结果解释为神经网络中的概率

转载 作者:行者123 更新时间:2023-12-01 00:34:35 27 4
gpt4 key购买 nike

我在最后一层创建了一个带有 sigmoid 激活函数的神经网络,所以我得到的结果在 0 到 1 之间。我想将事物分为 2 个类,所以我检查“数字是否 > 0.5,然后类1 其他 0 级”。都是基本的。但是,我想说“它在 0 类中的概率是 x,在 1 类中的概率是 y”。

我该怎么做?

  • 像 0.73 这样的数字是否表明它有 73% 的可能性属于 1 类?那么 1-0.73 = 0.27 那么 27% 属于 0 类?
  • 当它为 0.27 时,是否意味着 0 类的确定性为 27%,1 类的确定性为 73%?毫无意义。

我应该使用 0.5 并查看“数字离中心有多远,然后就是百分比”?

或者我误解了神经网络的结果?

最佳答案

正如 Teja 所指出的,简短的答案是否定的,但是,根据您使用的损失,它可能比您想象的更接近事实。

想象一下,您尝试训练网络将数字区分为两个任意类别: beautifulugly 。假设您输入的号码是 010有一个 0.2被标记的概率ugly1有 o 0.6成为ugly的概率.

想象一下您的神经网络将 0 作为输入和 1 s,将它们传递到一些层,并以 softmax 函数结束。如果您的损失是二元交叉熵,那么您的网络的最佳解决方案是输出 0.2当它看到0时在输入和 0.6当它看到1时输入(这是交叉熵的一个属性,当您输出每个标签的真实概率时,它会被最小化)。因此,您可以将这些数字解释为概率。

当然,现实世界的例子并不那么容易,并且通常是确定性的,因此解释有点棘手。然而,我相信,只要你使用交叉熵作为损失,将你的结果视为概率并不是完全错误的。

抱歉,这个答案不是非黑即白,但现实有时很复杂;)

关于python - 将 sigmoid 结果解释为神经网络中的概率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57903518/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com