IG(Y|X) = H(Y) - H(Y|X) >= 0
, poiché H(Y) >= H(Y|X)
caso peggiore è che X e Y sono indipendenti, così H(Y|X)=H(Y)
Un altro modo di pensare è che, osservando la variabile casuale X prendendo qualche valore, ci sia guadagniamo alcuna o alcune informazioni Y (non ne perdi nessuno).
EDIT
Vorrei chiarire guadagno informazioni nel contesto di alberi di decisione (che in realtà avevo in mente in primo luogo come mi è venuto da una macchina apprendimento di sottofondo).
Assumere un problema di classificazione in cui viene fornito un insieme di istanze ed etichette (classi discrete).
L'idea di scegliere quale attributo dividere per ciascun nodo dell'albero, è selezionare la funzione che divide l'attributo di classe nei due gruppi di istanze più puri possibili (ossia l'entropia più bassa).
Questo è a sua volta equivalente a raccogliere la funzione con il più alto guadagno informazioni dal
InfoGain = entropyBeforeSplit - entropyAfterSplit
dove l'entropia dopo la scissione è la somma delle entropie di ogni ramo ponderata per il numero di istanze di scorrimento quel ramo.
Ora non esiste una possibile divisione dei valori di classe che genererà un caso con una purezza ancora peggiore (maggiore entropia) rispetto a prima della divisione.
Prendi questo semplice esempio di un problema di classificazione binaria. In un determinato nodo abbiamo 5 istanze positive e 4 negative (totale di 9). Pertanto l'entropia (prima della divisione) è:
H([4,5]) = -4/9*lg(4/9) -5/9*lg(5/9) = 0.99107606
Ora si considerano alcuni casi di suddivisione.La migliore delle ipotesi è che l'attributo attuale suddivide i casi perfettamente (cioè un ramo è tutto positivo, l'altro tutti negativi):
[4+,5-]
/ \ H([4,0],[0,5]) = 4/9*(-4/4*lg(4/4)) + 5/9*(-5/5*lg(5/5))
/ \ = 0 // zero entropy, perfect split
[4+,0-] [0+,5-]
poi
IG = H([4,5]) - H([4,0],[0,5]) = H([4,5]) // highest possible in this case
immaginare che il secondo attributo è il peggiore caso possibile, dove uno dei rami creati non ottiene alcuna istanza piuttosto tutte le istanze passano all'altra (potrebbe accadere se per esempio l'attributo è costante tra le istanze, quindi inutile):
[4+,5-]
/ \ H([4,5],[0,0]) = 9/9 * H([4,5]) + 0
/ \ = H([4,5]) // the entropy as before split
[4+,5-] [0+,0-]
e
IG = H([4,5]) - H([4,5],[0,0]) = 0 // lowest possible in this case
Ora da qualche parte tra questi due casi, si vedrà un qualsiasi numero di casi come:
[4+,5-]
/ \ H([3,2],[1,3]) = 5/9 * (-3/5*lg(3/5) -2/5*lg(2/5))
/ \ + 4/9 * (-1/4*lg(1/1) -3/4*lg(3/4))
[3+,2-] [1+,3-]
e
IG = H([4,5]) - H([3,2],[1,3]) = [...] = 0.31331323
quindi non importa quanto si divide coloro 9 istanze, ottieni sempre un guadagno positivo nelle informazioni. Mi rendo conto che questa non è una prova matematica (vai su MathOverflow per questo!), Ho solo pensato che un esempio reale potrebbe aiutare.
(Nota: Tutti i calcoli secondo Google)
BTW è necessario inserire un collegamento corretto per la carta in questione – Amro