【问题标题】:How to do disjoint classification without softmax output?如何在没有 softmax 输出的情况下进行不相交分类?
【发布时间】:2016-07-19 22:09:05
【问题描述】:

在 FANN 中进行“不相交”分类(输出互斥,即真实概率总和为 1)的正确方法是什么,因为它似乎没有 softmax 输出的选项?

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

【问题讨论】:

    标签: neural-network fann


    【解决方案1】:

    FANN 仅支持 tanhlinear 错误函数。这意味着,正如您所说,神经网络输出的概率之和不会为 1。实现softmax 输出没有简单的解决方案,因为这将意味着更改成本函数,从而更改在反向传播例程。由于 FANN 是开源的,你可以看看自己实现它。 Cross Validated 上的一个问题似乎给出了您必须implement 的方程式。

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

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

    【讨论】:

      猜你喜欢
      • 2018-10-29
      • 2013-10-16
      • 1970-01-01
      • 1970-01-01
      • 2012-10-20
      • 1970-01-01
      • 2019-11-05
      • 2016-04-05
      • 1970-01-01
      相关资源
      最近更新 更多