diff --git a/.gitignore b/.gitignore index 945fb52..9f182ce 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,8 @@ !*.bib !images !images/* +!parts +!parts/* !chapters !chapters/* !appendix diff --git a/Acronyms.tex b/Acronyms.tex index cce7297..31711ec 100644 --- a/Acronyms.tex +++ b/Acronyms.tex @@ -3,4 +3,6 @@ %% \begin{acronym} \acro{vc-dimension} [VC-Dimension] {Vapnik-Chervonenkis-Dimension} + \acro{srm} [SRM] {Structural Risk Minimisation} + \acro{svm} [SVM] {Support Vector Machines} \end{acronym} \ No newline at end of file diff --git a/Content.tex b/Content.tex index 17a68c0..fa74256 100644 --- a/Content.tex +++ b/Content.tex @@ -1,7 +1,7 @@ %all the main content goes here \pagenumbering{arabic} -\input{chapters/Basics.tex} -\input{chapters/Supervised Learning.tex} +\input{parts/Basics.tex} +\input{parts/Supervised Learning.tex} -\input{chapters/Mathematische Grundlagen.tex} \ No newline at end of file +\input{parts/Mathematische Grundlagen.tex} \ No newline at end of file diff --git a/Style.tex b/Style.tex index e415da3..64606b4 100644 --- a/Style.tex +++ b/Style.tex @@ -9,8 +9,7 @@ \pagestyle{fancy} \fancyhf{} -\lhead{\large\rightmark} +\lhead{\large\leftmark} \chead{\textbf{Zusammenfassung \MODULE \\\vspace{2mm}}} -\rhead{\leftmark} \lfoot{\AUTHORCOMPACT~|~\DATE} \rfoot{\thepage} \ No newline at end of file diff --git a/chapters/Basics.tex b/chapters/Basics.tex deleted file mode 100644 index 961c9ef..0000000 --- a/chapters/Basics.tex +++ /dev/null @@ -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. - - diff --git a/chapters/Basics/Data_Information_Knowledge.tex b/chapters/Basics/Data_Information_Knowledge.tex new file mode 100644 index 0000000..4050144 --- /dev/null +++ b/chapters/Basics/Data_Information_Knowledge.tex @@ -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. \ No newline at end of file diff --git a/chapters/Basics/Information and Pattern Recognition.tex b/chapters/Basics/Information and Pattern Recognition.tex new file mode 100644 index 0000000..d28282b --- /dev/null +++ b/chapters/Basics/Information and Pattern Recognition.tex @@ -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. diff --git a/chapters/Mathematische Grundlagen.tex b/chapters/Mathematische Grundlagen.tex deleted file mode 100644 index 6f66e1d..0000000 --- a/chapters/Mathematische Grundlagen.tex +++ /dev/null @@ -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}| - $$ - diff --git a/chapters/Mathematische Grundlagen/Vektoralgebra.tex b/chapters/Mathematische Grundlagen/Vektoralgebra.tex new file mode 100644 index 0000000..c4499e9 --- /dev/null +++ b/chapters/Mathematische Grundlagen/Vektoralgebra.tex @@ -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}| + $$ + diff --git a/chapters/Supervised Learning.tex b/chapters/Supervised Learning/Linear Machines.tex similarity index 50% rename from chapters/Supervised Learning.tex rename to chapters/Supervised Learning/Linear Machines.tex index 8ff655c..0894b65 100644 --- a/chapters/Supervised Learning.tex +++ b/chapters/Supervised Learning/Linear Machines.tex @@ -1,17 +1,7 @@ -\chapter{Supervised Learning} - \section{Einleitung} - 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} - - \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}). +\chapter{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} \includegraphics[width=.8\textwidth]{diskriminante.png}\\ @@ -64,7 +54,7 @@ \subsection{Beispiel: nicht-symmetrischer Lernalgorithmus} \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. 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. @@ -73,7 +63,7 @@ \subsection{Beispiel: symmetrischer Lernalgorithmus} \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. \subsection{Shattering} @@ -89,4 +79,78 @@ Um das XOR-Problem zu zergliedern werden 2 Diskriminanten benötigt:\\ \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.\\ - \includegraphics[width=\textwidth]{XOR-Problem2.png} \ No newline at end of file + \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. \ No newline at end of file diff --git a/chapters/Supervised Learning/Occam's Razor.tex b/chapters/Supervised Learning/Occam's Razor.tex new file mode 100644 index 0000000..cbb202c --- /dev/null +++ b/chapters/Supervised Learning/Occam's Razor.tex @@ -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} diff --git a/images/capacity_term.png b/images/capacity_term.png new file mode 100644 index 0000000..aced57c Binary files /dev/null and b/images/capacity_term.png differ diff --git a/images/cross-validation.png b/images/cross-validation.png new file mode 100644 index 0000000..3ffb217 Binary files /dev/null and b/images/cross-validation.png differ diff --git a/images/risk-bound.png b/images/risk-bound.png new file mode 100644 index 0000000..433f3da Binary files /dev/null and b/images/risk-bound.png differ diff --git a/images/structural_risk.png b/images/structural_risk.png new file mode 100644 index 0000000..55b23fd Binary files /dev/null and b/images/structural_risk.png differ diff --git a/parts/Basics.tex b/parts/Basics.tex new file mode 100644 index 0000000..a94201d --- /dev/null +++ b/parts/Basics.tex @@ -0,0 +1,3 @@ +\part{Basics} +\input{chapters/Basics/Information and Pattern Recognition.tex} +\input{chapters/Basics/Data_Information_Knowledge.tex} \ No newline at end of file diff --git a/parts/Mathematische Grundlagen.tex b/parts/Mathematische Grundlagen.tex new file mode 100644 index 0000000..db60622 --- /dev/null +++ b/parts/Mathematische Grundlagen.tex @@ -0,0 +1,2 @@ +\part{Mathematische Grundlagen} +\input{chapters/Mathematische Grundlagen/Vektoralgebra.tex} \ No newline at end of file diff --git a/parts/Supervised Learning.tex b/parts/Supervised Learning.tex new file mode 100644 index 0000000..c288a8d --- /dev/null +++ b/parts/Supervised Learning.tex @@ -0,0 +1,3 @@ +\part{Supervised Learning} + \input{chapters/Supervised Learning/Occam's Razor.tex} + \input{chapters/Supervised Learning/Linear Machines.tex} \ No newline at end of file