generated from TH_General/Template_Summary
92 lines
6.1 KiB
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} |