アンサンブル学習のk倍交差検証


20

アンサンブル学習のk倍交差検証のためにデータを分割する方法について混乱しています。

分類のためのアンサンブル学習フレームワークがあると仮定します。最初のレイヤーには、svm、決定木などの分類モデルが含まれています。

2番目のレイヤーには、最初のレイヤーからの予測を組み合わせて最終的な予測を行う投票モデルが含まれています。

5つのフォールドクロス検証を使用する場合、5つのフォールドを次のように使用することを考えています。

  • 最初のレイヤーをトレーニングするための3つ折り
  • 2番目のレイヤーをトレーニングするための1つ折り
  • テスト用に1つ折り

これは正しい方法ですか?第1層と第2層のトレーニングデータは独立している必要がありますか?アンサンブル学習フレームワークが堅牢になるように、それらは独立しているべきだと考えています。

私の友人は、第1層と第2層のトレーニングデータは同じであるべきだと提案しています。

  • 1層目と2層目をトレーニングするための4つの折り目
  • テスト用に1つ折り

このようにして、アンサンブル学習フレームワークのより正確なエラーが発生し、単一のトレーニングデータに基づいているため、フレームワークの反復的な調整がより正確になります。さらに、第2層は、独立したトレーニングデータに偏っている場合があります。

アドバイスは大歓迎です

回答:


26

アンサンブル学習は、かなり多くの異なる方法を指します。ブースティングとバギングは、おそらく2つの最も一般的なものです。stackingと呼ばれるアンサンブル学習メソッドを実装しようとしているようです。スタッキングは、いくつかの学習アルゴリズムからの予測を組み合わせることにより、精度を向上させることを目的としています。スタッキングを行う方法はかなりありますが、厳密な理論はあまりありません。それは直感的で人気があります。

友人のアプローチを検討してください。最初のレイヤーモデルを5つの折り目のうち4つに当てはめてから、同じ4つ折りを使用して2番目のレイヤー(投票)モデルを当てはめます。問題は、2番目の層がトレーニング誤差が最小のモデルを優先することです。同じデータを使用してモデルに適合し、それらのモデルを集約する手順を考案します。2番目のレイヤーは、サンプル外予測を使用てモデルを結合する必要があります。あなたの方法は優れていますが、それでもなおより良い方法があります。

テストのために、引き続き1つを省略します。4つのフォールドを取得し、4フォールドCVを使用して、4つのフォールドすべてで最初のレイヤーモデルのそれぞれのサンプル外予測を取得します。つまり、4つの折り畳みのうちの1つを省略し、他の3つにモデルを適合させてから、保持されたデータを予測します。4つすべてのフォールドについて繰り返して、4つすべてのフォールドでサンプル外の予測を取得します。次に、これらのサンプル外予測に2番目のレイヤーモデルを適合させます。次に、最初のレイヤーモデルを4つすべての折り目に再度フィットさせます。これで、まだ触れていない5番目のフォールドに移動できます。保持されたデータの誤差を推定するために、2番目のレイヤーモデルとともに4つすべての折り目に適合する最初のレイヤーモデルを使用します。1番目と2番目のレイヤーモデルフィッティングから他の折り畳みを保持して、このプロセスを再度繰り返すことができます。

パフォーマンスに満足している場合は、5つすべてのフォールドで最初のレイヤーモデルのサンプル外予測を生成し、2つ目のレイヤーモデルをこれらに合わせます。次に、最初のレイヤーモデルを最後にもう一度すべてのデータに合わせ、これらを新しいデータの2番目のレイヤーモデルで使用します。

最後に、いくつかの一般的なアドバイス。最初のレイヤーモデルが互いにかなり異なる場合、より多くのメリットが得られます。ここでは、SVMとディシジョンツリーを使用して正しい道を進んでいますが、これらは互いにかなり異なっています。2番目のレイヤーモデルからの平均化効果があるため、特に多くのモデルがある場合は、最初のレイヤーモデルを徐々にオーバーフィットしてみてください。通常、2番目のレイヤーは単純なもので、重みの非負性や単調性などの制約が一般的です。最後に、積み重ねは相互検証に依存していることを忘れないでください。これは真のリスクの推定にすぎません。フォールド全体でエラー率が非常に異なり、モデルの重みが非常に異なる場合、cvベースのリスク推定値の分散が高いことを示しています。その場合は、単純なブレンドを検討する必要があります最初のレイヤーモデルの。または、各最初のレイヤーモデルに配置された最大/最小ウェイトの制約を積み重ねることで妥協することができます。


非常に役立つ提案をありがとう。4番目の段落がわかりません。それは再び訓練しているように私には思えますか?3番目の段落で提案された方法を要約したと思いますか?
マイケル14年

1
クロスバリデーションでは通常どおり、モデルに満足したら、すべてのデータを使用して再トレーニングします。パラグラフ3で説明されているモデルは、保持されているデータには適合しません。データの保持は、モデルの評価と選択をガイドするツールです。すべてのデータに常に最終モデルを適合させる必要があります。
MichaelJ 14年

このアプローチは、フィードフォワードニューラルネットワークに似ているように私には思える
マイケル・

素晴らしい説明。不足しているのは図表だけです;)
josh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.