artificial-intelligence - 如何将人工神经网络的输出转换为概率?

标签 artificial-intelligence neural-network

不久前我读过关于神经网络的文章,我了解 ANN(尤其是通过反向传播学习的多层感知器)如何学会将事件分类为真或假。

我认为有两种方法:

1) 你得到一个输出神经元。它的值 > 0.5 事件可能是真的,如果它的值 <=0.5 事件可能是假的。

2)你得到两个输出神经元,如果第一个的值大于第二个的值,则事件可能为真,反之亦然。

在这些情况下,ANN 会告诉您某个事件可能是真的还是可能是假的。它没有说明它的可能性有多大。

有没有办法将此值转换为某些赔率或直接从 ANN 中获得赔率。我想得到类似“事件有 84% 的概率是真的”这样的输出

最佳答案

一旦神经网络被训练,例如。使用问题中提到的反向传播(反向传播逻辑以最小化误差函数的方式“微调”权重)与所有单个输入(“外部”输入或神经网络内输入)相关联的权重是固定的。然后可以将 NN 用于分类目的。

因此,学习阶段的数学(和“选项”)可能会变得有点厚,作为分类器操作时它相对简单和直接。主要算法是计算每个神经元的激活值,作为该神经元输入 x 权重的总和。然后将该值馈送到激活函数,其目的是对其进行规范化并将其转换为 bool 值(在典型情况下,因为某些网络对其某些层没有全有或全无的规则)。激活函数可能比您指出的更复杂,特别是它不必是线性的,但无论它的形状如何,通常是 sigmoid,它都以相同的方式运行:找出激活函数在曲线上的位置,如果适用,则在上面或低于阈值。然后,基本算法处理给定层的所有神经元,然后再进行下一层。

考虑到这一点,使用感知器的能力用百分比值限定其猜测(或实际上是猜测 - 复数)的问题找到了一个简单的答案:你打赌它可以,它的输出是实值的(如果有的话)需要归一化),然后我们使用问题中描述的激活函数和阈值/比较方法将其转换为离散值(在多个类别的情况下为 bool 值或类别 ID)。

所以......我如何以及在哪里获得“我的百分比”?......一切都取决于NN的实现,更重要的是,该实现决定了可用于将激活值带入0-1的归一化函数的类型范围和所有百分比的总和“加起来”为 1 的方式。在最简单的形式中,激活函数可用于对值进行归一化,输出层输入的权重可用作确保“加起来”到 1 个问题(前提是这些权重本身确实如此归一化)。

等等!

澄清 :(按照马修的注释)
人们不需要改变神经网络本身的工作方式;唯一需要做的就是以某种方式“ Hook ”输出神经元的逻辑以访问它们计算的 [实值] 激活值,或者,可能更好的是,在其 bool 转换之前访问激活函数的实值输出(通常基于阈值或某些随机函数)。

换句话说,NN 和以前一样工作,它的训练和识别逻辑都没有改变,NN 的输入保持不变,各个层之间的连接也是如此。我们只得到了实值激活的副本输出层中的神经元,我们用它来计算一个百分比。百分比计算的实际公式取决于激活值的性质及其相关函数(其规模、相对于其他神经元输出的范围等)。
以下是一些简单的案例(取自问题的建议输出规则)
1)如果有单个输出神经元:激活函数提供的值相对于该函数的范围的比率应该做的。
2)如果有两个(或多个输出神经元),例如分类器:如果所有输出神经元具有相同的激活函数,则给定神经元的百分比是其激活函数值除以所有激活函数的总和的百分比值。如果激活函数发生变化,则情况会因具体情况而异,因为不同的激活函数可能表明有意为某些神经元赋予更多权重,百分比应尊重这一点。

关于artificial-intelligence - 如何将人工神经网络的输出转换为概率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1523420/

相关文章:

algorithm - 关于带有 alpha beta 修剪的随机性和 minmax 算法

python - 迁移学习失败,因为密集层预计具有形状(无,1)

machine-learning - 如何在caffe和torch中设置本地偏差?

python - 感知器学习算法不起作用

machine-learning - keras 结合预训练模型

c# - AI 运动 100% 像 C64 上的游戏 MAFIA

algorithm - 在序言中,您如何表示对象执行的状态转换和操作?

python - 从 TensorFlow 对象中检索数据 - 来自 correct_prediction 的 bool 值列表

java - 添加 Java.Swing 计时器以同步玩家和 AI 的 US

artificial-intelligence - 尽管训练正确,HTTP 服务仍返回错误意图