118 lines
6.4 KiB
TeX
118 lines
6.4 KiB
TeX
\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} |