Selezione delle funzioni utilizzando le informazioni reciproche in Matlab


10

Sto cercando di applicare l'idea di informazioni reciproche per la selezione delle funzioni, come descritto in queste note di lezione (a pagina 5).

La mia piattaforma è Matlab. Un problema che riscontro nel calcolo delle informazioni reciproche da dati empirici è che il numero è sempre distorto verso l'alto. Ho trovato circa 3 ~ 4 file diversi per calcolare l'MI su Matlab Central e tutti danno grandi numeri (come> 0,4) quando inserisco variabili casuali indipendenti.

Non sono un esperto, ma il problema sembra essere che se si utilizzano semplicemente densità congiunte e marginali per calcolare l'IM, la distorsione viene introdotta nel processo perché l'IM è per definizione positiva. Qualcuno ha consigli pratici su come stimare accuratamente le informazioni reciproche?

Una domanda correlata è, in pratica, come le persone usano effettivamente l'MI per selezionare le funzionalità? Non è ovvio per me come trovare un valore soglia poiché l'MI è in teoria illimitato. O le persone classificano semplicemente le funzionalità in base a MI e prendono le prime k caratteristiche?


Nessuno è interessato a questo argomento?

Hai ancora una risposta a questo?
entropia

Sfortunatamente no. Stai riscontrando lo stesso problema?

Risposte:


3

Questo è il problema della propensione al campionamento limitata .

Le piccole stime del campione delle densità sono rumorose e questa variazione induce correlazioni spurie tra le variabili che aumentano il valore di informazione stimato.

(R-1)(S-1)/2Nln22Nln(2)ioχ2(R-1)(S-1)

Alcuni pacchetti che implementano queste tecniche in Matlab includono infotoolbox e Spike Train Analysis Toolkit .

Per il caso continuo, gli stimatori basati sulle distanze dei vicini più vicini riducono il problema.


1

Ho usato la divergenza KL e con dimensioni del campione appropriate ottengo valori di 0 per loci in cui le distribuzioni hanno uguale probabilità.

Ti suggerisco di riformulare il tuo IM in termini di KL-divergenza.


1

È necessario utilizzare un algoritmo di informazioni reciproche parziali per la selezione della variabile di input (funzione). Si basa sui concetti di IM e sulla stima della densità di probabilità. Ad esempio in:

  1. PMI basata sul kernel : (+) ha un criterio di arresto (Akaike Information Criteria) (-) maggiore complessità
  2. PMI basato su kNN : (-) non ha criteri di arresto (+) di complessità inferiore

Ho usato PMI per ridurre il numero di input di rete neurale mentre aumentano la complessità e introducono altri problemi. È possibile trovare una panoramica completa degli algoritmi di selezione delle variabili di input (IVS) nel documento Revisione dei metodi di selezione delle variabili di input per reti di reti neurali artificiali . Puoi utilizzare IVS per SVM e altri. Per farla breve, usa PMI.

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.