2016-03-31 37 views

回答

2

FANN仅支持tanhlinear错误功能。正如你所说,这意味着神经网络输出的概率不会等于1.实现输出的方法并不容易,因为这意味着要改变成本函数并因此改变反向传播例程中使用的误差函数。由于FANN是开源的,你可以看看自己实现这一点。关于交叉验证的问题似乎给了你必须implement的方程。

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

FANN背后的家伙Steffen Nissen举了一个例子here,他试图根据字母频率来分类写入文本的语言。我认为他使用了一个tanh错误函数(默认值),并且只用最高分的课程,但他表示它运作良好。

相关问题