我设置了神经网络来预测输出变量为序数的事物。我将在下面使用三个可能的输出A <B <C进行描述。
很明显,如何使用神经网络输出分类数据:输出只是最后一个(通常是完全连接的)层的softmax,每个类别一个,而预测类别是最大输出值的类别(这是许多流行型号的默认设置)。我一直在使用相同的顺序值设置。但是,在这种情况下,输出通常没有意义,例如,A和C的网络输出为高,而B的网络为低:这对于序数值是不合理的。
我对此有一个想法,即根据输出与A的1 0 0,B的1 1 0和C的1 1 1进行比较来计算损耗。确切的阈值可以稍后使用另一个分类器(例如,贝叶斯(Bayesian))进行调整。 ),但这似乎捕获了输入排序的基本思想,而没有规定任何特定的间隔比例。
解决此问题的标准方法是什么?是否有任何研究或参考文献描述了不同方法的利弊?
1
我在Google上因“
—
常规
@ssdecontrol:有趣。我尝试过这个; 结果要好于选择一个具有最高值的输出,但比其他方法(朴素贝叶斯等)要差一些。这很有用,但是它无助于训练网络,只能在事后稍微改善结果……或者至少我不知道如何使它有助于训练网络。
—
Alex I
您尝试了哪个“它”?我唯一
—
要说的
另外,我不确定我的意思是“例如,A和C的网络输出较高,而B的网络输出较低:这是不合理的”。您的意思是您预测的As和C数量很多,而B却很少?除非您有实质性或特定领域的理由,否则我不认为这应该是不合理的
—
Shadowtalker
我也不知道您怎么会有“ 1 1 0”之类的输出。我认为这里的术语有些混乱。您是否在描述序数累积结果?像累积logit模型一样?
—
Shadowtalker'3