決定木の弱点は何ですか?


34

決定木は非常に理解しやすい機械学習方法のようです。一度作成されると、人間が簡単に検査できるため、アプリケーションによっては大きな利点があります。

デシジョンツリーの実際の弱点は何ですか?

回答:


37

ここに私が考えることができるカップルがあります:

  • それらは、データ内の小さな摂動に非常に敏感になる可能性があります。わずかな変更によって、大幅に異なるツリーが作成される場合があります。
  • 彼らは簡単にオーバーフィットすることができます。これは、検証方法とプルーニングによって無効にできますが、これは灰色の領域です。
  • サンプル外の予測に問題がある可能性があります(これは、スムーズでないことに関連しています)。

これらのいくつかは、多重共線性の問題に関連しています。2つの変数の両方が同じことを説明するとき、決定木は貪欲に最良のものを選択しますが、他の多くの方法は両方を使用します。ランダムフォレストなどのアンサンブルメソッドでは、これをある程度無効にすることができますが、理解しやすくなります。

しかし、少なくとも私の観点からすると、最大の問題は、原則的な確率的フレームワークの欠如です。他の多くの方法には、信頼区間、事後分布などのようなものがあり、モデルがどれほど優れているかを知ることができます。決定木は最終的にはアドホックヒューリスティックであり、依然として非常に役立ちます(データ処理のバグの原因を見つけるのに優れています)が、出力を「正しい」モデルとして扱う人々の危険性があります(私の経験、これはマーケティングで多く発生します)。


2
MLの観点から、ツリーは他の分類子(CVなど)と同じ方法でテストできます。それでも、それはむしろ重度の過剰適合が起こったことを示しています;-)また、RFはアンサンブルではなく、そのツリーが次善であるため、多重共線性を回避します。

