Come scegliere le funzionalità per una rete neurale?


16

So che non esiste una risposta chiara a questa domanda, ma supponiamo che io abbia una grande rete neurale, con molti dati e che voglio aggiungere una nuova funzionalità in input. Il modo "migliore" sarebbe testare la rete con la nuova funzionalità e vedere i risultati, ma esiste un metodo per testare se la funzione È SENZA PIACERE utile? Come le misure di correlazione ( http://www3.nd.edu/~mclark19/learn/CorrelationComparison.pdf ) ecc?


1
Una correlazione non casuale potrebbe essere un indicatore del fatto che la funzionalità sia utile. Ma non sono così sicuro dei test pre-allenamento che potrebbero escludere le idee. Il documento che colleghi chiarisce che le correlazioni non lineari non sono ben rilevate dai test disponibili, ma una rete neurale ha la possibilità di trovarle e usarle.
Neil Slater,

Risposte:


16

Una correlazione molto forte tra la nuova funzionalità e una funzionalità esistente è un buon segno che la nuova funzionalità fornisce poche nuove informazioni. È probabilmente preferibile una bassa correlazione tra la nuova funzionalità e le funzionalità esistenti.

Una forte correlazione lineare tra la nuova funzionalità e la variabile prevista è un buon segno che una nuova funzionalità sarà preziosa, ma l'assenza di un'alta correlazione non è necessaria un segno di una funzionalità scadente, poiché le reti neurali non sono limitate alle combinazioni lineari di variabili.

Se la nuova funzionalità è stata creata manualmente da una combinazione di funzionalità esistenti, prendere in considerazione l'idea di lasciarla fuori. La bellezza delle reti neurali è che sono richieste poca ingegneria e preelaborazione delle caratteristiche - le funzionalità sono invece apprese da strati intermedi. Quando possibile, preferisci le funzionalità di apprendimento per progettarle.


Ho sempre pensato di confrontare il valore da prevedere con le funzionalità, stai parlando di correlazione tra le funzionalità. La tua risposta è applicabile anche al mio caso? in teoria dovrei aggiungere solo nuove funzionalità che sono correlate al valore da prevedere, giusto?
marcodena,

Anche questa è una metrica preziosa: ho appena aggiornato la mia risposta per affrontarla.
Madison,

In breve, forti correlazioni con il valore da prevedere sono un grande segno, ma una debole correlazione con il valore da prevedere non è necessariamente un cattivo segno.
Madison,

Grazie. Sto scrivendo un rapporto e volevo mostrare le correlazioni lineari / non lineari per giustificare le caratteristiche (anche prima dei risultati). Ha senso? Dalla tua risposta potrei fare una matrice di correlazioni ma forse è nosense
marcodena,

1
Vorrei usare correlazioni non lineari, ma ok grazie
marcodena,

0

Se stai usando sklearn, è disponibile una buona funzione chiamata model.feature_importances_. Fai una prova con il tuo modello / nuova funzionalità e vedi se aiuta. Guarda anche qui e qui per esempi.

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.