Lineare Maschinen hinzugefügt

This commit is contained in:
paul-loedige 2021-01-27 11:15:23 +01:00
parent 20deeb767e
commit 1d48b32429
18 changed files with 248 additions and 172 deletions

2
.gitignore vendored
View File

@ -3,6 +3,8 @@
!*.bib !*.bib
!images !images
!images/* !images/*
!parts
!parts/*
!chapters !chapters
!chapters/* !chapters/*
!appendix !appendix

View File

@ -3,4 +3,6 @@
%% %%
\begin{acronym} \begin{acronym}
\acro{vc-dimension} [VC-Dimension] {Vapnik-Chervonenkis-Dimension} \acro{vc-dimension} [VC-Dimension] {Vapnik-Chervonenkis-Dimension}
\acro{srm} [SRM] {Structural Risk Minimisation}
\acro{svm} [SVM] {Support Vector Machines}
\end{acronym} \end{acronym}

View File

@ -1,7 +1,7 @@
%all the main content goes here %all the main content goes here
\pagenumbering{arabic} \pagenumbering{arabic}
\input{chapters/Basics.tex} \input{parts/Basics.tex}
\input{chapters/Supervised Learning.tex} \input{parts/Supervised Learning.tex}
\input{chapters/Mathematische Grundlagen.tex} \input{parts/Mathematische Grundlagen.tex}

View File

@ -9,8 +9,7 @@
\pagestyle{fancy} \pagestyle{fancy}
\fancyhf{} \fancyhf{}
\lhead{\large\rightmark} \lhead{\large\leftmark}
\chead{\textbf{Zusammenfassung \MODULE \\\vspace{2mm}}} \chead{\textbf{Zusammenfassung \MODULE \\\vspace{2mm}}}
\rhead{\leftmark}
\lfoot{\AUTHORCOMPACT~|~\DATE} \lfoot{\AUTHORCOMPACT~|~\DATE}
\rfoot{\thepage} \rfoot{\thepage}

View File

@ -1,103 +0,0 @@
\chapter{Basics}
\section{Information and Pattern Recognition}
Falls zu viele Daten vorliegen um diese manuell auszuwerten kann es möglich sein den Vorgang zu automatisieren.
Hierbei werden die Daten mithilfe eines Musters klassifiziert (Pattern assignment $\rightarrow$ classification).
Das Verfahren zur Auswahl der jeweiligen Klassenzuordnung wird als \say{Pattern Recognition} bezeichnet.
Man spricht von \say{Automatc Pattern Recognition}, falls das System dazu in der Lage ist neue Pattern in bestehende Klassen einzuordnen.
\paragraph{Muster (pattern)}
Das Wort \say{Pattern} beschreibt dabei eine Menge von Objekten mit vorherbestimmten beschreibenden Eigenschaften.
Ein ein-dimensionales Pattern ist durch einen Vektor (discrete signals) definiert, wohingegen ein zwei-dimensionales Pattern durch eine Matrix beschrieben wird.
\paragraph{Klassen (classes)}
Pattern, die von einem \say{Pattern Recognition System} in die gleiche Klasse gesteckt werden sind äquivalent.
Die Klassen stellen dadurch Äquivalenzklassen (equivalent classes) dar.
\paragraph{Klassifikation (classification)}
Die Klassifikation beschreibt das Verfahren, mit dem einzelne Pattern in Klassen unterteilt werden.
\paragraph{Features}
Ein \say{Feature} bezeichnet die \say{Signatur} eines Pattern.
Das Feature errechnet sich aus den Eigenschaften des jeweiligen Pattern.
\paragraph{Feature space}
Der \say{Feature space} ist ein mehrdimensionaler mathematisch definierter Raum.
Die Dimension dieses Raums wird durch die Anzahl der Features definiert.
Mithilfe des Raumes lassen sich die einzelnen Pattern zueinander in Relation setzen.
\paragraph{Cluster}
Bei gut gewählten Features liegen die Pattern einer Klasse im Feature Space nah beieinander (low intra-class distance).\\
\includegraphics[width=\textwidth]{good_vs_bad_features.png}
Falls die einzelnen Klassen zudem einen großen Abstand zueinander im Feature Space haben (large inter-class distance) spricht man von einem \say{Cluster}.
Bei schlecht gewählten Features lassen sich keine Cluster bilden, da die Klassen einander im Feature Space überlappen.\\
\includegraphics[width=\textwidth]{cluster.png}
\subsection{Humans as Pattern Recognition Systems}
Wie sich herausstellen wird sind die Menschen sehr gut darin Muster in Dingen zu erkennen.
Sie können mit nur wenigen Informationen sehr gezielte Klassifizierungen vornehmen.
\subsection{Human vs. Machine Pattern Recognition}
\begin{center}
\includegraphics[width=.8\textwidth]{human_vs_machine 1.png}\\
\includegraphics[width=\textwidth]{human_vs_machine 2.png}
\end{center}
\subsection{Class allocation (Klassen-Einteilung)}
Grob zusammengefasst gibt es zwei Möglichkeiten für die Erstellung verschiedener Klassen:
\paragraph{Semantical classes}
\say{Semantical classes} werden aufgrund der inhaltlichen Äquivalenz der Pattern gebildet.
Hierbei werden die Klassen selber meist durch einen menschlichen Experten definiert.
Die Aufgabe ist dann ein System zu erstellen, welche die Pattern in die vordefinierten Klassen einordnet.
Man spricht hierbei vom \textbf{Supervised Learning}.
\paragraph{Natural classes}
\say{Natural classes} werden auf Basis mathematischer Formalismen gebildet.
Hierfür wird z.B. der mathematische Abstand eines bestimmten Patterns zu einem anderen für die Klassifikation verwendet.
Diese Art Klassen wird vor allem im Bereich der \say{numerical classification} verwendet, welche ein Beispiel für ein \textbf{Unsupervised Learning} Verfahren ist.
\section{Data, Information, Knowledge}
Allgmein kann man sagen, dass Messungen Daten (Data) erzeugen, aus denen sich Informationen ableiten lassen, aus denen man Wissen (Knowledge) gewinnen kann.
\subsection{Measurement}
Da die meisten modernen Systeme digital sind müssen die Daten der echten Welt vorverarbeitet werden:
\begin{itemize}
\item Signale müssen in digitale Signale umgewandelt werden (z.B. ADC).
\item Die Sensoren müssen an die Gegebenheiten angepasst werden.
\item Signale müssen in Abhängigkeit zu externen Faktoren gesetzt werden.
\end{itemize}
Diese Schritte sind sehr wichtig, da es unmöglich ist aus schlechten Daten gute Erkenntnisse zu gewinnen (\textbf{garbage in - garbage out}).
In der Praxis treten hierbei bei Sensoren die folgenden Fehlerarten auf:
\begin{itemize}
\item \textbf{Random errors:} zufällige Fehler (z.B. Rauschen)
\item \textbf{Systematic errors:} Fehler im Aufbau des Systems (z.B. falsch positionierter Sensor)
\end{itemize}
\subsection{Taxonomy of Uncertainty}
\Large
$$
\text{\color{red}Data}\ne\text{\color{red}Information}\ne\text{\color{red}Knowledge}
$$
\normalsize
Um systematisch mit den Unsicherheiten des Systems umzugehen müssen mehrere Datenströme so kombiniert werden,
dass Informationen entstehen aus denen sich zuverlässig Wissen ableiten lässt.
Die größten Hürden bei der Kombination der Datenströme sind hierbei:
\begin{itemize}
\item too much data
\item poor models
\item bad features or too many features
\item improperly analysed applications
\end{itemize}
Das größte Problem stellt hierbei der Irrglaube dar, dass die Daten alleine ausreichen um eine maschinelle Diagnose zu erstellen.
Jedoch spielt auch das Wissen über die physikalischen, chemischen, ... Eigenschaften des Systems eine wichtige Rolle für die Erstellung.\\
\begin{center}
\includegraphics[width=.6\textwidth]{human_evolutionary_and_trained_knowledge.png}
\end{center}
\subsubsection{Arten von Unsicherheit}
\includegraphics[width=\textwidth]{aleatoric_and_epistemic_uncertainty.png}
\paragraph{Aleatoric uncertainty}
Es gibt Daten die in ihrem Kern nichtdeterministischer Natur sind.
Dies lassen sich nicht ausschließen, egal wie genau der Messaufbau errichtet ist.
Hier lässt sich ein probabilistischer Ansatz wählen um diese Daten dennoch zu verstehen (z.B. Bayesian Probability Theory).
Bei dieser Art von Unsicherheit spricht man von \say{Aleatoric uncertainty}.
\paragraph{Epistemic uncertainty}
In vielen Situationen steht nicht genügend Wissen über das System zur Verfügung um ein bestimmtes Verhalten zu analysieren.
Um mit dieser Unsicherheit umzugehen muss die \say{knowledge base} erweitert werden.
Dies ist durch die Kombination mehrerer Sensoren oder Expertenwissen möglich.

View File

@ -0,0 +1,49 @@
\chapter{Data, Information, Knowledge}
Allgmein kann man sagen, dass Messungen Daten (Data) erzeugen, aus denen sich Informationen ableiten lassen, aus denen man Wissen (Knowledge) gewinnen kann.
\section{Measurement}
Da die meisten modernen Systeme digital sind müssen die Daten der echten Welt vorverarbeitet werden:
\begin{itemize}
\item Signale müssen in digitale Signale umgewandelt werden (z.B. ADC).
\item Die Sensoren müssen an die Gegebenheiten angepasst werden.
\item Signale müssen in Abhängigkeit zu externen Faktoren gesetzt werden.
\end{itemize}
Diese Schritte sind sehr wichtig, da es unmöglich ist aus schlechten Daten gute Erkenntnisse zu gewinnen (\textbf{garbage in - garbage out}).
In der Praxis treten hierbei bei Sensoren die folgenden Fehlerarten auf:
\begin{itemize}
\item \textbf{Random errors:} zufällige Fehler (z.B. Rauschen)
\item \textbf{Systematic errors:} Fehler im Aufbau des Systems (z.B. falsch positionierter Sensor)
\end{itemize}
\section{Taxonomy of Uncertainty}
\Large
$$
\text{\color{red}Data}\ne\text{\color{red}Information}\ne\text{\color{red}Knowledge}
$$
\normalsize
Um systematisch mit den Unsicherheiten des Systems umzugehen müssen mehrere Datenströme so kombiniert werden,
dass Informationen entstehen aus denen sich zuverlässig Wissen ableiten lässt.
Die größten Hürden bei der Kombination der Datenströme sind hierbei:
\begin{itemize}
\item too much data
\item poor models
\item bad features or too many features
\item improperly analysed applications
\end{itemize}
Das größte Problem stellt hierbei der Irrglaube dar, dass die Daten alleine ausreichen um eine maschinelle Diagnose zu erstellen.
Jedoch spielt auch das Wissen über die physikalischen, chemischen, ... Eigenschaften des Systems eine wichtige Rolle für die Erstellung.\\
\begin{center}
\includegraphics[width=.6\textwidth]{human_evolutionary_and_trained_knowledge.png}
\end{center}
\subsection{Arten von Unsicherheit}
\includegraphics[width=\textwidth]{aleatoric_and_epistemic_uncertainty.png}
\paragraph{Aleatoric uncertainty}
Es gibt Daten die in ihrem Kern nichtdeterministischer Natur sind.
Dies lassen sich nicht ausschließen, egal wie genau der Messaufbau errichtet ist.
Hier lässt sich ein probabilistischer Ansatz wählen um diese Daten dennoch zu verstehen (z.B. Bayesian Probability Theory).
Bei dieser Art von Unsicherheit spricht man von \say{Aleatoric uncertainty}.
\paragraph{Epistemic uncertainty}
In vielen Situationen steht nicht genügend Wissen über das System zur Verfügung um ein bestimmtes Verhalten zu analysieren.
Um mit dieser Unsicherheit umzugehen muss die \say{knowledge base} erweitert werden.
Dies ist durch die Kombination mehrerer Sensoren oder Expertenwissen möglich.

View File

@ -0,0 +1,50 @@
\chapter{Information and Pattern Recognition}
Falls zu viele Daten vorliegen um diese manuell auszuwerten kann es möglich sein den Vorgang zu automatisieren.
Hierbei werden die Daten mithilfe eines Musters klassifiziert (Pattern assignment $\rightarrow$ classification).
Das Verfahren zur Auswahl der jeweiligen Klassenzuordnung wird als \say{Pattern Recognition} bezeichnet.
Man spricht von \say{Automatc Pattern Recognition}, falls das System dazu in der Lage ist neue Pattern in bestehende Klassen einzuordnen.
\paragraph{Muster (pattern)}
Das Wort \say{Pattern} beschreibt dabei eine Menge von Objekten mit vorherbestimmten beschreibenden Eigenschaften.
Ein ein-dimensionales Pattern ist durch einen Vektor (discrete signals) definiert, wohingegen ein zwei-dimensionales Pattern durch eine Matrix beschrieben wird.
\paragraph{Klassen (classes)}
Pattern, die von einem \say{Pattern Recognition System} in die gleiche Klasse gesteckt werden sind äquivalent.
Die Klassen stellen dadurch Äquivalenzklassen (equivalent classes) dar.
\paragraph{Klassifikation (classification)}
Die Klassifikation beschreibt das Verfahren, mit dem einzelne Pattern in Klassen unterteilt werden.
\paragraph{Features}
Ein \say{Feature} bezeichnet die \say{Signatur} eines Pattern.
Das Feature errechnet sich aus den Eigenschaften des jeweiligen Pattern.
\paragraph{Feature space}
Der \say{Feature space} ist ein mehrdimensionaler mathematisch definierter Raum.
Die Dimension dieses Raums wird durch die Anzahl der Features definiert.
Mithilfe des Raumes lassen sich die einzelnen Pattern zueinander in Relation setzen.
\paragraph{Cluster}
Bei gut gewählten Features liegen die Pattern einer Klasse im Feature Space nah beieinander (low intra-class distance).\\
\includegraphics[width=\textwidth]{good_vs_bad_features.png}
Falls die einzelnen Klassen zudem einen großen Abstand zueinander im Feature Space haben (large inter-class distance) spricht man von einem \say{Cluster}.
Bei schlecht gewählten Features lassen sich keine Cluster bilden, da die Klassen einander im Feature Space überlappen.\\
\includegraphics[width=\textwidth]{cluster.png}
\section{Humans as Pattern Recognition Systems}
Wie sich herausstellen wird sind die Menschen sehr gut darin Muster in Dingen zu erkennen.
Sie können mit nur wenigen Informationen sehr gezielte Klassifizierungen vornehmen.
\section{Human vs. Machine Pattern Recognition}
\begin{center}
\includegraphics[width=.8\textwidth]{human_vs_machine 1.png}\\
\includegraphics[width=\textwidth]{human_vs_machine 2.png}
\end{center}
\section{Class allocation (Klassen-Einteilung)}
Grob zusammengefasst gibt es zwei Möglichkeiten für die Erstellung verschiedener Klassen:
\paragraph{Semantical classes}
\say{Semantical classes} werden aufgrund der inhaltlichen Äquivalenz der Pattern gebildet.
Hierbei werden die Klassen selber meist durch einen menschlichen Experten definiert.
Die Aufgabe ist dann ein System zu erstellen, welche die Pattern in die vordefinierten Klassen einordnet.
Man spricht hierbei vom \textbf{Supervised Learning}.
\paragraph{Natural classes}
\say{Natural classes} werden auf Basis mathematischer Formalismen gebildet.
Hierfür wird z.B. der mathematische Abstand eines bestimmten Patterns zu einem anderen für die Klassifikation verwendet.
Diese Art Klassen wird vor allem im Bereich der \say{numerical classification} verwendet, welche ein Beispiel für ein \textbf{Unsupervised Learning} Verfahren ist.

View File

@ -1,47 +0,0 @@
\chapter{Mathematische Grundlagen}
In diesem Kapitel sind alle mathematischen Grundlagen zusammengefasst, auf die im Rest der Zusammenfassung zurückgegriffen wird.
\section{Vektoralgebra}\label{Vektoralgebra}
\begin{itemize}
\item Eine Größe, die eine Richtung und einen Betrag besitzt ist ein Vektor (z.B. $\bm{a}$).
\item Die Länge des Vektors ist der Betrag ($a=|\bm{a}|$).
\item Ein Einheitsvektor $\bm{e}_{\bm{a}}$ ist ein Vektor in Richtung von $\bm{a}$ mit $a=1$:
$$\bm{e}_{\bm{a}} =\frac{\bm{a}}{a}$$
\item Die Einheitsvektoren $\bm{e}_{\bm{x}}$, $\bm{e}_{\bm{y}}$ und $\bm{e}_{\bm{z}}$ bilden eine Basis für ein 3-dimensionales Koordinatensystem.\\
\includegraphics[width=.4\textwidth]{koordinatensystem.png}
\item Alle Vektoren $\bm{a}$ in diesem Koordinatensystem durch eine Linearkombination von $\bm{e}_{\bm{x}}$, $\bm{e}_{\bm{y}}$ und $\bm{e}_{\bm{z}}$ aufgestellt werden können.
Man spricht hierbei von einer Projektion.\\
\includegraphics[width=.8\textwidth]{projektion.png}
\item Aufgrund der festgelegten Basis kann für $\bm{a}$ auch $(a_x,a_y,a_z)$ geschrieben werden.
Hierdurch ergeben sich auch die Basisvektoren $\bm{e}_{\bm{x}}=(1,0,0)$, $\bm{e}_{\bm{y}}=(1,0,0)$ und $\bm{e}_{\bm{z}}=(1,0,0)$
\item Für die Strecke OP vom Ursprung zu einem Punkt $\text{P}(x,y,z)$ gilt (Ortsvektor):
$$ r=(x,y,z) $$
\item Betrag des Ortsvektors: $r=\sqrt{x^2+y^2+z^2}$
\item Die Verortung von Punkten im Koordinatensystem kann auch über die Winkelbeziehungen erfolgen:\\
\includegraphics[width=.6\textwidth]{winkelbeziehungen.png}
\end{itemize}
\subsection{Skalarprodukt}
Das Skalarprodukt ist ein Ergbnis der Multiplikation von zwei Vektoren.
Betrachtet man die Multiplikation im Sinne von Komponenten erhält man:\\
\includegraphics[width=.6\textwidth]{skalarprodukt.png}\\
Geht man hingegen von der Orthonormalbasis aus, erhält man:
$$
\bm{a}\cdot\bm{b}
= (a_x\cdot\bm{e}_{\bm{x}}+a_y\cdot\bm{e}_{\bm{y}}+a_z\cdot\bm{e}_{\bm{z}})
\cdot((b_x\cdot\bm{e}_{\bm{x}}+b_y\cdot\bm{e}_{\bm{y}}+b_z\cdot\bm{e}_{\bm{z}}))
= a_xb_x+a_yb_y+a_zb_z
$$
Allgemein: $\bm{ab} = \sum^{N}_{i=1}a_ib_i$\\
Desweiteren gibt es noch eine dritte Schreibweise für das Skalarprodukt.
Man schreibt $\langle a,b\rangle = \bm{a}^T\bm{b}$.
$\bm{a}^T=(a_1,a_2,\dots,a_N)$ ist der transponierte Vektor $\bm{a}$.
$$
\bm{b}=\left[ \begin{array}{c} b_1 \\ b_2 \\ \vdots \\ b_N \end{array}\right]
\bm{a}^T\bm{b}=(a_1,a_2,\dots,a_N)\cdot\left[\begin{array}{c}b_1\\b_2\\\vdots\\b_N\end{array}\right] = \sum^N_{i=1}a_ib_i
$$
Diese Form des Skalarproduktes stellt die Grundlage für die Euklidische Norm $L_2$ dar.
$$
||\bm{a}||=\sqrt{\langle a,a\rangle} = \sqrt{\sum^N_{i=1}a_i^2} = |\bm{a}|
$$

View File

@ -0,0 +1,44 @@
\chapter{Vektoralgebra}\label{Vektoralgebra}
\begin{itemize}
\item Eine Größe, die eine Richtung und einen Betrag besitzt ist ein Vektor (z.B. $\bm{a}$).
\item Die Länge des Vektors ist der Betrag ($a=|\bm{a}|$).
\item Ein Einheitsvektor $\bm{e}_{\bm{a}}$ ist ein Vektor in Richtung von $\bm{a}$ mit $a=1$:
$$\bm{e}_{\bm{a}} =\frac{\bm{a}}{a}$$
\item Die Einheitsvektoren $\bm{e}_{\bm{x}}$, $\bm{e}_{\bm{y}}$ und $\bm{e}_{\bm{z}}$ bilden eine Basis für ein 3-dimensionales Koordinatensystem.\\
\includegraphics[width=.4\textwidth]{koordinatensystem.png}
\item Alle Vektoren $\bm{a}$ in diesem Koordinatensystem durch eine Linearkombination von $\bm{e}_{\bm{x}}$, $\bm{e}_{\bm{y}}$ und $\bm{e}_{\bm{z}}$ aufgestellt werden können.
Man spricht hierbei von einer Projektion.\\
\includegraphics[width=.8\textwidth]{projektion.png}
\item Aufgrund der festgelegten Basis kann für $\bm{a}$ auch $(a_x,a_y,a_z)$ geschrieben werden.
Hierdurch ergeben sich auch die Basisvektoren $\bm{e}_{\bm{x}}=(1,0,0)$, $\bm{e}_{\bm{y}}=(1,0,0)$ und $\bm{e}_{\bm{z}}=(1,0,0)$
\item Für die Strecke OP vom Ursprung zu einem Punkt $\text{P}(x,y,z)$ gilt (Ortsvektor):
$$ r=(x,y,z) $$
\item Betrag des Ortsvektors: $r=\sqrt{x^2+y^2+z^2}$
\item Die Verortung von Punkten im Koordinatensystem kann auch über die Winkelbeziehungen erfolgen:\\
\includegraphics[width=.6\textwidth]{winkelbeziehungen.png}
\end{itemize}
\section{Skalarprodukt}
Das Skalarprodukt ist ein Ergbnis der Multiplikation von zwei Vektoren.
Betrachtet man die Multiplikation im Sinne von Komponenten erhält man:\\
\includegraphics[width=.6\textwidth]{skalarprodukt.png}\\
Geht man hingegen von der Orthonormalbasis aus, erhält man:
$$
\bm{a}\cdot\bm{b}
= (a_x\cdot\bm{e}_{\bm{x}}+a_y\cdot\bm{e}_{\bm{y}}+a_z\cdot\bm{e}_{\bm{z}})
\cdot((b_x\cdot\bm{e}_{\bm{x}}+b_y\cdot\bm{e}_{\bm{y}}+b_z\cdot\bm{e}_{\bm{z}}))
= a_xb_x+a_yb_y+a_zb_z
$$
Allgemein: $\bm{ab} = \sum^{N}_{i=1}a_ib_i$\\
Desweiteren gibt es noch eine dritte Schreibweise für das Skalarprodukt.
Man schreibt $\langle a,b\rangle = \bm{a}^T\bm{b}$.
$\bm{a}^T=(a_1,a_2,\dots,a_N)$ ist der transponierte Vektor $\bm{a}$.
$$
\bm{b}=\left[ \begin{array}{c} b_1 \\ b_2 \\ \vdots \\ b_N \end{array}\right]
\bm{a}^T\bm{b}=(a_1,a_2,\dots,a_N)\cdot\left[\begin{array}{c}b_1\\b_2\\\vdots\\b_N\end{array}\right] = \sum^N_{i=1}a_ib_i
$$
Diese Form des Skalarproduktes stellt die Grundlage für die Euklidische Norm $L_2$ dar.
$$
||\bm{a}||=\sqrt{\langle a,a\rangle} = \sqrt{\sum^N_{i=1}a_i^2} = |\bm{a}|
$$

View File

@ -1,17 +1,7 @@
\chapter{Supervised Learning} \chapter{Linear Machines}
\section{Einleitung} Mithilfe von linearen Maschinen lassen sich bestimmte Arten von Problemen klassifizieren.\\
Ein sehr komplexes Modell kann zwar das optimale Ergebnis für einen Trainingsdatensatz bilden, \includegraphics[width=\textwidth]{seperability.png}\\
stellt aber zumeist keine gute Lösung für das allgemeine Problem dar. Hierfür wird auf viele Aspekte der Vektoralgebra zurückgegriffen (siehe \ref{Vektoralgebra}).
Meist ist es sinnvoll ein möglichst einfaches Modell zu entwickeln, welches die Trainingsdaten \say{gut} klassifiziert.
Ein solches Modell ist zumeist besser dazu in der Lage unbekannte Pattern zu klassifizieren.
Das Prinzip, immer das einfachste Modell zu wählen wird auch als \say{Occam's Razor} bezeichnet.\\
\includegraphics[width=.4\textwidth]{occam's razor 1.png}
\includegraphics[width=.5\textwidth]{occam's razor 2.png}
\section{Linear Machines}
Mithilfe von linearen Maschinen lassen sich bestimmte Arten von Problemen klassifizieren.\\
\includegraphics[width=\textwidth]{seperability.png}\\
Hierfür wird auf viele Aspekte der Vektoralgebra zurückgegriffen (siehe \ref{Vektoralgebra}).
\section{Aufstellung einer Diskriminanten} \section{Aufstellung einer Diskriminanten}
\includegraphics[width=.8\textwidth]{diskriminante.png}\\ \includegraphics[width=.8\textwidth]{diskriminante.png}\\
@ -64,7 +54,7 @@
\subsection{Beispiel: nicht-symmetrischer Lernalgorithmus} \subsection{Beispiel: nicht-symmetrischer Lernalgorithmus}
\includegraphics[width=.8\textwidth]{Perzeptron_Lernalgorithmus.png} \includegraphics[width=.8\textwidth]{Perzeptron_Lernalgorithmus.png}
\subsection{Novikoff's Theorem} \subsection{Novikoff's Theorem}\label{novikoffs theorem}
Novikoff's Theorem besagt, dass der Lernalgorithmus des Perzeptrons bei einem linear trennbaren Datensatz unweigerlich eine Diskriminante findet. Novikoff's Theorem besagt, dass der Lernalgorithmus des Perzeptrons bei einem linear trennbaren Datensatz unweigerlich eine Diskriminante findet.
Zudem besagt es, dass der Algorithmus bei einem nicht linear separierbaren Datensatz nicht konvergieren kann. Zudem besagt es, dass der Algorithmus bei einem nicht linear separierbaren Datensatz nicht konvergieren kann.
Um die Konvergenz zu beschleunigen ist es sinnvoll die sigmoid-Funktion anstatt der signum-Funktion zu verwenden. Um die Konvergenz zu beschleunigen ist es sinnvoll die sigmoid-Funktion anstatt der signum-Funktion zu verwenden.
@ -73,7 +63,7 @@
\subsection{Beispiel: symmetrischer Lernalgorithmus} \subsection{Beispiel: symmetrischer Lernalgorithmus}
\includegraphics[width=.8\textwidth]{Perzeptron_Lernalgorithmus_symmetrisch.png} \includegraphics[width=.8\textwidth]{Perzeptron_Lernalgorithmus_symmetrisch.png}
\section{\acs{vc-dimension}} \section{\acs{vc-dimension}}\label{vc-dimension}
Die \acl{vc-dimension} gibt ein Maß für die \say{learning power} einer Klassifizierung. Die \acl{vc-dimension} gibt ein Maß für die \say{learning power} einer Klassifizierung.
\subsection{Shattering} \subsection{Shattering}
@ -90,3 +80,77 @@
\includegraphics[width=.8\textwidth]{XOR-Problem1.png}\\ \includegraphics[width=.8\textwidth]{XOR-Problem1.png}\\
Um das XOR-Problem von einer linearen Maschine klassifizieren zu lassen muss diese aus mindestens 2 Schichten bestehen.\\ Um das XOR-Problem von einer linearen Maschine klassifizieren zu lassen muss diese aus mindestens 2 Schichten bestehen.\\
\includegraphics[width=\textwidth]{XOR-Problem2.png} \includegraphics[width=\textwidth]{XOR-Problem2.png}
\section{Maximum Margin Approaches}
Aus \ref{novikoffs theorem} ist bekannt, dass eine Diskriminate erstellt werden kann.
Jedoch sind mehrere Diskriminanten möglich.
Nun besteht die Aufgabe darin die Diskriminante zu wählen, die die Daten am besten teilt.
\subsection{Cross-Validation}
Das Verfahren der Cross-Validation trennt die Daten in Trainings- und Testdaten auf.
Anhand des Fehlers eines Models auf den Testdaten wird versucht die Allgemeingültigkeit des Modells abzuschätzen.
Das Modell mit dem geringsten Test-Fehler wird als bestes Modell ausgewählt.
Dieser Ansatz beugt einem Over-Fitting des Modells auf die Trainingsdaten vor.\\
\begin{center}
\includegraphics[width=.6\textwidth]{cross-validation.png}
\end{center}
\subsection{Loss function}
eine Verlustfunktion errechnet die Abweichung der vorhersage einer Klassifizierungsfunktion $f(\bm{m};\bm{w})$ von dem tatsächlichen Wert $y$.\\
Beispiele hierfür sind der \say{Quadratic Loss}:
$$L(y,f(\bm{m};\bm{w})) = f\left((y-f(\bm{m};\bm{w})^2)\right)$$
oder der \say{Absolute Value Loss}:
$$L(y,f(\bm{m};\bm{w})) = f\left(|y-f(\bm{m};\bm{w})|)\right)$$
\subsection{Empirical Risk}\label{empirical risk}
Das \say{Empirische Risiko} gibt auf Basis der Trainingsdaten eine Abschätzung dafür, wie hoch das Risiko ist, dass ein Datenpunkt von der Klassifizierungsfunktion falsch klassifiziert wird.
Hierfür wird eine Loss function als Basis genommen.
\begin{align*}
R_{emp}(\bm{w}) = \frac{1}{N}\sum^N_{i=1}L\left(y_i,f(\bm{m}_i;\bm{w})\right)
\end{align*}
\begin{tabular}{|p{.475\textwidth}|p{.475\textwidth}|}
\hline
\textbf{Vorteile} & \textbf{Nachteile}\\
\hline
Alle benötigten Daten zur Berechnung vorhanden & keine direkte Angabe der \say{generalization ability}\\
\hline
\end{tabular}
\subsection{True Risk}
Das \say{echte Risiko} gibt das reale Risiko dafür an, dass eine Klassifizierungsfunktion einen Datenpunkt falsch klassifiziert.
Hierfür wird die Dichtefunktion $p$ der Datenpunkte als Grundlage genommen.
Da diese meist nicht bekannt ist, kann oft nur das Empirische Risiko angegeben werden.
$$R(\bm{w}) = \iint L\left(y_i,f(\bm{m};\bm{w})\right) \cdot p(\bm{m},y) d\bm{m} dy$$
\begin{tabular}{|p{.475\textwidth}|p{.475\textwidth}|}
\hline
\textbf{Vorteile} & \textbf{Nachteile}\\
\hline
Misst die \say{generalization ability} & Die Dichtefunktion $p$ muss bekannt sein\\
\hline
\end{tabular}
\subsection{Risk Bound}
Die Risikoschranke gibt an, wie weit das Empirische Risiko von dem tatsächlichen Risiko abweichen kann.
$$R(\bm{w})\le R_{emp}(\bm{w})+\varepsilon(N,\kappa,h)$$
\begin{itemize}
\item $N$: Anzahl der Trainingsdatenpunkte
\item $\kappa$: das \say{confidence level}, $0\le\kappa\le1$
\item $h$: \acs{vc-dimension} (\ref{vc-dimension})
\end{itemize}
\includegraphics[width=.8\textwidth]{risk-bound.png}
\subsubsection{Capacity Term $\varepsilon$}\label{capacity term}
Der Kapazitätsterm gibt eine Grenze dafür, wie gut das Risiko maximal werden kann.
$$ \varepsilon(N,\kappa,h) = \sqrt{\frac{h \cdot \left(\lg\left(\frac{2N}{h}\right)+1\right)-\lg\left(\frac{\kappa}{4}\right)}{N}} $$
\textbf{Beispiel:}\\
\includegraphics[width=.5\textwidth]{capacity_term.png}
\subsection{Structural Risk}\label{strucutral risk}
Das Strukturelle Risiko wird durch das empirische Risiko $R_{emp}(\bm{w})$ (\ref{empirical risk}) und den Kapazitätsterm $\varepsilon(N,\kappa,h)$ (\ref{capacity term}) definiert.\\
\includegraphics[width=.6\textwidth]{structural_risk.png}
\subsubsection{\acl{srm}}
Das strukurelle Risiko kann entweder dadurch reduziert werden,
dass das empirische Risiko (\ref{empirical risk}) bei gleichbleibenden $\varepsilon$ (\ref{capacity term}) reduziert wird,
oder durch eine Reduzierung von $\varepsilon$ bei gleichbleibenden empirishen Risiko.
Letzteres ist der Ansatz den die \acs{svm}s (\ref{svm}) verfolgen.

View File

@ -0,0 +1,8 @@
\chapter{Occam's Razor}
Ein sehr komplexes Modell kann zwar das optimale Ergebnis für einen Trainingsdatensatz bilden,
stellt aber zumeist keine gute Lösung für das allgemeine Problem dar.
Meist ist es sinnvoll ein möglichst einfaches Modell zu entwickeln, welches die Trainingsdaten \say{gut} klassifiziert.
Ein solches Modell ist zumeist besser dazu in der Lage unbekannte Pattern zu klassifizieren.
Das Prinzip, immer das einfachste Modell zu wählen wird auch als \say{Occam's Razor} bezeichnet.\\
\includegraphics[width=.4\textwidth]{occam's razor 1.png}
\includegraphics[width=.5\textwidth]{occam's razor 2.png}

BIN
images/capacity_term.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
images/cross-validation.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
images/risk-bound.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
images/structural_risk.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

3
parts/Basics.tex Normal file
View File

@ -0,0 +1,3 @@
\part{Basics}
\input{chapters/Basics/Information and Pattern Recognition.tex}
\input{chapters/Basics/Data_Information_Knowledge.tex}

View File

@ -0,0 +1,2 @@
\part{Mathematische Grundlagen}
\input{chapters/Mathematische Grundlagen/Vektoralgebra.tex}

View File

@ -0,0 +1,3 @@
\part{Supervised Learning}
\input{chapters/Supervised Learning/Occam's Razor.tex}
\input{chapters/Supervised Learning/Linear Machines.tex}