KI_Zusammenfassung/chapters/Maschinelles Lernen/Informationsbasiertes Lernen.tex

117 lines
7.7 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\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}