多类分类的估计概率应该总和为 1

数据挖掘 机器学习 神经网络 深度学习 分类 多类分类
2022-02-18 14:02:14

我正在使用具有 sigmoid 激活函数的神经网络h(z)=1/(1+ez)为了将图像数据分为 6 类。在新图像数据上运行经过训练的神经网络时,我注意到所有 6 个类的假设输出的估计概率之和并不总是总和为 1。例如,给定输入图像,每个类的假设输出可能是:

1级---0.10

2 级 --- 0.11

3级---0.12

4级---0.13

5级---0.14

6级---0.15

我将此图像解释为具有13被分类到第 6 类的概率。但是,所有类的总和 < 1。

我的直觉说每个班级的概率总和应该为 1,但我对机器学习世界还是很陌生。

我的代码中可能有错误还是这是“正常”输出?

1个回答

总结一个或两个都可能有其特殊含义,我将尝试对其进行解释。如果您有不互斥的类,假设您有 dog 和 cat 类,它们都可以存在于图像中。在这种情况下,您应该使用sigmoid非线性作为每个类的输出并分别解释每个类。每一个大于一半的值都可以说明对应标签的存在。相反,您的输入可能是互斥的,这意味着在每个输入中您可能只有一只猫或一只狗。在这种情况下,您应该使用softmax非线性,是的,它的总和为 1。获胜者将是价值最高的人。