对于分类问题,通常如何确定网络的输出?
比方说,有三个可能的类,每个都有一个数字标识符,合理的解决方案是将输出相加并将该总和作为网络的总输出?或者你会采用网络输出的平均值吗?
有很多关于人工神经网络理论的信息,但关于应用程序的信息不多,但如果这是一个愚蠢的问题,我会大肆宣传。
答案 0 :(得分:5)
对于具有3个类的多层感知器分类器,通常构建具有3个输出的网络并训练网络,使得(1,0,0)是第一类的目标输出,(0,1,0) )对于第二类,和(0,0,1)为第三类。为了对新观察进行分类,通常选择具有最大值的输出(例如,(0.12,0.56,0.87)将被归类为第3类)。
答案 1 :(得分:0)
我主要与bogatron达成一致意见,你会发现很多帖子在这里建议用神经网络进行这种“多类分类”。
关于你的标题,我想补充一点,你可以将输出解释为概率,因为我努力为此找到理论基础。继续我将讨论输出层中有3个神经元的神经网络,表示相应类别的1个神经网络。 由于所有三个输出的总和在训练中总是为1,神经网络也会给前馈输出一个总和(所以相反(0.12 0.36 0.52)比bogatrons例子))然后你可以将这些数字解释为相应输入属于1/2/3级的概率(概率为0.52,属于3级)。
使用逻辑函数或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?