私はニューラルネットワークで遊んでいます。あまり問題なく XOR 関数を近似することから始めました。しかし、その後、sqrt 関数を近似する問題に取り組みました。
問題は、入力と出力が、]0,1[ の数値だけでなく、任意の実数になる可能性があることです。
実数を直接出力できるように、ニューラルネットワークでそれを処理できる方法はありますか?
または、入力データと出力データを ]0,1[ の範囲に正規化する必要がありますか? それは精度の損失ではありませんか?
ありがとう
私はニューラルネットワークで遊んでいます。あまり問題なく XOR 関数を近似することから始めました。しかし、その後、sqrt 関数を近似する問題に取り組みました。
問題は、入力と出力が、]0,1[ の数値だけでなく、任意の実数になる可能性があることです。
実数を直接出力できるように、ニューラルネットワークでそれを処理できる方法はありますか?
または、入力データと出力データを ]0,1[ の範囲に正規化する必要がありますか? それは精度の損失ではありませんか?
ありがとう
g(a) = a (identity) など、出力層で別の活性化関数を選択できます。ただし、非線形関数を近似するには、非線形活性化関数 (tanh、ロジスティック) を持つ隠れ層が必要です。
最後に、最も合理的で一般的な解決策は、入力を正規化してから出力を非正規化することであることがわかりました。
ユーザーは入力/出力範囲を設定する必要があり、その後すべてがうまく機能します。
これは、ほとんどのニューラル ネットワーク フレームワークで行われていることです。