2
決定木の確率的フレームワークについては、DTREE(url:datamining.monash.edu.au/software/dtree/index.shtml)を参照してください。これは、「Wallace CS&Patrick JD、 `Coding Decision Trees '、Machine Learning 、11、1993、pp7-22 "。
-emakalic

2
また、ブートストラップを使用してCI(予測用)を取得することはできませんか?
タルガリリ

@Simon Byrne、あなたのコメントに関して質問があります。「しかし、少なくとも私の観点からすれば、最大の問題は原則的な確率的枠組みの欠如です」。私の無知を許しますが、いくつかの実用的な原則的な確率的フレームワーク(特に分類のコンテキストで)を教えてください。この決定木の制限に非常に興味があります。
アメリオバスケスレイナ

2
@ AmV、1つの例はロジスティック回帰です。各観測値が2項からのものであるという事実を使用して、信頼/信頼区間を取得し、モデルの仮定を確認できます。
サイモンバーン

23

1つの欠点は、すべての用語が相互作用すると想定されることです。つまり、独立して動作する2つの説明変数を持つことはできません。ツリー内のすべての変数は、ツリーのさらに上のすべての変数と相互作用するように強制されます。相互作用がないか弱い相互作用を持つ変数がある場合、これは非常に非効率的です。


しかし、これが実際的な制限かどうかは疑問です-分類にわずかに影響する変数の場合、私の直感はTreeがその変数で分割されない可能性が高いことです(つまり、ノードにはなりません)ディシジョンツリーの分類に関する限りは見えません。
ダグ

私は弱い相互作用について話しているのであって、分類に対する弱い影響についてではありません。相互作用は、2つの予測変数間の関係です。
ロブハインドマン

2
これは非効率かもしれませんが、ツリー構造で処理できます。

だから私は偏見や不正確ではなく、非効率だと言った。大量のデータがある場合、それは重要ではありません。しかし、ツリーを数百の観測値に当てはめると、想定される相互作用により予測精度が大幅に低下する可能性があります。
ロブハインドマン

2
同意する; 強調したかっただけです。それでも、適切なトレーニングを使用することで、予測精度の低下を取り除くことができると思います。系統発生学では、同様の問題(欲張り)は、可能性の高いものを見つけるために可能なツリー空間のモンテカルロスキャンによって低減されます-統計に同様のアプローチがあるかどうかはわかりませんが、おそらくこの問題に誰も悩まされていませんエクステント。

12

私の答えはCART(C 4.5 / C 5の実装)に向けられていますが、それに限定されるとは思いません。私の推測では、これがOPが念頭に置いているものです。通常、誰かが「意思決定ツリー」と言ったときの意味です。

デシジョンツリーの制限


低性能

「パフォーマンス」とは、解像度ではなく実行速度を意味します。貧弱な理由は、CARTモデルを更新するたびに「ツリーを再描画」する必要があるためです。すでにトレーニングされたツリーによって分類されたデータは、ツリーに追加する(つまり、トレーニングデータポイント)では、オーバートレーニングを開始する必要があります。他のほとんどの教師あり学習アルゴリズムのように、トレーニングインスタンスを段階的に追加することはできません。これを述べる最良の方法は、おそらく、決定モードをオンラインモードでトレーニングすることはできず、バッチモードでのみトレーニングすることです。分類器を更新しない場合、この制限に気付かないことは明らかですが、解像度が低下することが予想されます。

これは重要です。たとえば、多層パーセプトロンの場合、いったん訓練されると、データの分類を開始できるためです。そのデータを使用して、既にトレーニングされた分類器を「調整」することもできますが、デシジョンツリーでは、データセット全体(トレーニングで使用された元のデータと新しいインスタンス)で再トレーニングする必要があります。


変数間の複雑な関係を持つデータの不十分な解決

デシジョンツリーは、ルートノードからターミナルノードで終わる、不明なクラスのデータポイントを一度に1ノードずつ段階的に評価して分類します。また、各ノードでは、2つの可能性(左から右)のみが可能であるため、デシジョンツリーが学習できない変数関係がいくつかあります。


実質的に分類に限定

デシジョンツリーは、データポイントをクラスに割り当てるようにトレーニングされている場合に最適に機能します。できれば、可能な限り数少ないクラスの1つです。回帰モードでデシジョンツリーを使用して成功したことはないと思います(つまり、価格や予想される生涯収益などの継続的な出力)。これは正式な制限または固有の制限ではなく、実用的な制限です。ほとんどの場合、ディシジョンツリーは要因の予測または個別の結果に使用されます。


連続期待変数を使用した低解像度

繰り返しになりますが、原則として、「ダウンロード時間」や「前回のオンライン購入からの日数」などの独立変数を使用してもかまいません。分割基準を分散に変更するだけです(通常、離散変数の場合は情報エントロピーまたはGini不純物)。これらの場合、デシジョンツリーがうまく機能することはめったにありません。例外は、連続しているように見える「学生の年齢」のような場合ですが、実際には値の範囲は非常に狭いです(特に整数として報告される場合)。


1
パフォーマンスアングルでの良好なコールに対して+1。通常、十分なプレイが得られません。少なくとも他のデータマイニング方法と比較して、大規模なデータセット(SQL Serverなど)用に設計されたいくつかのソフトウェアプラットフォームで、デシジョンツリーがパフォーマンスの問題に遭遇するのを目にしました。これは、あなたが提起した全体的な再トレーニングの問題とは別です。過剰適合が発生した場合、悪化するようです(ただし、他の多くのマイニングアルゴリズムで言えることです)。
SQLServerSteve

10

ここには良い答えがありますが、一つだけ強調されていないことに驚いています。CARTは、データ、特に応答変数について分布的な仮定を行いません。これとは対照的に(特定のカテゴリの応答変数の)、(連続的な応答変数の)OLS回帰およびロジスティック回帰、例えば、ない強い仮定を行います。具体的には、OLS回帰では、応答が条件付きで正規分布していると想定され、ロジスティックでは、応答が二項または多項であると想定されます。

CARTにそのような前提がないのは、両刃の剣です。これらの仮定が正当化されない場合、これはアプローチに相対的な利点を与えます。一方、これらの仮定が当てはまる場合、それらの事実を考慮に入れることで、データからより多くの情報を抽出できます。つまり、仮定が正しい場合、標準の回帰方法はCARTよりも有益です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.