Machine learning 解释神经网络输出

Machine learning 解释神经网络输出,machine-learning,neural-network,Machine Learning,Neural Network,对于分类问题,通常如何确定网络的输出 比如说,有三个可能的类,每个类都有一个数字标识符,合理的解决方案是对输出求和,并将该和作为网络的总输出?或者你会取网络输出的平均值 有很多关于ANN理论的信息,但关于应用的信息不多,但我怀疑这是否是一个愚蠢的问题。对于具有3个类的多层感知器分类器,通常要构造一个具有3个输出的网络,并训练网络,以便(1,0,0)是第一个类的目标输出,(0,1,0)对于第二类,和(0,0,1)对于第三类。对于分类新观察,通常选择具有最大值的输出(例如,(0.12,0.56,0.

对于分类问题,通常如何确定网络的输出

比如说,有三个可能的类,每个类都有一个数字标识符,合理的解决方案是对输出求和,并将该和作为网络的总输出?或者你会取网络输出的平均值


有很多关于ANN理论的信息,但关于应用的信息不多,但我怀疑这是否是一个愚蠢的问题。

对于具有3个类的多层感知器分类器,通常要构造一个具有3个输出的网络,并训练网络,以便(1,0,0)是第一个类的目标输出,(0,1,0)对于第二类,和(0,0,1)对于第三类。对于分类新观察,通常选择具有最大值的输出(例如,(0.12,0.56,0.87)将被分类为类别3)。

对于具有3个类别的多层感知器分类器,通常使用3个输出构建网络,并训练网络,使(1,0,0)成为第一个类别(0,1,0)的目标输出对于第二类,和(0,0,1)对于第三类。对于一个新的观察结果进行分类,你通常会选择具有最大值的输出(例如,(0.12,0.56,0.87)将被分类为3级)。

我大部分同意bogatron的观点,而且你会在这里找到许多关于神经网络“多类分类”的建议

关于你的标题,我想补充一下,你可以把输出解释成一个概率,因为我努力寻找这个理论基础。接下来,我将讨论一个在输出层中有3个神经元的神经网络,表示每个类有1个神经元。 由于所有三个输出的总和在训练中始终为1,因此神经网络也将给出前馈输出的总和为1(因此(0.12 0.36 0.52)而不是bogatrons示例),然后您可以将这些数字解释为相应输入属于1/2/3类的概率(属于3类的概率为0.52))

当使用逻辑函数或tanh作为激活函数时,这是正确的

有关这方面的更多信息: 通过神经网络的后验概率:

我基本上同意bogatron的观点,而且你会发现这里有很多帖子建议使用神经网络进行这种“多类别分类”

关于你的标题,我想补充一下,你可以把输出解释成一个概率,因为我努力寻找这个理论基础。接下来,我将讨论一个在输出层中有3个神经元的神经网络,表示每个类有1个神经元。 由于所有三个输出的总和在训练中始终为1,因此神经网络也将给出前馈输出的总和为1(因此(0.12 0.36 0.52)而不是bogatrons示例),然后您可以将这些数字解释为相应输入属于1/2/3类的概率(属于3类的概率为0.52))

当使用逻辑函数或tanh作为激活函数时,这是正确的

有关这方面的更多信息: 通过神经网络的后验概率:

谢谢您的回复。你所说的新观察结果到底是什么意思?谢谢。为了清楚起见,其他方法是否有效,比如我在第一篇文章中提到的那些方法?如果你问的是采用输出的总和或平均值是否合理,那么不,我认为这不是一种可行的分类方法。分类的要点是在各种类别之间进行选择(即,从三个类别中选择一个)。如果对三个输出节点的值求和或求平均值,则将失去区分这三个类的能力。也就是说,总和或平均值中可能仍然有有用的信息(例如,接近3的值表示错误分类的概率更高)。很好,谢谢。我现在正在使用一种类似于你建议的表示法。你是说最大值,它的大小中的最大值(即取绝对值后)?如果我们有输出[-.2.5-1],将决定将输入分类到哪个类?感谢您的回复。你所说的新观察结果到底是什么意思?谢谢。为了清楚起见,其他方法是否有效,比如我在第一篇文章中提到的那些方法?如果你问的是采用输出的总和或平均值是否合理,那么不,我认为这不是一种可行的分类方法。分类的要点是在各种类别之间进行选择(即,从三个类别中选择一个)。如果对三个输出节点的值求和或求平均值,则将失去区分这三个类的能力。也就是说,总和或平均值中可能仍然有有用的信息(例如,接近3的值表示错误分类的概率更高)。很好,谢谢。我现在正在使用一种类似于你建议的表示法。你是说最大值,它的大小中的最大值(即取绝对值后)?如果我们有输出[-.2.5-1],将决定将输入分类到哪个类别?只是为了澄清关于我使用的示例输出-一般来说,除非在输出层中执行了规范化,否则网络输出将不会总和为1(我没有做出该假设)。如果它们是标准化的,那么正如您所说的,输出可以解释为概率。关于@VisionDecision关于输出总和/平均值的问题,如果输出被归一化,总和和平均值将没有意义(总和将始终为1,平均值将始终为1/3)。归一化的事情也是有意义的,但在某个地方我得到了这样的想法,即它是训练神经网络固有的,正如在ANN中学习到的,输出之和总是1[0,0,1]/[1,0,0]等。另一方面,为什么NN不应该学习到输出之和总是1?您通常以tra为目标训练网络