2016-03-31 9 views
4

softmax出力のオプションがないと思われるため、FANNの「分離型」分類(出力が相互排他的、つまり真の確率の合計が1)を行う正しい方法は何ですか?ソフトマックス出力を使用しないディスジョイント分類の仕方は?

私は、「ラベル付け」をしているかのように、シグモイド出力を使用することで、分類問題に対して正しい結果を得られないことを理解しています。

答えて

2

FANNは、tanhlinearエラー機能のみをサポートしています。これは、ニューラルネットワークによって出力される確率が1にならないということを意味します。softmax出力を実装するのは簡単な解決策ではありません。これは、コスト関数、したがってバックプロパゲーションルーチンで使用されるエラー関数を変更することを意味するためです。 。 FANNはオープンソースなので、これを自分で実装することができます。 Cross Validatedに関する質問は、あなたが持つべき方程式をimplementに与えるようです。

あなたが探している数学的に洗練されたソリューションではありませんが、softmaxコスト関数の実装に取り​​組む前に、いくつかのより重大なアプローチで試してみてください。たとえば、tanhエラー関数を使用して、すべての出力を合計して1になるようにすることができます。実際には最も可能性の高い分類に関心がある場合は、最高得点で出力します。

ステファンニッセン(FANNの後ろの人物)は、hereの例を示しています。文字の頻度に基づいてテキストの言語を分類しようとしています。私は彼がtanhエラー関数(デフォルト)を使用していると思うだけで最大のスコアを持つクラスを取るが、彼はそれがうまく動作することを示します。

関連する問題