正确的做法是什么?脱节' FANN中的分类(输出是互斥的,即真实概率总和为1),因为它似乎没有softmax输出的选项?
我的理解是使用sigmoid输出,就像做标记一样,我不会得到正确的分类问题结果。
答案 0 :(得分:2)
FANN仅支持tanh
和linear
错误功能。正如你所说,这意味着神经网络输出的概率不会求和为1.实现softmax
输出没有简单的解决方案,因为这将意味着改变成本函数,从而改变使用的误差函数在反向传播程序中。由于FANN是开源的,你可以自己看一下这个。关于Cross Validated的问题似乎给出了implement所需的方程式。
虽然不是您正在寻找的数学上优雅的解决方案,但我会尝试使用一些更粗糙的方法来解决softmax
成本函数的实现 - 因为其中一个可能足以满足您的需要。例如,您可以使用tanh
错误函数然后将所有输出重新正规化为总和1.或者,如果您实际上只对最可能的分类感兴趣,您可以采用最高的输出分数。
tanh
错误函数(默认)并且只获得得分最高的班级,但他表示它运作良好。