O explicație simplă a câștigului de informație și a entropiei

Câștigul de informație, la fel ca și impuritatea Gini, este o metrică utilizată pentru a antrena arbori de decizie. În mod specific, aceste metrici măsoară calitatea unei diviziuni. De exemplu, să presupunem că avem următoarele date:

Set de date

Ce se întâmplă dacă facem o divizare la x=1,5x = 1,5x=1,5?

O divizare imperfectă

Această divizare imperfectă împarte setul nostru de date în aceste ramuri:

  • Ramura stângă, cu 4 albaștri.
  • Rama dreaptă, cu 1 albastru și 5 verzi.

Este clar că această împărțire nu este optimă, dar cât de bună este? Cum putem cuantifica calitatea unei diviziuni?

Aici intervine câștigul de informație.

Confuz? Nu sunteți sigur ce sunt arborii de decizie sau cum sunt antrenați? Citiți începutul introducerii mele la Random Forests și Decision Trees.

Entropia informației

Înainte de a ajunge la Information Gain, trebuie să vorbim mai întâi despre Entropia informației. În contextul antrenării arborilor de decizie, Entropia poate fi considerată, în linii mari, cât de multă variație au datele. De exemplu:

    • Un set de date format numai din albastre ar avea o entropie foarte scăzută (de fapt, zero).
    • Un set de date format dintr-un amestec de albastre, verzi și roșii ar avea o entropie relativ ridicată.

    Iată cum calculăm Entropia Informației pentru un set de date cu clase CCC:

    E=-∑iCpilog2piE = -\sum_i^C p_i \log_2 p_iE=-i∑Cpilog2pi

    unde pip_ipi este probabilitatea de a alege la întâmplare un element din clasa iii (i.e. proporția din setul de date alcătuit din clasa iii).

    Cel mai simplu mod de a înțelege acest lucru este cu un exemplu. Să considerăm un set de date cu 1 albastru, 2 verzi și 3 roșii: . Atunci

    E=-(pblog2pb+pglog2pg+prlog2pr)E = -(p_b \log_2 p_b + p_g \log_2 p_g + p_r \log_2 p_r)E=-(pblog2pb+pglog2pg+prlog2pr) E=-(16log2(16)+26log2(26)+36log2(36))=1.46\begin{aligned}E &= -(\frac{1}{6} \log_2(\frac{1}{6}) + \frac{2}{6} \log_2(\frac{2}{6}) + \frac{3}{6} \log_2(\frac{3}{6})) \\&= \boxed{1.46} \\\\end{aligned}E=-(61log2(61)+62log2(62)+63log2(63))=1.46

    Ce se întâmplă cu un set de date de o singură culoare? Să luăm ca exemplu 3 culori albastre: . Entropia ar fi

    E=-(1log21)=0E = -(1 \log_2 1) = \boxed{0}E=-(1log21)=0

    Câștig de informație

    Este în sfârșit timpul să răspundem la întrebarea pe care am pus-o mai devreme: cum putem cuantifica calitatea unei diviziuni?

    Să luăm din nou în considerare această împărțire:

    O împărțire imperfectă

    Înainte de împărțire, aveam 5 albastre și 5 verzi, așa că entropia era

    Ebefore=-(0,5log20,5+0,5log20,5)=1\begin{aligned}E_{before} &= -(0.5 \log_2 0.5 + 0.5 \log_2 0.5) \\&= \boxed{1} \\\end{aligned}Ebefore=-(0.5log20.5+0.5log20.5)=1

    După divizare, avem două ramuri.

    Ramura stângă are 4 albaștri, deci Eleft=0E_{left} = \boxed{0}Eleft=0 pentru că este un set de date cu toate de o singură culoare.

    Rama dreaptă are 1 albastru și 5 verzi, deci

    Eright=-(16log2(16)+56log2(56))=0.65\begin{aligned}E_{right} &= -(\frac{1}{6} \log_2 (\frac{1}{6}) + \frac{5}{6} \log_2 (\frac{5}{6})) \\&= \boxed{0.65} \\\\end{aligned}Eright=-(61log2(61)+65log2(65))=0.65

    Acum că avem entropiile pentru ambele ramuri, putem determina calitatea divizării prin ponderarea entropiei fiecărei ramuri în funcție de numărul de elemente pe care le are. Deoarece ramura stângă are 4 elemente și ramura dreaptă are 6, le ponderăm cu 0,40,40,4 și, respectiv, 0,60,60,6:

    Esplit=0,4∗0+0,6∗0,65=0,39\begin{aligned}E_{split} &= 0.4 * 0 + 0.6 * 0.65 \\&= \boxed{0.39} \\\\end{aligned}Esplit=0.4∗0+0.6∗0.65=0.39

    Am început cu Ebefore=1E_{before} = 1Ebefore=1 entropie înainte de divizare și acum am ajuns la 0.390.390.39! Câștigul de informație = câtă entropie am eliminat, deci

    Câștig=1-0.39=0.61\text{Câștig} = 1 – 0.39 = \boxed{0.61}Câștig=1-0.39=0.61

    Acest lucru are sens: un Câștig de informație mai mare = mai multă entropie eliminată, ceea ce este ceea ce ne dorim. În cazul perfect, fiecare ramură ar conține doar o singură culoare după divizare, ceea ce ar însemna entropie zero!

    Recapitulare

    Entropia informației poate fi gândită ca fiind cât de imprevizibil este un set de date.

    • Un set de o singură clasă (să spunem, albastru ) este extrem de previzibil: orice lucru din el este albastru. Acesta ar avea o entropie scăzută.
    • Un set de multe clase mixte este imprevizibil: un anumit element ar putea avea orice culoare! Acest lucru ar avea o entropie ridicată.

    Formula reală de calcul a entropiei informaționale este:

    E=-∑iCpilog2piE = -\sum_i^C p_i \log_2 p_iE=-i∑Cpilog2pi

    Câștigul de informație se calculează pentru o divizare prin scăderea entropiei ponderate a fiecărei ramuri din entropia inițială. Atunci când se antrenează un arbore de decizie folosind acești parametri, cea mai bună divizare este aleasă prin maximizarea câștigului de informație.

    Vreți să aflați mai multe? Consultați explicația mea despre Impuritatea Gini, o metrică similară, sau ghidul meu aprofundat Random Forests for Complete Beginners (Păduri aleatorii pentru începători).

Lasă un răspuns

Adresa ta de email nu va fi publicată.