如何理解多类神经网络的输出

Posted

技术标签:

【中文标题】如何理解多类神经网络的输出【英文标题】:How to understand output from a Multiclass Neural Network 【发布时间】:2019-01-30 20:37:06 【问题描述】:

使用神经网络多类模块在 Azure ML 中构建流(有关设置,请参见图片)。

更多关于 Multiclass 的信息:

数据流很简单,80/20 分割。

在数据进入 Azure 之前进行数据准备。数据如下:

当我想理解输出并尽可能将输出转换/计算为概率时,我的问题就出现了。输出如下所示:

我的问题:如果我的模型的得分概率输出为 0.6 并且得分标签 = 1,那么得分标签的模型有多确定 1?我如何确定实际结果会是 1?

我可以安全地假设 0.80 的得分概率 = 80% 的结果机会吗?或者我应该注意什么类型的结果?

【问题讨论】:

回答没有帮助? 是的,我赞成。但我希望得到更多的答案 我不认为你会得到 - 这几乎是标准的员工;但是哪一部分还不清楚? 我阅读了您的“我在预测类或类概率中的答案?”但仍然没有得到它。有没有办法让我从“得分概率”中计算出实际概率百分比? ?? - 你已经得到它们 - 它们你的得分概率,0.973 是 97.3% 等等......严格来说,概率是 [0,1] 中的数字,比如你得到的,百分比转换是只是为了更方便的沟通... 【参考方案1】:

首先,您处于 二元 分类设置中,而不是多类设置(我们通常在类数 > 2 时使用此术语)。

如果我的模型的得分概率输出为 0.6 并且得分标签 = 1,那么得分标签的模型有多确定为 1?

实践中,得分概率通常被解释为模型的置信度;因此,在本例中,我们会说您的模型对特定样本属于第 1 类有 60% 的置信度(互补性,对它属于第 0 类有 40% 的置信度)。

我如何确定实际结果会是 1?

如果您自己没有任何替代方法来计算此类结果(例如不同的模型),我看不出这个问题与您之前的问题有何不同。

我可以安全地假设 0.80 的得分概率 = 80% 的结果机会吗?

这种说法会让专业统计学家发疯;尽管如此,上面关于置信度的说明应该足以满足您的目的(对于 ML 从业者来说确实足够了)。

我在Predict classes or class probabilities? 的回答应该也会有所帮助。

【讨论】:

以上是关于如何理解多类神经网络的输出的主要内容,如果未能解决你的问题,请参考以下文章

神经网络中回归模型输出层的激活函数

用于不平衡多类多标签分类的神经网络

Encog中的多类SVM分类

用于多类分类问题的 Keras 输出层,取值范围为 -128 到 127

如何找出概率输出中每列的哪个类对应于使用Keras进行多类分类?

如何使用 keras 堆叠 LSTM 模型正确塑造多类分类的输入