2012-04-10 8 views
1

ANNの初心者:バックプロパゲーションニューラルネットワークで選択セットを使用するタイミングはいつですか?

私は金の価格を予測するためにバックプロパゲーションニューラルネットワークを実装しています。データをトレーニングデータ、選択データ、テストデータに分割する必要があることはわかっています。

私はこれらのデータセットを使用することについてに行くために方法がわからないが。最初は私のトレーニングセットでデータネットワークを訓練していました。訓練を受けた後、テストセットからネットワークへの入力を数多く得て、出力を比較しています。

私はこの権利をやってるし、選択セットが入って来ないし、かどうかわからないんだけど?

ありがとうございます!

答えて

1

一般的な考え方は次のとおりです。

  1. 列車トレーニングセットに少しの間のネットワーク。
  2. ネットワークを2番目のセット(評価セットと呼ばれることもあります)で評価します。おそらくあなたが選択セットと呼んでいるものでしょう。
  3. トレーニングセットでもう少しネットワークを訓練してください。
  4. 選択セットの新しいネットワークを再度評価します。
  5. 古いネットワークまたは新しいネットワークのどちらが優れていますか?新しいネットワークが良ければ、まだ訓練から使い果たしているので、3に行く。新しいネットワークが悪ければ、より多くの訓練がおそらく傷つけるだけだろう。以前のバージョンのネットワークを使用してください。このようにして

訓練を停止するとき、あなたが言うことができます。行に悪いことやるトレーニングの試みの

これに対する1つの簡単な変更は、常にこれまで見て最高のネットワークを追跡することであり、我々はいくつかの番号(たとえば、3)を見ると、我々は唯一の訓練を停止します。

第三のセットは、テスト・セットは、選択セットがあるため、もし間接的に、訓練プロセスに関与する必要があります。最終的な評価は、トレーニング中にまったく使用されなかったデータに対して行う必要があります。

このようなことは簡単な実験では十分ですが、通常はシステムのパフォーマンスをよりよく知るためにcross-validationを使用します。

+0

素晴らしい!あなたはより良い説明の感謝を与えることができなかった! – Jonny

0

私は、検証セットは機種依存のハイパーパラメータチューニングのための良い場所であることを言ってコメントを残したかったが、私はここに新しいですので、そうするために評判ポイントを欠いています。これをさらに別の投稿にするには、私自身の列車検証テストプロセスの概要を含めました。実際には、私のワークフローは次のとおりです。

  1. データの特定、収集、およびクリーンアップ。データの処理中に不平を言うことを制限してください。
  2. データをトレーニング、検証、テストの3つのセットに分割します。
  3. プロセスで後で構築されるより複雑なモデルを評価するための2つの「ベース」モデルを確立します。これらのモデルの最初のものは、典型的にはすべての可能な特徴を使用する基本的な線形/ロジスティック回帰です。第2のモデルは、最も有益な(情報的特徴の最初の識別は、ユースケースに依存し、通常、ドメイン知識、基本的なクラスタリング、単純な相関の組み合わせを含む)のみを使用する。
  4. より経験的な機能の選択(教師なしNN、通常ランダムフォレスト)を開始し、トレーニングセットを使用して幅広いモデルのプロトタイプを作成します。
  5. 有益ではないモデルと情報がない機能を排除する
  6. トレーニングセットの変更バージョン(同じデータですが、重要ではない機能を使用)を使用して、残りのモデルと「ベース」モデルのパフォーマンスを比較します。パフォーマンスの低いモデルを投げる
  7. 検証セットを使用して、モデルのそれぞれに適切なハイパーパラメータを調整します(手動またはグリッド検索のいずれかで)。考慮するモデルの数をさらに減らし、理想的にはわずか2-3(基本モデルを除く)に減らします。
  8. 最後に、テストセットで(最適化されたハイパーパラメータを使用して)モデルのパフォーマンスを評価します。ここでも、モデル間でモデルを比較し、ベースモデルと比較します。計算上の複雑さ/コスト、解釈の容易さ/透明性/「説明能力」、および改善および/または性能対基本モデルの問題に特有の適切な組み合わせに基づいて、最終的なモデル選択を行う。
関連する問題