Una foresta casuale con uscite multiple sarebbe possibile / pratica?


17
  1. Random Forests (RFs) è un metodo di modellazione / mining di dati competitivo.

  2. Un modello RF ha un'uscita: la variabile di uscita / previsione.

  3. L'approccio ingenuo alla modellazione di più uscite con RF sarebbe quello di costruire una RF per ogni variabile di uscita. Quindi abbiamo N modelli indipendenti e dove esiste una correlazione tra le variabili di output avremo una struttura di modello ridondante / duplicata. Questo potrebbe essere molto dispendioso, anzi. Anche come regola generale più variabili di modello implicano un modello più adatto (meno generalizzazione). Non sono sicuro se questo si applica qui, ma probabilmente lo fa.

In linea di principio potremmo avere una RF con più uscite. La variabile di previsione è ora un vettore (n-tupla). I nodi decisionali in ciascun albero decisionale ora stanno dividendo l'insieme di vettori target / previsione in base a un vettore di soglia, immagino che questa soglia sia considerata un piano nello spazio n-dimensionale e che quindi possiamo determinare da quale lato della soglia vettore è attivo ciascuno dei vettori target.

Il valore di predizione ottimale per ciascun lato della divisione decisionale è la media (centroide) calcolata per i vettori su ciascun lato.

Trovare il punto di divisione ottimale quando si lavora con singole variabili è banale e computazionalmente veloce / efficiente. Per una n-tupla non riusciamo a trovare la divisione ottimale (o almeno diventa non computazionalmente computazionale all'aumentare di N), ma potremmo essere in grado di trovare una divisione quasi ottimale usando un metodo di tipo Monte Carlo (o un ibrido di Monte Carlo e locale attraversamento gradiente).

Funzionerebbe davvero? Cioè, sarebbe solo mappare le coppie di allenamento senza generalizzare? Questa tecnica esiste già con un nome diverso?

Potresti anche considerare come questo si collega alle reti neurali come Restricted Boltzmann Machines (RBMs) e Deep Belief Networks.


Googling "foresta casuale multilabel" mostra che ciò è stato fatto anche in diversi modi; comunque, ho giocato con questo approccio a molti binari-rfs nel recupero di informazioni musicali e stava andando abbastanza bene.

1
Ti suggerirei questo articolo . Fanno qualcosa di molto vicino a quello che hai descritto.
Dmitry Laptev,

2
Questo esiste già nel pacchetto party e in alcuni altri pacchetti (linguaggio R).
Jase,

Risposte:


8

Sono stati sviluppati e pubblicati più alberi decisionali di output (e quindi foreste casuali). Pierre Guertz distribuisce un pacchetto per questo ( download). Vedi anche Segal & Xiao, foreste casuali multivariate, Data mining di WIRE Knowl Discov 2011 1 80–87, DOI: 10.1002 / widm.12 Credo che anche l'ultima versione di Scikit-learn supporti questo. Una buona recensione dello stato dell'arte può essere trovata nella tesi di Henrik Linusson intitolata "FORESTE CASUALI MULTI-OUTPUT". Il metodo più semplice per effettuare le scelte di divisione in ciascun nodo è scegliere casualmente UNA delle variabili di output e quindi seguire il solito approccio a foresta casuale per scegliere una divisione. Sono stati sviluppati altri metodi basati su una somma ponderata del punteggio delle informazioni reciproche rispetto a ciascuna caratteristica di input e variabile di output, ma sono piuttosto costosi rispetto all'approccio randomizzato.


-1

Come indicato qui :

Tutti i classificatori di scikit-learn eseguono immediatamente la classificazione multiclasse.

E questo include Random Forest.

Anche la pagina: http://scikit-learn.org/stable/modules/tree.html#tree-multioutput ha molti riferimenti su questo argomento.


8
Per essere chiari; la domanda riguarda la regressione multi- output .
redcalx,

Ci scusiamo per il ritardo nella mia risposta, ma sembra che scikit-learn offra anche la regressione multioutput , ad esempio: scikit-learn.org/stable/auto_examples/tree/… E in ogni caso, esiste una strategia che consiste nell'adattarne una regressore per target. Questa è una strategia semplice per estendere i regressori che non supportano nativamente la regressione multi-target: scikit-learn.org/stable/modules/generated/… HTH
0asa
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.