Algoritmo per l'ottimizzazione degli alberi decisionali


16

sfondo

Un albero di decisione binario T è un albero radicato dove ogni nodo interno (e radice) è etichettato da un indice j{1,...,n} tale che nessun percorso dalla radice alla foglia ripete un indice, le foglie sono etichettate dagli output in {A,B} e ogni bordo è etichettato da 0 per il figlio sinistro e 1 per il figlio destro. Per applicare un albero a un input x :

  1. Inizia dalla radice
  2. se si è in foglia, si produce l'etichetta foglia A o B e termina
  3. Leggi l'etichetta del tuo nodo corrente, se x j = 0 quindi passa al figlio sinistro e se x j = 1 quindi passa al figlio destro.jxj=0xj=1
  4. vai al passaggio (2)

L'albero è usato come un modo per valutare una funzione, in particolare diciamo che un albero rappresenta una funzione totale f se per ogni x { 0 , 1 } n abbiamo T ( x ) = f ( x ) . La complessità della query di un albero è la sua profondità e la complessità della query di una funzione è la profondità dell'albero più piccolo che lo rappresenta.Tfx{0,1}nT(x)=f(x)


Problema

Dato un albero decisionale binario T emette un albero decisionale binario T 'di profondità minima tale che T e T' rappresentino la stessa funzione.

Domanda

Qual è l'algoritmo più noto per questo? Sono noti limiti inferiori? E se sappiamo che la ? Che dire se richiediamo che T abbia una profondità approssimativamente minima?depth(T)=O(logdepth(T))T


Approccio ingenuo

L'approccio ingenuo è dato per enumerare in modo ricorsivo tutti gli alberi di decisione binaria di profondità D - 1 durante il test se si valutano per la stessa cosa di T . Questo sembra richiedere O ( d 2 n n !d=depth(T)d1Tpassi (supponendo che siano necessaridpassi per verificare a cosaT(x)valuta per unaxarbitraria). C'è un approccio migliore?O(d2nn!(nd)!)dT(x)x

Motivazione

Questa domanda è motivata da una precedente domanda sul compromesso tra complessità della query e complessità temporale . In particolare, l'obiettivo è limitare la separazione temporale per le funzioni totali. Possiamo creare un albero da un algoritmo ottimale nel tempo con runtime t , e quindi vorremmo convertirlo in un albero T per un algoritmo di query ottimale. Sfortunatamente, se t O ( n ! / ( N - d ) ! ) (E spesso d Θ ( n )TtTtO(n!/(nd)!)dΘ(n)) il collo di bottiglia è la conversione. Sarebbe bello se potessimo sostituire da qualcosa come 2 d .n!/(nd)!2d


Trovare l'albero delle decisioni ottimale è NP-completo. Mi è stato insegnato che nelle lezioni di teoria delle decisioni e data mining, tuttavia quelle erano basate su note e non sono a conoscenza del documento originale che ha introdotto il risultato.
Chazisop,

@chazisop cool, grazie. Non è ovvio per me che trovare l'albero decisionale ottimale sia in NP, ma ci penserò / lo cercherò ancora. A volte conoscere la dichiarazione del teorema è a metà strada per dimostrarlo: D.
Artem Kaznatcheev

Penso che il primo riferimento per questo sia: Limiti inferiori sull'apprendimento di elenchi e alberi di decisioni. (Hancock et al. 1994) cs.uwaterloo.ca/~mli/dl.ps
Lev Reyzin

1
La prova che trovare l'albero decisionale ottimale è un problema completo di NP è stata fornita da Laurent Hyafil e Ronald L. Rivest nella costruzione di alberi decisionali binari ottimali è NP-complete (1976). riferimento: qui
antoine,

Risposte:


16

Ho 3 risposte, tutte con risultati di durezza leggermente diversi.

Sia sia una funzione.f:{0,1}n{0,1}

risposta 1

Dato un albero di decisione calcolo f e un numero, è NP-difficile dire se esiste un albero di decisione T ' di calcolo f di dimensioni al massimo quel numero. TfTf( Zantema e Bodlaender '00 )

Risposta 2

Dato un albero decisionale calcola f , NP è difficile approssimare il più piccolo albero decisionale che calcola f con qualsiasi fattore costante. Tff( Sieling '08 )

Risposta 3

Let essere la dimensione del più piccolo albero di decisione di calcolo f . Dato un albero decisionale T che calcola f , assumendo N P D T I M E ( 2 n ϵ ) per alcuni ϵ < 1 , non è possibile trovare un albero decisionale equivalente T di dimensione s k per qualsiasi k 0 .sfTfNPDTIME(2nϵ)ϵ<1Tskk0

Penso che questa risposta più forte (basandosi su un'ipotesi più debole) possa essere fatta da risultati noti nella teoria dell'apprendimento degli algoritmi Occam per gli alberi delle decisioni, attraverso il seguente argomento:

  1. È possibile trovare un albero decisionale su variabili nel tempo n log s , dove s è il più piccolo albero decisionale coerente con esempi provenienti da una distribuzione (modello PAC). ( Blum '92nnlogss )
  2. Supponendo per qualche ε < 1 , non possiamo PAC imparare dimensioni s alberi di decisione per dimensioni s k decisione alberi per ogni k 0 . ( Alekhnovich et al. '07 )NPDTIME(2nϵ)ϵ<1sskk0

Questi due risultati sembrano implicare un risultato di durezza per il tuo problema. Da un lato (1), possiamo trovare un grande albero decisionale; d'altra parte (2), non dovremmo essere in grado di minimizzarlo per ottenerne uno "piccolo" equivalente, di dimensione , anche quando ne esiste uno di dimensione s .sks


(Ho trovato la tua risposta da questa risposta , che è stata pubblicata meno di un'ora fa.)Sembra che " " può essere sostituito con "positivo ε , poiché diminuendo ε rende destra-mano-lato del contenimento più piccola .ϵ<1ϵϵ Inoltre, dove in quel foglio è mostrato 2.?


(proveniente dalla stessa risposta di Ricky Demer) potresti approfondire un po 'di più come puoi ottenere la "risposta 3" dai punti 1. e 2.? Non conosco molto bene la teoria dell'apprendimento e faccio fatica a collegare le parti ...
Marc

Questo problema di coerenza e l'apprendimento sono strettamente correlati tramite il rasoio di Occam. L'idea è che se riesci a trovare una funzione coerente da un piccolo set, puoi riuscire nell'apprendimento PAC. Pertanto una durezza del risultato dell'apprendimento implica un risultato di "durezza della coerenza". Non sono sicuro di quanto di più posso spiegare in un commento ...
Lev Reyzin

Poly(n,s)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.