52 lines
3.4 KiB
TeX
52 lines
3.4 KiB
TeX
\chapter{Lernbarkeit}
|
|
\label{lernbarkeit}
|
|
Offensichtlich sind nicht alle Probleme lernbar (Negativbeispiel: Primzahlen und Verschlüsselung).
|
|
Manche Probleme sind auch nur mit einem sehr hohen Aufwand lernbar.
|
|
So war es Computern erst durch eine starke Entwicklung in Rechenleistung und Speicher möglich einen Schachspiel-Algorithmus zu entwerfen,
|
|
der jeden Menschen schlagen kann (1997: Deep Blue vs Kasparow).
|
|
Da sich diese Entwicklung seit Deep Blue exponentiell fortgesetzt hat ist zu erwarten,
|
|
dass immer mehr der \say{schwer lernbaren} Probleme (nicht mit unlernbar verwechseln) von Computern bewältigt werden.
|
|
Bei diesen Problemen handelt es sich aber bereits um Probleme,
|
|
für die es zwar theoretisch mit unbegrenzter Rechenzeit und Speicher möglich wäre eine Optimale Lösung zu finden,
|
|
allerdings ist ein Brute-Force-Ansatz in der Praxis \textbf{unmöglich}.
|
|
So gibt es beim Schach für die ersten 40 Züge bereits $\approx 10^115 - 10^120$ Möglichkeiten.
|
|
Dies sind mehr Möglichkeiten als es Atome im Universum ($\approx 10^84 - 10^89$) gibt.
|
|
Somit ist alleine das Abspeichern aller möglichen Zustände unmöglich.
|
|
Nicht berücksichtigt ist hierbei die Rechenzeit.
|
|
Folglich müssen für diese Probleme Algorithmen erstellt werden, die eine Art \say{Intuition} entwickeln.
|
|
|
|
\section{\acf{PAC} Learning}
|
|
\label{pac}
|
|
Beim \ac{PAC}-Lernen wird analysiert,
|
|
unter welchen Umständen ein Lern-Algorithmus wahrscheinlich(P) eine annähernd(A) richtige(C) Hypothese erstellt.
|
|
Ein Lerner $L$ hat ein Konzept bzw. eine Funktion gelernt, wenn:
|
|
$$P(error_D(h)>\epsilon)<\delta ~ (D: \text{Trainingsdatenverteilung})$$
|
|
Ein Problem ist \ac{PAC}-lernbar, wenn es möglich ist eine näherungsweise korrekte Hypothese in polynomieller Zeit zu lernen.
|
|
|
|
\paragraph{Approximately}
|
|
Eine Hypoteste $h\in H$ ist annähernd (approximately) richtig,
|
|
wenn ihr Fehler über die Verteilung von Trainingsdaten durch $\epsilon(0\le\epsilon\le\frac{1}{2})$ begrenzt ist.
|
|
D.h. wenn die Hypothese dank der Trainingsdaten min. 50\% korrekt ist.
|
|
|
|
\paragraph{Probably}
|
|
Ein Lerner $L$, der eine ungefähr richtige Hypothese $h$ mit einer Wahrscheinlichkeit von
|
|
$1-\delta(0\le\delta\le\frac{1}{2})$ ausgibt ist wahrscheinlich ungefähr richtig.
|
|
|
|
\subsection{Lower Bound}
|
|
\label{pac: lower bound}
|
|
Es lässt sich eine untere Schranke für die Anzahl der benötigten Trainingsdaten,
|
|
die gebraucht werden um einen \ac{PAC}-Lerner zu erstellen, berechnen.
|
|
Die Wahrscheinlichkeit, dass eine \say{schlechte} Hypothese mit den Trainingsdaten konsistent ist beträgt:
|
|
$$P(\forall x:h'(x)=c(x)) = (1-\epsilon)^m$$
|
|
hieraus ergibt sich:
|
|
$$P(\forall x:h'(x)=c(x)) = (1-\epsilon)^m \le P(H \text{ beinhaltet min. ein }h')$$
|
|
$$=P(\exists h':\forall x:h'(x)=c(x))$$
|
|
$$\le\sum^{|H|}_{i=1} P(\forall x:h_i(x)=c(x)\vee h_i \text{ schlecht})$$
|
|
$$\le |H|\cdot(1-\epsilon)^m$$
|
|
Dies können wir als Schranke für unser $\delta$ annehmen:
|
|
$$\le |H|\cdot(1-\epsilon)^m\le\delta$$
|
|
Hieraus ergibt sich dann eine untere Schranke für die Anzahl der Trainingsdaten,
|
|
die für einen \ac{PAC}-Lerner benötigt werden:
|
|
\Large
|
|
$$m\ge\frac{1}{\epsilon}\cdot(\ln\frac{1}{\delta}+\ln|H|)$$
|
|
\normalsize |