クロスバリデーションと決定木の理解に役立つ質問する

クロスバリデーションと決定木の理解に役立つ質問する

私は決定木とクロス検証について読んでいて、両方の概念を理解しています。しかし、決定木に関連するクロス検証を理解するのに苦労しています。基本的に、クロス検証は、データセットが比較的小さい場合に、トレーニングとテストを交互に行うことで、エラー推定を最大化できるようにします。非常に単純なアルゴリズムは次のようになります。

  1. 折りたい数を決める(k)
  2. データセットをk個のフォールドに分割する
  3. トレーニング セットに k-1 フォールドを使用してツリーを構築します。
  4. テスト セットを使用して、ツリー内のエラーに関する統計を推定します。
  5. 結果を後で保存する
  6. テスト セットの別のフォールドを除いて、手順 3 ~ 6 を k 回繰り返します。
  7. 反復全体のエラーを平均して全体のエラーを予測する

私が理解できない問題は、最終的に k 個の決定木が作成され、それらはすべて同じ方法で分割されない可能性があるため、わずかに異なる可能性があることです。どの木を選択しますか? 私が考えた 1 つのアイデアは、エラーが最小限のツリーを選択することです (ただし、与えられたフォールドで最高のパフォーマンスを発揮するだけで、最適になるわけではありません。階層化を使用すると役立つかもしれませんが、私が読んだものはすべて、少ししか役に立たないと述べています)。

私が理解しているクロス検証のポイントは、後でプルーニングに使用できるノード統計を計算することです。したがって、実際には、ツリー内の各ノードには、与えられたテスト セットに基づいて計算された統計があります。重要なのは、ノード統計ですが、エラーを平均化する場合です。各ツリーが分割の選択などによって異なる可能性がある場合、k 個のツリー全体の各ノード内でこれらの統計をどのようにマージしますか。

各反復で全体的なエラーを計算する意味は何でしょうか? これはプルーニング中に使用できるものではありません。

この小さな問題に関して、どんな助けでもいただければ幸いです。

ベストアンサー1

私が理解できない問題は、最終的に k 個の決定木が作成され、それらはすべて同じように分割されない可能性があるため、わずかに異なる可能性があることです。どの木を選択しますか?

クロスバリデーションの目的特定のものを選択するのに役立つものではありません実例分類器(または決定木、または自動学習アプリケーション)のモデルつまり、平均エラー率、この平均に対する偏差などのメトリックを提供し、アプリケーションから期待できる精度のレベルを主張するのに役立ちます。クロス検証が主張するのに役立つことの 1 つは、トレーニング データが十分に大きいかどうかです。

特定の木を選択することに関して代わりに、利用可能なトレーニング データの 100% でさらに別のトレーニングを実行する必要があります。これにより、通常はより優れたツリーが生成されます。(クロス検証アプローチの欠点は、[通常は少量の] トレーニング データを「フォールド」に分割する必要があることです。質問で示唆されているように、これにより、特定のデータ インスタンスに対して過剰適合または不足適合のツリーが発生する可能性があります)。

決定木の場合、ノードで収集され、ツリーの剪定に使用される統計への参照が何に関係するのかわかりません。おそらく、クロス検証関連のテクニックの特定の使用でしょうか?...

おすすめ記事