如何在没有softmax输出的情况下进行不相交分类?

时间:2016-03-31 12:35:14

标签: neural-network fann

正确的做法是什么?脱节' FANN中的分类(输出是互斥的,即真实概率总和为1),因为它似乎没有softmax输出的选项?

我的理解是使用sigmoid输出,就像做标记一样,我不会得到正确的分类问题结果。

1 个答案:

答案 0 :(得分:2)

FANN仅支持tanhlinear错误功能。正如你所说,这意味着神经网络输出的概率不会求和为1.实现softmax输出没有简单的解决方案,因为这将意味着改变成本函数,从而改变使用的误差函数在反向传播程序中。由于FANN是开源的,你可以自己看一下这个。关于Cross Validated的问题似乎给出了implement所需的方程式。

虽然不是您正在寻找的数学上优雅的解决方案,但我会尝试使用一些更粗糙的方法来解决softmax成本函数的实现 - 因为其中一个可能足以满足您的需要。例如,您可以使用tanh错误函数然后将所有输出重新正规化为总和1.或者,如果您实际上只对最可能的分类感兴趣,您可以采用最高的输出分数。

FANN背后的人Steffen Nissen提供了一个例子here,他试图根据字母频率对文本所写的语言进行分类。我认为他使用tanh错误函数(默认)并且只获得得分最高的班级,但他表示它运作良好。