ML_Zusammenfassung/chapters/Supervised Learning.tex

92 lines
6.1 KiB
TeX

\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}).
\section{Aufstellung einer Diskriminanten}
\includegraphics[width=.8\textwidth]{diskriminante.png}\\
\paragraph{Verfahren}\mbox{}\\
\begin{enumerate}
\item durchschnittliches Element der Cluster errechnen:\\
\vspace{0.1mm}\\
Class C1: $\overline{m_{1C1}}=\frac{1}{M}\sum^{M-1}_{i=0}m_{1C1,i}\hspace{1mm}\overline{m_{2C1}}=\frac{1}{M}\sum^{M-1}_{i=0}m_{2C1,i}$\\
\vspace{0.1mm}\\
Class C2: $\overline{m_{1C2}}=\frac{1}{M}\sum^{M-1}_{i=0}m_{1C2,i}\hspace{1mm}\overline{m_{2C2}}=\frac{1}{M}\sum^{M-1}_{i=0}m_{2C2,i}$\\
\item Diskriminanten Funktion errechnen:\\
\includegraphics[width=.8\textwidth]{diskriminanten_berechnung.png}\\
\includegraphics[width=.8\textwidth]{diskriminanten_berechnung2.png}\\
\includegraphics[width=.8\textwidth]{diskriminanten_berechnung3.png}
\item \begin{align*}
m_2&=-\frac{1}{a}m_1+m_{h2}+\frac{a}{a}m_{h1}\\
&\downarrow\\
m_2 + \frac{1}{a}m_1 - \left(m_{h2}+\frac{a}{a}m_{h1}\right) &= 0\\
&\downarrow
\end{align*}
\begin{align*}
g(\bm{m}) &= \left(\frac{1}{a},1\right)\begin{pmatrix}m_1\\m_2\end{pmatrix}-\left(\frac{1}{a},1\right)\begin{pmatrix}m_{h1}\\m_{h2}\end{pmatrix} = 0\\
g(\bm{m}) &= \left(\frac{1}{a},1\right)\cdot(\bm{m}-\bm{m}_{\bm{h}}) = 0 \hspace{1mm} \left(\frac{1}{a},1\right)=\bm{C}^T\\
g(\bm{m}) &= \bm{C}^T\tilde{\bm{m}}=0
\end{align*}
\end{enumerate}
\subsection{Beispiel: 3 Koeffizienten}
$g(\bm{m}) = \bm{w}^T\bm{m}=0$ mit $\bm{w}^T = (w_2,w_1,w_0)$ und $\bm{m} = (m_2,m_1,1)^T$:
$$g(\bm{m}) = w_2m_2 + w_1m_1 + w_0 = 0$$
\paragraph{Vergleich der Koeffizienten}
$$g(\bm{m}) = m_2 + \frac{1}{a}m_1-\left(m_{h2}+\frac{1}{a}m_{h1}\right) = 0 \rightarrow a\cdot m_2+m_1-(a\cdot m_{h2}+m_{h1})=0$$
$$w_2m_2+w_1m_1+w_0=0\rightarrow w_2=a$$
$$w_1=1$$
$$w_0=-(a\cdot m_{h2}+m{h1})$$
Daraus folgt:
$$g(\bm{m}) > 0 \forall \bm{m}\in C_2$$
$$g(\bm{m}) < 0 \forall \bm{m}\in C_1$$
\section{Das technische Neuron}
Ein technisches Neuron besteht aus den Gewichten für die Eingangswerte und der Aktivierungsfunktion:\\
\includegraphics[width=.8\textwidth]{technisches_neuron.png}
\section{Das Perzeptron}
Ein Perzeptron beschreibt eine lineare Maschine, die eine Datenmenge durch eine Hyper-Ebene (die Diskriminante) in zwei Cluster unterteilt.
Die Funktion für die Diskriminante ist hierbei $y(\bm{m})=\text{sng}(g(\bm{m})) = \text{sgn}(\bm{w}^T\bm{m}+w_0)$.
Da sich $\bm{w}$ durch $\bm{w} = \sum^n_{i=1}\alpha_i\cdot y_i \cdot \bm{m}_i$ (mit $n = $Anzahl der Datenpunkte und $\alpha_i = $ Anzahl, wie oft $\bm{m}_i$ ausgewählt wurde) definiert ist die Dimension von $\bm{m}$ unwichtig.
\subsection{Beispiel: nicht-symmetrischer Lernalgorithmus}
\includegraphics[width=.8\textwidth]{Perzeptron_Lernalgorithmus.png}
\subsection{Novikoff's 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.
$$ \text{sigm}(x)=\frac{2}{1+e^ {-x}}-1; -1\le\text{sigm}(x)\le 1$$
\subsection{Beispiel: symmetrischer Lernalgorithmus}
\includegraphics[width=.8\textwidth]{Perzeptron_Lernalgorithmus_symmetrisch.png}
\section{\acs{vc-dimension}}
Die \acl{vc-dimension} gibt ein Maß für die \say{learning power} einer Klassifizierung.
\subsection{Shattering}
\say{Here we will only consider functions that correspond to the two-class pattern recognition case, so that $g(\bm{m}, y) \in \{-1, 1\}\forall x, y$.
Now if a given set of n points can be labeled in all possible $2^n$ ways,
and for each labeling, a member of the set $\{g(y)\}$ can be found which correctly assigns those labels, we say that that set of points is shattered by that set of functions.}\\
Hierbei zergliedert (shatters) eine Hyperebene in einem Feature Space $\mathbb{R}^d$ $h=d+1$ linear unabhängige Punkte.
\subsubsection{Beispiel: Shattering im 2-dimensionalen Raum}
\includegraphics[width = .7\textwidth]{vc-dimension_shattering.png}
\subsection{Das XOR-Problem}
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}