generated from TH_General/Template_Summary
Lineare Maschinen hinzugefügt
This commit is contained in:
parent
20deeb767e
commit
1d48b32429
2
.gitignore
vendored
2
.gitignore
vendored
@ -3,6 +3,8 @@
|
|||||||
!*.bib
|
!*.bib
|
||||||
!images
|
!images
|
||||||
!images/*
|
!images/*
|
||||||
|
!parts
|
||||||
|
!parts/*
|
||||||
!chapters
|
!chapters
|
||||||
!chapters/*
|
!chapters/*
|
||||||
!appendix
|
!appendix
|
||||||
|
@ -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}
|
@ -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}
|
@ -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}
|
@ -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.
|
|
||||||
|
|
||||||
|
|
49
chapters/Basics/Data_Information_Knowledge.tex
Normal file
49
chapters/Basics/Data_Information_Knowledge.tex
Normal 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.
|
50
chapters/Basics/Information and Pattern Recognition.tex
Normal file
50
chapters/Basics/Information and Pattern Recognition.tex
Normal 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.
|
@ -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}|
|
|
||||||
$$
|
|
||||||
|
|
44
chapters/Mathematische Grundlagen/Vektoralgebra.tex
Normal file
44
chapters/Mathematische Grundlagen/Vektoralgebra.tex
Normal 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}|
|
||||||
|
$$
|
||||||
|
|
@ -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.
|
8
chapters/Supervised Learning/Occam's Razor.tex
Normal file
8
chapters/Supervised Learning/Occam's Razor.tex
Normal 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
BIN
images/capacity_term.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
BIN
images/cross-validation.png
Normal file
BIN
images/cross-validation.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
BIN
images/risk-bound.png
Normal file
BIN
images/risk-bound.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 33 KiB |
BIN
images/structural_risk.png
Normal file
BIN
images/structural_risk.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 31 KiB |
3
parts/Basics.tex
Normal file
3
parts/Basics.tex
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
\part{Basics}
|
||||||
|
\input{chapters/Basics/Information and Pattern Recognition.tex}
|
||||||
|
\input{chapters/Basics/Data_Information_Knowledge.tex}
|
2
parts/Mathematische Grundlagen.tex
Normal file
2
parts/Mathematische Grundlagen.tex
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
\part{Mathematische Grundlagen}
|
||||||
|
\input{chapters/Mathematische Grundlagen/Vektoralgebra.tex}
|
3
parts/Supervised Learning.tex
Normal file
3
parts/Supervised Learning.tex
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
\part{Supervised Learning}
|
||||||
|
\input{chapters/Supervised Learning/Occam's Razor.tex}
|
||||||
|
\input{chapters/Supervised Learning/Linear Machines.tex}
|
Loading…
x
Reference in New Issue
Block a user