クレジット スコアリングに使用できるサンプル ニューラル ネットワークを作成しようとしています。これは私にとって複雑な構造なので、最初は小さく学ぼうとしています。
入力層 (2 ノード)、1 つの隠れ層 (2 ノード + 1 バイアス)、出力層 (1 ノード) を使用してネットワークを作成しました。これは、すべての層の活性化関数としてシグモイドを使用します。最初に a^2+b2^2=c^2 を使用してテストしようとしています。これは、入力が a と b になり、ターゲット出力が c になることを意味します。
私の問題は、入力値とターゲット出力値が (-/infty、+/infty) の範囲の実数であることです。したがって、これらの値をネットワークに渡すと、エラー関数は (target-network output) のようになります。それは正しいですか、正確ですか?ネットワーク出力 (0 から 1 の範囲) とターゲット出力 (多数) の差を取得しているという意味で。
解決策は最初に正規化することだと読みましたが、これを行う方法がよくわかりません。ネットワークに供給する前に、入力値とターゲット出力値の両方を正規化する必要がありますか? 正規化でさまざまな方法を読んだので、どの正規化関数を使用するのが最適ですか。最適化された重みを取得し、それらを使用していくつかのデータをテストした後、シグモイド関数のために 0 と 1 の間の出力値を取得しています。計算された値を正規化されていない/元の形式/値に戻す必要がありますか? または、入力値ではなくターゲット出力のみを正規化する必要がありますか? 望ましい結果が得られず、トレーニングアルゴリズムとテストに正規化のアイデアを組み込む方法がわからないため、これは本当に何週間も行き詰まりました..
どうもありがとうございました!!