2013-02-15 97 views
0

对于分类问题,通常如何确定网络的输出?解释神经网络输出

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

关于ANN理论有很多信息,但没有太多关于应用的信息,但是如果这是一个愚蠢的问题,我会支持。

回答

5

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

+0

感谢您的答复。一个新的观察结果到底是什么意思?谢谢。 – 2013-02-15 18:57:57

+0

未用于训练网络的观察结果。 – bogatron 2013-02-15 18:58:36

+0

啊,我明白了,谢谢。 – 2013-02-15 19:00:40

0

我主要赞同bogatron,并且你会在这里找到很多关于神经网络这种“多类分类”的建议。

关于您的标题,我想补充一点,您可以将该输出解释为概率,因为我努力为此找到理论基础。继续我将讨论在输出层中有3个神经元的神经网络,为相应的类指示1。 由于训练中所有三个输出的总和总是1,所以神经网络也将给出前馈输出的总和为1(相当于(0.12 0.36 0.52)(比例如bogatrons))然后你可以将这些数字解释为相应输入属于1/2/3类(概率为0.52,属于类3)的概率)。

使用logistic函数或tanh作为激活函数时,这是正确的。

更多内容:通过神经网络 后验概率:http://www-vis.lbl.gov/~romano/mlgroup/papers/neural-networks-survey.pdf
How to convert the output of an artificial neural network into probabilities?

+0

只是为了澄清关于我使用的示例输出 - 一般来说,除非在输出层中执行了标准化(我没有做出这个假设),否则网络输出不会加到一。如果他们是正常化的,那么正如你所说的那样,输出可以被解释为概率。关于@ VisionIncision关于产出总和/均值的问题,如果产出被归一化,那么总和和平均值将没有意义(总和将总是1,平均值总是1/3)。 – bogatron 2013-02-15 22:07:24

+0

规范化的东西也是有道理的,但在某个地方我有这样的想法,它是一个经过训练的神经网络固有的,因为在人工神经网络中学习总是1 [0,0,1]/[1,0,0 ]等等。另一方面,为什么NN_not_不知道输出总和总是1? – fanfabbb 2013-02-16 08:21:58

+0

你通常训练网络的目标是训练的全部零点和一个单一的输出(对应于正确的类),但是错误不能总是减少到零(即使可以,总是希望它,因为你可能会过度适应你的解决方案)。还回想一下,逻辑函数(也称为sigmoid)在负和正无穷大处仅具有0或1的输出,这在实践中是我们永远不会看到的。 – bogatron 2013-02-16 14:07:21