決定木を最適化するためのアルゴリズム


16

バックグラウンド

二分決定木Tは、ルートからリーフへのパスがインデックスを繰り返さないように、各内部ノード(およびルート)がインデックスラベル付けされているルート付きツリー出力によってラベル付けされ、各エッジは左の子に対して、右の子に対してでラベル付けされ。入力ツリーを適用するには:{ A B } 0 1 xj{1,...,n}{A,B}01x

  1. ルートから開始
  2. リーフにいる場合は、リーフラベルまたはを出力して終了しますBAB
  3. ラベル読むjあなたの現在のノードのを、もしxj=0その後、左の子に移動している場合xj=1、次に右の子に移動します。
  4. ステップ(2)にジャンプします

ツリーは、特に、我々は木言う、機能を評価するための方法として使用されているT合計関数を表しfそれぞれについて場合x{0,1}n我々はT(x)=f(x)。ツリーのクエリの複雑さはその深さであり、関数のクエリの複雑さはそれを表す最小のツリーの深さです。


問題

バイナリ決定木Tが与えられると、TとT 'が同じ関数を表すような最小の深さのバイナリ決定木T'が出力されます。

質問

このための最も有名なアルゴリズムは何ですか?下限はわかっていますか?ことがわかったらどうしますか?T がほぼ最小の深さであることが必要な場合はどうでしょうか?depth(T)=O(logdepth(T))T


素朴なアプローチ

ナイーブアプローチには、が与えられ、深さd 1のすべてのバイナリ決定木を再帰的に列挙し、それらがTと同じものに評価されるかどうかをテストします。これにはO d 2 n n d=depth(T)d1Tステップ(任意のxに対してTx)が評価するものをチェックするのにdステップかかると仮定します)。より良いアプローチはありますか?O(d2nn!(nd)!)dT(x)x

動機

この質問は質問複雑さと時間複雑さの間トレードオフの前の質問によって動機づけられます。特に、目標は全機能の時間分離を制限することです。実行時間tの時間最適アルゴリズムからツリーを作成し、クエリ最適アルゴリズムためにツリーT 'に変換したいと思います。残念ながら、もしT O N /N - D (そして多くの場合、D Θ n個TtTtO(n!/(nd)!)dΘ(n))ボトルネックは変換です。を置き換えることができたらいいですね/n d 2 dのようなものによって。n!/(nd)!2d


最適な決定木を見つけることはNP完全です。決定理論とデータマイニングのクラスでは、それらはメモに基づいていたと教えられ、結果を紹介した元の論文を知りません。
chazisop

@chazisopクール、ありがとう。最適な意思決定ツリーを見つけることがNPにあることは私には明らかではありませんが、それについてさらに検討します。定理文を知ることは、それを証明するための途中にあることもあります:D。
アルテムKaznatcheev

これに関する最初の参照は、学習決定リストとツリーの下限です。(ハンコックら
レフレイジン

1
最適な決定木を見つけることがNP完全問題であることの証明は、Laurent HyafilとRonald L.によって与えられました。最適な二分決定木の構築におけるRivest はNP完全です(1976)。参照:ここ
アントワーヌ

回答:


16

答えは3つありますが、いずれも硬度の結果が多少異なります。

ましょう、いくつかの関数です。f:{0,1}n{0,1}

回答1

fと数を計算する決定木与えられた場合、最大でその数のサイズのfを計算する決定木T 'が存在するかどうかを判断するのはNP困難です。TfTfザンテマとボドレンダー'00

回答2

fを計算する決定木与えられた場合、fを計算する最小の決定木を任意の定数因子に近似することはNP困難です。Tffシリング'08

回答3

してみましょう最小の決定木コンピューティングのサイズでF。決定木所与T算出Fを仮定すると、N P D T I M E 2 n個のεの一部のε < 1を、一方が等価決定木を見つけることができないT '大きさのS kのいずれかのためのk 0sfTfNPDTIME(2nϵ)ϵ<1Tskk0

このより強い答え(より弱い仮定に基づく)は、次の引数を介して、決定木のOccamアルゴリズムの学習理論における既知の結果から作成できると思います。

  1. それは上の決定木を見つけることが可能であるの時間内で変数を n個のログ、どこsが分布(PACモデル)からの例と一致し、最小の決定木です。(ブルーム'92nnlogss
  2. 仮定一部のε < 1、我々はPACサイズ学ぶことができないサイズによって決定木をS k個のいずれかのために決定木K 0。(Alekhnovich et al。'07NPDTIME(2nϵ)ϵ<1sskk0

これらの2つの結果は、問題の難易度の結果を暗示しているようです。一方(1)では、大きな決定木を見つけることができます。一方(2)では、サイズsが存在する場合でも、サイズ同等の「小さい」サイズを取得するために最小化することはできません。sks


(私はこの回答からあなたの答えを見つけました、それは1時間未満前に投稿されました。)それは「のように見える」ポジティブ」に置き換えることができεが減少するので、εは封じ込めの右手側が作る小さいですϵ<1ϵϵ また、その論文のどこに2.示されていますか?

ここでは抽象で箇条書きの#2を参照してください:researcher.watson.ibm.com/researcher/files/us-vitaly/...
レフReyzin

(リッキーデマーと同じ回答から)ポイント1と2から「回答3」を取得する方法をもう少し詳しく教えてください。私は...学習理論に精通していないですし、部品を接続する苦労を持っている
マルク・

この一貫性の問題と学習可能性は、Occamのカミソリを介して密接に関連しています。アイデアは、小さなセットから一貫した機能を見つけることができれば、PAC学習に成功できるということです。したがって、学習結果の難易度は「一貫性の難易度」の結果を意味します。私は...コメントで説明することができますどのくらいのより多くのわからない
レフReyzin

私が理解している限り、1に対して引き起こされたアルゴリズムは、2と矛盾するために必要な時間内に実行されません(正しく取得した場合の記事の正確な結果)決定木のポリタイム学習アルゴリズムはないという)。ですから、あなたの議論に問題があるかもしれません。Poly(n,s)
マーク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.