Maschinelles Lernen hinzugefügt

This commit is contained in:
paul-loedige 2021-02-03 14:48:36 +01:00
parent b6e1e8b6ff
commit 59c4a54412
14 changed files with 124 additions and 1 deletions

View File

@ -5,4 +5,5 @@
\input{parts/Agenten.tex} \input{parts/Agenten.tex}
\input{parts/Problemlösen durch Suchen.tex} \input{parts/Problemlösen durch Suchen.tex}
\input{parts/Optimierung.tex} \input{parts/Optimierung.tex}
\input{parts/Logik.tex} \input{parts/Logik.tex}
\input{parts/Maschinelles Lernen.tex}

View File

@ -0,0 +1,118 @@
\chapter{Einführung}
\label{ml: einfuehrung}
Allgemein geht es beim maschinellen Lernen darum eine Abbildung $h$ zu erlernen, die auf Basis von Eingabedaten Vorhersagen trifft.
Zum erstellen (bzw. erlernen) von $h$ gibt es zwei Möglichkeiten:
\begin{enumerate}
\item \textbf{Offline Learning:}\\
$h$ wird auf der Basis von Trainingsdaten angelernt.
Sobald $h$ ausreichend gute Vorhersagen trifft wird es unverändert eingesetzt.
\item \textbf{Online Learning:}\\
Die durch Offline Learning erstellte Abbildung $h$ entwickelt sich auf den Produktivdaten weiter.
\end{enumerate}
\section{Was ist Lernen?}
\label{was ist lernen}
Um zu verstehen, was ein lernender Agent (\ref{learning agent}) tut muss zunächst einmal definiert werden, was Lernen überhaupt bedeutet.
Meyers großes Handlexikon definiert \say{Lernen} als:\\
\includegraphics[width = \textwidth]{definition_lernen.png}
\subsection{Arten des Lernen}
\label{arten des lernen}
\includegraphics[width = \textwidth]{lernarten.png}
\subsection{Formen des Lernen}
\label{formen des lernen}
\begin{itemize}
\item \textbf{Informationsbasiertes Lernen:}
\begin{itemize}
\item Welche Merkmale sind am informativsten?
\item Standardalgorithmen: Entscheidungsbäume
\end{itemize}
\item \textbf{Ähnlichkeitsbasiertes Lernen:}
\begin{itemize}
\item Welche bekannten Instanzen sind der Unbekannten am ähnlichsten?
\item Standardalgorithmus: K-Nächste-Nachbarn
\end{itemize}
\item \textbf{Wahrscheinlichkeitsbasiertes Lernen:}
\begin{itemize}
\item Was ist die wahrscheinlichste Vorhersage, die wir treffen sollten?
\item Standardalgorithmus: Naiver Bayes
\end{itemize}
\item \textbf{Fehlerbasiertes Lernen:}
\begin{itemize}
\item Welche Parameter müssen angepasst werden, um den Fehler zu verringern?
\item Standardalgorithmus: Multiple lineare Regression
\end{itemize}
\end{itemize}
\section{Übersicht über die Welt der \ac{KI}}
\label{ml: uebersicht}
\includegraphics[width = \textwidth]{übersicht_ki.png}
\subsection{Einordnung}
\label{ml: uebersicht: einordnung}
\includegraphics[width = \textwidth]{übersicht_ki_einordnung.png}
\section{Aufgaben des \acl{ML}}
\label{ml: aufgaben}
Mögliche Aufgaben für die \ac{ML} eingesetzt wird, sind:
\begin{itemize}
\item \textbf{Klassifikation}:\\
\includegraphics[width = .4\textwidth]{Klassifikation.png}
\item \textbf{Regression:}\\
\includegraphics[width = .4\textwidth]{regression.png}
\item \textbf{Transkription:}\\
Daten werden in einen Text umgeschrieben (z.B. Spracherkennung, Texterkennung)
\item \textbf{Maschinelle Übersetzung:}\\
z.B. Deepl
\item \textbf{Anomalieerkennung}
\end{itemize}
\section{Leistungsbewertung}
\label{ml: leistungsbewertung}
siehe Zusammenfassung ML
\section{Generalisierung}
\label{ml: generalisierung}
Bei ML-Problemen handelt es sich um \say{ill-posed problems} - also Probleme, die eigentlich gar nicht wirklich gelöst werden sollen -.
So soll ein Klassifizierer beispielsweise nicht die perfekte Lösung für die Trainingsdaten liefern, sondern lediglich eine \textbf{generalisierte} Lösung erstellen,
die auch unbekannte Daten gut klassifiziert.\\
\includegraphics[width = \textwidth]{generalisierung.png}
\section{Hypothesenraum}
\label{ml: hypothesenraum}
Der Hypothesenraum ist die Menge an Funktionen, die ein \ac{ML}-Algorithmus als mögliche Lösung wählen kann.
Der Hypothesenraum wird durch die Modellklasse (z.B. linearer Klassifikator) begrenzt.
Durch die Größe des Hypothesenraums wird die \textbf{Modellkapazität kontrolliert}.
\section{Fluch der Dimensionalität}
\label{ml: dimensionalitaet}
\includegraphics[width = \textwidth]{fluch_der_dimensionalität.png}
\section{Trainings- und Testdaten}
\label{ml: trainings- und testdaten}
Um der Gefahr von Overfitting vorzubeugen ist es sinnvoll den vorhandenen \say{gelabelten} Datensatz aufzuteilen.
Eine übliche Aufteilung ist 80\% Trainingsdaten und 20\% Testdaten.
Von den Trainingsdaten werden bei vielen Modellerstellungen noch einmal 20\% für die Validierung während des Trainings abgespalten.
Bei dem Splitten der Daten muss darauf geachtet werden, dass das Datenverhältnis in den Splits dem Gesamtdatensatz entspricht.
D.h. z.B. das sortierte Daten vor dem splitten gemischt werden müssen\\
\includegraphics[width = .8\textwidth]{train_test_split.png}
\subsection{N-fold Cross-Validation}
\label{ml: n-fold cross-validation}
Um sicherzustellen, dass die Daten in den Trainings- und Validierungs-Splits repräsentativ für den Gesamttrainingsdatensatz sind,
wird der Gesamttrainingsdatensatz in mehrere \say{Folds} unterteilt.
Anschließend wird der Algorithmus mehrmals ausgeführt, wobei jeweils andere Folds die Trainings bzw. Validierungsdaten darstellen.
Die Anzahl der Folds wird über einen Parameter $N$ bestimmt, weshalb dieses Verfahren \say{$N$-Fold Cross-Validation} heißt.\\
\includegraphics[width = .8\textwidth]{n-fold_cross-validation.png}
\section{Hyperparameter}
\label{ml: hyperparameter}
\say{Hyperparameter} sind Parameter, die das Verhalten des Algorithmus bestimmen.
Diese Parameter müssen vor Ausführung des Algorithmus festgelegt werden.
Ein typisches Beispiel für einen Hyperparameter ist die Anzahl der zu erreichenden Cluster.
Dieser Hyperparameter muss vielen Clustering-Algorithmen übergeben werden.
\section{Auswahl des \ac{ML}-Algorithmus}
\label{ml: algorithmus-auswahl}
\includegraphics[width = \textwidth]{machine-learning-cheet-sheet.png}

BIN
images/Klassifikation.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
images/generalisierung.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

BIN
images/lernarten.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

BIN
images/regression.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
images/train_test_split.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

BIN
images/übersicht_ki.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

View File

@ -0,0 +1,4 @@
\part{\acf{ML}}
\label{ml}
\input{chapters/Maschinelles Lernen/Einführung.tex}