現在、神経回路網を使用して回帰予測を試みています。ニューラルネットワーク回帰:出力をスケーリングするか線形層を使用しますか?
しかし、NNで回帰予測を行う2つの異なる方法があると読んだので、これを処理する最も良い方法は何か分かりません。
1)一部のウェブサイト/記事では、直線的な最終レイヤーを追加することを提案しています。私の最後の層は、私が思う、次のようになり http://deeplearning4j.org/linear-regression.html
:
layer1 = tanh(layer0*weight1 + bias1)
layer2 = identity(layer1*weight2+bias2)
また、私はこのソリューションを使用するとき、私は通常、バッチ予測の平均値である予測を得ることに気づきました。そして、これは、最後から2番目の層としてtanhまたはsigmoidを使用する場合です。
2)他のいくつかのウェブサイト/記事では、出力を[-1,1]
または[0,1]
にスケールし、tanhまたはsigmoidを最終層として使用することを推奨しています。
これらの2つのソリューションは受け入れられますか?どちらを選ぶべきですか?
おかげで、
ポール
私の遅い答えに申し訳ありませんが、あなたの答えに感謝します。 出力値をスケーリングしてから、それらをスケーリングしようとしました.Sigmoidの場合は[0,1]、tanhの場合は[-1,1]です。 精度の結果の違いは信じられないほどではありませんが、スケーリングされていない値を使用すると、モデルは変わることは決してありません。 –