From d932bfd7e8f9ac24a00f4008b4087b219015b37b Mon Sep 17 00:00:00 2001 From: paul-loedige Date: Wed, 3 Feb 2021 17:43:12 +0100 Subject: [PATCH] =?UTF-8?q?lernbarkeit=20zu=20maschinellem=20Lernen=20hinz?= =?UTF-8?q?ugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Acronyms.tex | 1 + chapters/Maschinelles Lernen/Lernbarkeit.tex | 52 ++++++++++++++++++++ parts/Maschinelles Lernen.tex | 3 +- 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 chapters/Maschinelles Lernen/Lernbarkeit.tex diff --git a/Acronyms.tex b/Acronyms.tex index dee41d4..e637380 100644 --- a/Acronyms.tex +++ b/Acronyms.tex @@ -10,4 +10,5 @@ \acro{TSP}{Traveling Salesman Problem} \acro{CSP}{Constraint Satisfaction Problem} \acro{KNF}{Konjunktive Normalform} + \acro{PAC}{Probably Approximately Correct} \end{acronym} \ No newline at end of file diff --git a/chapters/Maschinelles Lernen/Lernbarkeit.tex b/chapters/Maschinelles Lernen/Lernbarkeit.tex new file mode 100644 index 0000000..a3a1ca1 --- /dev/null +++ b/chapters/Maschinelles Lernen/Lernbarkeit.tex @@ -0,0 +1,52 @@ +\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 \ No newline at end of file diff --git a/parts/Maschinelles Lernen.tex b/parts/Maschinelles Lernen.tex index 779808c..391561d 100644 --- a/parts/Maschinelles Lernen.tex +++ b/parts/Maschinelles Lernen.tex @@ -1,4 +1,5 @@ \part{\acf{ML}} \label{ml} -\input{chapters/Maschinelles Lernen/Einführung.tex} \ No newline at end of file +\input{chapters/Maschinelles Lernen/Einführung.tex} +\input{chapters/Maschinelles Lernen/Lernbarkeit.tex} \ No newline at end of file