ニューラル ネットワークを作成しましたが、パフォーマンスは良好です。nprtool を使用すると、入力データとターゲット データを使用してネットワークをテストできます。これが私の質問です。提供されたターゲット データを使用してニューラル ネットワークをテストする目的は何ですか? ターゲット データが与えられていない場合、トレーニングされたニューラル ネットワークがどれだけうまく機能するかを知ることができるように、テストにはターゲット データが必要ではありませんか? 誰かがこれに応答することを願っています、ありがとう=)
3 に答える
私はよく知らないのですが、ニューラルネットワークに入力nprtool
データを提供し、NNの出力データをターゲットデータと比較する(そしてそれに基づいてある種の成功率を計算する)と思います。
したがって、NNはターゲットデータを参照することはなく、パフォーマンスを測定するために使用されるだけです。
学校の練習帳の「先生版」のようなものです。生徒(つまりNN)は解決策を持っていませんが、彼女/彼の答えは教師(つまりnprtool
)によってそれらと比較されます。(さて、先生はおそらく/うまくいけば主題を知っていますが、あなたは考えを理解します。)
「ターゲット」データは、ネットワークをトレーニングするための例として使用するt
ことが望ましいです。nprtool が行うことは、トレーニング セットを 3 つのグループ (トレーニング セット、検証セット、テスト セット) に分割することです。y
y=net(x)
最初のものは、実際にネットワークを更新するために使用されます。
2 番目のものは、ネットのパフォーマンスを決定するために使用されます (注: このセットは、ネットワークを更新するために使用されることはありません): NN がエラーを「学習」するにつれて ( と の差としてt
)net(x)
検証セットが減少します。この傾向は最終的に止まるか、逆転することさえあります。この現象は「オーバーフィッティング」と呼ばれます。これは、NN がトレーニング セットを追跡し、一般化する能力を犠牲にしてトレーニング セットを「記憶」していることを意味します (つまり、目に見えないデータでうまく機能することを意味します)。 . したがって、この検証セットの目的は、NN が過学習を開始する前にいつトレーニングを停止するかを決定することです。これはあなたの質問に答えるはずです。
最後に、3 番目のセットは外部テスト用であり、トレーニング手順によってデータのセットをそのままにしておくためのものです。