117 lines
7.7 KiB
TeX
117 lines
7.7 KiB
TeX
\chapter{Informationsbasiertes Lernen}
|
||
\label{information-based learning}
|
||
Beim \say{informationsbasierten} Lernen geht es im Kern darum die informativsten Features auszuwählen.
|
||
Die informativsten Features sind die, deren Werte die Instanzen in möglichst homogene (gleichgroße) Teilmengen teilen.
|
||
|
||
\paragraph{Beispiel: Guess Who}\mbox{}\\
|
||
\includegraphics[width = .6\textwidth]{guess who.png}
|
||
\includegraphics[width = .4\textwidth]{guess who2.png}\\
|
||
In den ersten 2 Beispielen werden schlechte Features gewählt.
|
||
Die durchschnittliche Anzahl an nötigen Fragen ist $\frac{1+2+3+3}{4}=2,25$.
|
||
Das 3.Beispiel benutzt die besten Features, da die Teilmengen hierbei maximal homogen sind.
|
||
Die durchschnittliche Anzahl an nötigen Fragen ist $\frac{2+2+2+2}{4}=2$.
|
||
|
||
\section{Entropie}
|
||
\label{entropie}
|
||
Die Entropie liefert eine numerische Metrik für die Reinheit einer Menge.
|
||
Sie beschreibt die Unsicherheit, die mit dem Raten eines Ergebnisses verbunden ist.
|
||
Hierbei gilt:
|
||
\begin{itemize}
|
||
\item Hohe Wahrscheinlichkeit $\rightarrow$ niedrige Entropie
|
||
\item Geringe Wahrscheinlichkeit $\rightarrow$ hohe Entropie
|
||
\end{itemize}
|
||
Die Formel für die Entropie lautet:
|
||
\Large
|
||
$$H(y)=-\sum^l_{i=1}\left(P(y=i)\cdot\log_2\left(P(y=1)\right)\right)$$
|
||
\normalsize
|
||
|
||
\subsection{Beispiele}
|
||
\label{entropie: beispiele}
|
||
\includegraphics[width = \textwidth]{entropie_beispiele.png}
|
||
|
||
\section{Informationsgewinn}
|
||
\label{information-based learning: informationsgewinn}
|
||
Der Informationsgewinn, den man durch ein bestimmtes Feature erreicht, ist gleichzusetzen mit der Reduktion der Entropie(\ref{entropie}) durch dieses Feature.
|
||
Man bezeichnet dies als \say{Kullback-Leibler-Divergenz}.
|
||
Der Informationsgewinn $IG$ lässt sich berechnen durch:
|
||
\Large
|
||
$$IG(d,D)=H(y,D)-rest(d,D)$$
|
||
$$H(y,D)=-\sum^l_{i=1}\left(P(y=i)\cdot\log_2\left(P(y=1)\right)\right)$$
|
||
$$rest(d,D)=\sum_{l\in Level(d)} \underbrace{\frac{|D_{d=l}|}{|D|}}_{\text{Gewichtung}}\cdot\underbrace{H(y,D_{d=l})}_{\text{Entropie von Partition $D_{d=l}$}}$$
|
||
\normalsize
|
||
|
||
\subsection{Beispiel: Spamfilter}
|
||
\label{informationsgewinn: spamfilter}
|
||
\begin{tabular}{ccccc}
|
||
\hline
|
||
ID &SUSPICIOUS WORDS & UNKNOWN SENDER & CONTAINS IMAGE & CLASS\\
|
||
\hline
|
||
376 & true & false & true & spam\\
|
||
489 & true & true & false & spam\\
|
||
541 & true & true & false & spam\\
|
||
693 & false & true & true & ham\\
|
||
782 & false & false & false & ham\\
|
||
976 & false & false & false & ham\\
|
||
\hline
|
||
\end{tabular}
|
||
\begin{align*}
|
||
H(t,D) =& -\sum_{l\in\{\text{'spam', 'ham'}\}}\left(P(t=l)\cdot \log_2\left(P(t=l)\right)\right)\\
|
||
=& -((P(t=\text{'spam'})\cdot\log_2(P(t=\text{'spam'})))\\
|
||
&+ (P(t=\text{'ham'})\cdot\log_2(P(t=\text{'ham'}))))\\
|
||
=& -\left(\left(\frac{3}{6}\cdot\log_2\left(\frac{3}{6}\right)\right) + ¸\left(\frac{3}{6}\cdot\log_2\left(\frac{3}{6}\right)\right)\right)\\
|
||
=& 1 [\text{bit}]
|
||
\end{align*}
|
||
\begin{align*}
|
||
rest(\text{SW},D)&=\left(\frac{|D_{\text{SW}=T}|}{|D|}\cdot H(t,D_{\text{SW}=T})\right) + \left(\frac{|D_{\text{SW}=F|}}{|D|}\cdot H(t,D_{\text{SW}=F})\right)\\
|
||
&=\left(\frac{3}{6}\cdot\left(-\sum_{l\in\{\text{'spam', 'ham'}\}} P(t=l)\cdot\log_2(P(t=l))\right)\right)\\
|
||
&+\left(\frac{3}{6}\cdot\left(-\sum_{l\in\{\text{'spam', 'ham'}\}} P(t=l)\cdot\log_2(P(t=l))\right)\right)\\
|
||
&=\left(\frac{3}{6}\cdot\left(-\left(\left(\frac{3}{3}\cdot\log_2\left(\frac{3}{3}\right)\right)+\left(\frac{0}{3}\cdot\log_2\left(\frac{0}{3}\right)\right)\right)\right)\right)\\
|
||
&+\left(\frac{3}{6}\cdot\left(-\left(\left(\frac{0}{3}\cdot\log_2\left(\frac{0}{3}\right)\right)+\left(\frac{3}{3}\cdot\log_2\left(\frac{3}{3}\right)\right)\right)\right)\right)\\
|
||
&= 0 [\text{bit}]
|
||
\end{align*}
|
||
\begin{align*}
|
||
rest(\text{US},D)&=\left(\frac{|D_{\text{US}=T}|}{|D|}\cdot H(t,D_{\text{US}=T})\right) + \left(\frac{|D_{\text{US}=F|}}{|D|}\cdot H(t,D_{\text{US}=F})\right)\\
|
||
&=\left(\frac{3}{6}\cdot\left(-\sum_{l\in\{\text{'spam', 'ham'}\}} P(t=l)\cdot\log_2(P(t=l))\right)\right)\\
|
||
&+\left(\frac{3}{6}\cdot\left(-\sum_{l\in\{\text{'spam', 'ham'}\}} P(t=l)\cdot\log_2(P(t=l))\right)\right)\\
|
||
&=\left(\frac{3}{6}\cdot\left(-\left(\left(\frac{2}{3}\cdot\log_2\left(\frac{2}{3}\right)\right)+\left(\frac{1}{3}\cdot\log_2\left(\frac{1}{3}\right)\right)\right)\right)\right)\\
|
||
&+\left(\frac{3}{6}\cdot\left(-\left(\left(\frac{1}{3}\cdot\log_2\left(\frac{1}{3}\right)\right)+\left(\frac{2}{3}\cdot\log_2\left(\frac{2}{3}\right)\right)\right)\right)\right)\\
|
||
&= 0.9183 [\text{bit}]
|
||
\end{align*}
|
||
\begin{align*}
|
||
rest(\text{CI},D)&=\left(\frac{|D_{\text{CI}=T}|}{|D|}\cdot H(t,D_{\text{CI}=T})\right) + \left(\frac{|D_{\text{CI}=F|}}{|D|}\cdot H(t,D_{\text{CI}=F})\right)\\
|
||
&=\left(\frac{2}{6}\cdot\left(-\sum_{l\in\{\text{'spam', 'ham'}\}} P(t=l)\cdot\log_2(P(t=l))\right)\right)\\
|
||
&+\left(\frac{4}{6}\cdot\left(-\sum_{l\in\{\text{'spam', 'ham'}\}} P(t=l)\cdot\log_2(P(t=l))\right)\right)\\
|
||
&=\left(\frac{2}{6}\cdot\left(-\left(\left(\frac{1}{2}\cdot\log_2\left(\frac{1}{2}\right)\right)+\left(\frac{1}{2}\cdot\log_2\left(\frac{1}{2}\right)\right)\right)\right)\right)\\
|
||
&+\left(\frac{4}{6}\cdot\left(-\left(\left(\frac{2}{4}\cdot\log_2\left(\frac{2}{4}\right)\right)+\left(\frac{2}{4}\cdot\log_2\left(\frac{2}{4}\right)\right)\right)\right)\right)\\
|
||
&= 1 [\text{bit}]
|
||
\end{align*}
|
||
\normalsize
|
||
Folglich ergeben sich die folgenden Informationsgewinne:
|
||
\begin{align*}
|
||
IG(\text{SUSPICIOUS WORDS},D)&=H(CLASS,D)-rest(\text{SW},D) \\
|
||
&=1-0=1[\text{bit}]\\\\
|
||
IG(\text{UNKNOWN SENDER},D)&=H(CLASS,D)-rest(\text{US},D) \\
|
||
&=1-0.9183=0.0817[\text{bit}]\\\\
|
||
IG(\text{CONTAINS IMAGES},D)&=H(CLASS,D)-rest(\text{CI},D) \\
|
||
&=1-1=0[\text{bit}]
|
||
\end{align*}
|
||
|
||
\section{\acf{ID3} Algorithmus}
|
||
\label{id3 algorithmus}
|
||
Der \ac{ID3} Algorithmus versucht den Flachsten Baum, der mit den Daten konsistent ist, zu erstellen.
|
||
|
||
\paragraph{Algorithmus}
|
||
\begin{enumerate}
|
||
\item Wähle das beste Merkmal für die Teilung mit Hilfe des Informationsgewinns aus.
|
||
\item Wurzelknoten wird erstellt, der mit dem gewählten Merkmal teilt.
|
||
\item Trainingsdaten werden anhand des gewählten Merkmals aufgeteilt.
|
||
\item Für jede Teilmenge wird ein Zweig erstellt.
|
||
\item Der Prozess wird für jeden der Zweige mit dem ausgewählten Teil der Daten wiederholt.
|
||
\end{enumerate}
|
||
|
||
\paragraph{Abbruchbedingungen}
|
||
\begin{enumerate}
|
||
\item Alle Instanzen im (Teil‐)Datensatz haben die gleiche Klassifikation (Zielmerkmal y). Erstelle einen Blattknoten mit dieser Klassifikation als Label.
|
||
\item Menge der zu testenden Merkmal ist leer. Erstelle einen Blattknoten mit der Mehrheitsklasse des Teildatensatzes als Klassifikation.
|
||
\item Der Teildatensatz ist leer. Erstelle einen Blattknoten mit der Mehrheitsklasse des Teildatensatzes des Elternknotens.
|
||
\end{enumerate} |