Entropie
Die Entropie kann als Maß für den Informationsgehalt einer Trainingsmenge betrachtet werden: Wieviele Ja/Nein-Entscheidungen sind nötig, um die Daten fehlerfrei zu repräsentieren?
Nach der Wahl eines Attributs kann die verbleibende mittlere Entropie berechnet werden. Damit hat man ein Kriterium für die Auswahl von Attributen beim Aufbau von Entscheidungsbäumen: Nimm das Attribut, welches einen möglichst hohen Informationsgehalt hat. Oder andersherum: Wähle das Attribut, bei dem die verbleibende mittlere Entropie der Trainingsmenge nach der Wahl des Attributs am kleinsten ist.
- (K3) Berechnung der Entropie und des Information Gain
Wie Attribute wählen?
Erinnerung: CAL2/CAL3
- Zyklische Iteration durch die Trainingsmenge
- Ausschließlich aktuelles Objekt betrachtet
- Reihenfolge der "richtigen" Attributwahl bei Verzweigung unklar
=> Betrachte stattdessen die komplette Trainingsmenge!
Relevanz => Informationsgehalt
- Shannon/Weaver (1949): Entropie
- Maß für die Unsicherheit einer Zufallsvariablen
- Anzahl der Bits zur Darstellung der Ergebnisse eines Zufallsexperiments
Beispiele
- Münze, die immer auf dem Rand landet: keine Unsicherheit, 0 Bit
- Faire Münze: Kopf oder Zahl: Entropie 1 Bit
- Fairer 4-seitiger Würfel: 4 mögliche Ausgänge: Entropie 2 Bit
- Münze, die zu 99% auf einer Seite landet: Entropie nahe Null
=> Anzahl der Ja/Nein-Fragen, um zur gleichen Information zu kommen
Definition der Entropie $H(V)$ für Zufallsvariable $V$
- Zufallsvariable $V$ => mögliche Werte $v_k$
- Wahrscheinlichkeit für $v_k$ sei $p_k = P(v_k)$
$H(V) = -\sum_k p_k \log_2 p_k$
- Nur eine Klasse: $\log_2 1 = 0$ => $H(V) = 0$ Bit
- Zwei Klassen, gleichwahrscheinlich: $\log_2 0.5 = -1$ => $H(V) = 1$ Bit
Beispiele Entropie: faire Münze
Entropie: $H(V) = -\sum_k p_k \log_2 p_k$
- $v_1 = \operatorname{Kopf}, v_2 = \operatorname{Zahl}$
- $p_1 = 0.5, p_2 = 0.5$
- $H(\operatorname{Fair}) = -(0.5 \log_2 0.5 + 0.5 \log_2 0.5) = 1$ Bit
Beispiele Entropie: unfaire Münze
Entropie: $H(V) = -\sum_k p_k \log_2 p_k$
- $v_1 = \operatorname{Kopf}, v_2 = \operatorname{Zahl}$
- $p_1 = 0.99, p_2 = 0.01$
-
$H(\operatorname{UnFair}) = -(0.99 \log_2 0.99 + 0.01 \log_2 0.01)$
$H(\operatorname{UnFair}) \approx 0.08$ Bit
Beispiele Entropie: 4-seitiger Würfel
Entropie: $H(V) = -\sum_k p_k \log_2 p_k$
- $v_1 = 1, v_2 = 2, v_3 = 3, v_4 = 4$
- $p_1 = p_2 = p_3 = p_4 = 0.25$
- $H(\operatorname{Wuerfel}) = -4\cdot(0.25 \log_2 0.25) = 2$ Bit
Entropie der Trainingsmenge: Häufigkeit der Klassen zählen
Nr. | $x_1$ | $x_2$ | $x_3$ | $k$ |
---|---|---|---|---|
1 | 0 | 0 | 0 | A |
2 | 1 | 0 | 2 | A |
3 | 0 | 1 | 1 | A |
4 | 1 | 1 | 0 | B |
5 | 0 | 1 | 1 | B |
6 | 0 | 1 | 0 | A |
- Anzahl Klasse $A$: 4
- Anzahl Klasse $B$: 2
- Gesamtzahl Beispiele: 6
Wahrscheinlichkeit für $A$: $p_A = 4/6 = 0.667$
Wahrscheinlichkeit für $B$: $p_B = 2/6 = 0.333$
Mittlere Entropie nach Betrachtung von Attribut $A$
$$ R(S, A) = \sum_{v \in \operatorname{Values}(A)} \frac{|S_v|}{|S|} H(S_v) $$-
Auswahl von Attribut $A$ partitioniert die Trainingsmenge: Je Ausprägung $v$ von $A$ erhält man eine Submenge $S_v$
-
$R(S, A)$ berechnet die mittlere Entropie der Trainingsmenge, nachdem Attribut $A$ ausgewählt wurde: Unsicherheit/nötige Bits nach Auswahl von Attribut $A$
Entropie der Trainingsmenge nach Attributwahl
Nr. | $x_1$ | $x_2$ | $x_3$ | $k$ |
---|---|---|---|---|
1 | 0 | 0 | 0 | A |
2 | 1 | 0 | 2 | A |
3 | 0 | 1 | 1 | A |
4 | 1 | 1 | 0 | B |
5 | 0 | 1 | 1 | B |
6 | 0 | 1 | 0 | A |
- Sei Attribut $x_1$ ausgewählt
- $x_1$ partitioniert die Trainingsmenge
- $x_1=0$ liefert $S_0 = \lbrace 1,3,5,6 \rbrace$
- $x_1=1$ liefert $S_1 = \lbrace 2,4 \rbrace$
- Häufigkeit für $x_1=0$: $4/6$
- Häufigkeit für $x_1=1$: $2/6$
- Gesamtzahl Beispiele: 6
Ausblick: Gini Impurity
Wir haben hier die Entropie als Maß für den Informationsgehalt einer Trainingsmenge genutzt. $R(S,A)$ als die mittlere Entropie nach Betrachtung von Attribut $A$ wird von typischen Entscheidungsbaumverfahren wie ID3 und C4.5 genutzt, um bei einer Verzweigung das nächste möglichst aussagekräftige Merkmal auszuwählen.
In anderen Entscheidungsbaumlernern wird stattdessen die Gini Impurity zur Bestimmung des Informationsgehalts eingesetzt (u.a. CART). Dieses Maß sagt aus, wie oft man ein zufällig gezogenes Element des Datensatzes falsch klassifizieren würde, wenn man es mit einer zufälligen Klasse basierend auf der Verteilung der Klassen im Datensatz labeln würde.
Hierzu drei lesenswerte Blog-Einträge:
- Deep dive into the basics of Gini Impurity in Decision Trees with math Intuition
- Decision Trees, Explained
- Decision Tree Algorithm With Hands-On Example
Wrap-Up
- Begriff und Berechnung der Entropie: Maß für die Unsicherheit
- Begriff und Berechnung des Informationsgewinns
- Entropie für eine Trainingsmenge
- Mittlere Entropie nach Wahl eines Attributs
Entropie einer Trainingsmenge
Betrachten Sie die folgenden Aussagen:
- Patient A hat weder Husten noch Fieber und ist gesund.
- Patient B hat Husten, aber kein Fieber und ist gesund.
- Patient C hat keinen Husten, aber Fieber. Er ist krank.
- Patient D hat Husten und kein Fieber und ist krank.
- Patient E hat Husten und Fieber. Er ist krank.
Aufgaben:
- Geben Sie die Entropie $H(S)$ der Trainingsmenge an.
- Berechnen Sie $R(H,A)$ (die mittlere Entropie der Trainingsmenge, nachdem Attribut $A$ gesehen wurde) für die einzelnen Attribute.
- [Ertel2017] Introduction to Artificial Intelligence
Ertel, W., Springer, 2017. ISBN 978-3-319-58487-4. DOI 10.1007/978-3-319-58487-4.
Entscheidungsbäume: Abschnitt 8.4 - [Mitchell2010] Machine Learning
Mitchell, T., McGraw-Hill, 2010. ISBN 978-0-0711-5467-3.
ID3: Kapitel 3 - [Russell2020] Artificial Intelligence: A Modern Approach
Russell, S. und Norvig, P., Pearson, 2020. ISBN 978-0134610993.
Entscheidungsbäume: Abschnitt 19.3