75 lines
4.3 KiB
TeX

\chapter{\acl{svm}}\label{svm}
\acs{svm}s können als lineare (\ref{linear machines}) oder nicht-lineare Maschinen aufgebaut werden.\\
\begin{tabular}{|p{.475\textwidth}|p{.475\textwidth}|}
\hline
\textbf{Vorteile} & \textbf{Nachteile}\\
\hline
\begin{itemize}
\item bei linear separierbaren Datensätzen ist das empirische Risiko (\ref{empirical risk}) $R_{emp}(\bm{w})=0$
\item die Riskoschranke (\ref{risk bound}) ist ungefähr minimal (\say{eingebaute} generalization)
\end{itemize} &
\begin{itemize}
\item funktioniert nur auf kleinen Datensätzen
\item ein Wechsel des Datensatzes erfordert ein Neu-Lernen
\item die nicht-lineare Variante ist kompliziert im Umgang
\end{itemize}\\
\hline
\end{tabular}
\section{lineare \acl{svm}}
\begin{wrapfigure}{h}{.6\textwidth}
\vspace{-10mm}
\includegraphics[width=.6\textwidth]{svm_base.png}
\end{wrapfigure}
Für das dargestellte Bild ergibt sich:
\begin{flalign*}
& g(\bm{m}_1)=0,g(\bm{m}_2)=0 &\\
& \rightarrow \bm{w}^T\bm{m}_1+w_0=\bm{w}^T\bm{m}_2+w_0 &\\
& \Leftrightarrow \bm{w}^T(\bm{m}_1-\bm{m}_2)=0 &\\
& \rightarrow \bm{w}\bot g(\bm{m})
\end{flalign*}
hieraus ergibt sich durch umstellen:
$$r_p=\frac{g(\bm{m}_p)}{|\bm{w}|}\ge 0$$
und
$$r_0=-\frac{w_0}{|\bm{w}|}$$
\subsection{Support Vektoren}
Um die Diskriminante in dem Bereich der möglichen Diskriminaten zu wählen, die am besten generalisiert werden unterstützende Vektoren (support vectors) verwendet.
Diese verlaufen parallel zu der Diskriminante mit einem Abstand $\gamma$.
$\gamma$ wird als \say{Margin} bezeichnet.\\
\includegraphics[width = .8\textwidth]{support_vectors.png}\\
Für 2 Cluster werden dann ähnlich wie beim Perzeptron (\ref{perceptron}) die folgenden Gleichungen aufgestellt:
\begin{align*}
\bm{w}^T\bm{m}_i+w_0\ge 1 &\text{ für } g_i = +1 \\
\bm{w}^T\bm{m}_i+w_0\le 1 &\text{ für } g_i = -1 \\
\end{align*}
Nun wird so reskaliert, dass für mindestens ein Objekt gilt:
$$ \forall i:(\bm{w}^T\bm{m}_i + w_0)\cdot g_i = 1 \text{ bzw. }-1 $$
Für den Margin $\gamma$ ergibt sich also:
$$\gamma = \frac{g(\bm{m}_S)}{|\bm{w}|} = \frac{1}{|\bm{w}|} = \frac{1}{||\bm{w}||}$$
Der Abstand der zwei Klassen (Two-classes distance) ist dann:
$$2\gamma = \frac{2}{||\bm{w}||}$$
\subsubsection{Maximierung des Margin}
Da $\frac{1}{||\bm{w}||} \equiv \frac{1}{2}||\bm{w}||^2$ ist, kann die Maximierung des Margin als ein quadratisches Minimierungsproblem behandelt werden.
Mithilfe des Lagrange-Ansatzes erhält man:
\begin{align*}
L_\alpha(\bm{w},w_0,\alpha_i) &= \frac{1}{2}||\bm{w}||^2 - \sum^N_{i=1}\alpha_i\cdot\left[\left(\bm{w}^T\bm{m}_i+w_0\right)\cdot g_i - 1 \right]\\
&= \frac{1}{2}||\bm{w}||^2 - \sum^N_{i=1}\alpha_i \cdot \bm{w}^T\bm{m}_i \cdot g_i + \sum^N_{i=1}\alpha_i \cdot w_0 \cdot g_i - \sum^N_{i=1}\alpha_i
\end{align*}
Die Funktion ist beschränkt durch:
\begin{align*}
\frac{\delta L_\alpha}{\delta w_0} &= 0 \Rightarrow \sum^N_{i=1}\alpha_i \cdot g_i = 0\\
\frac{\delta L_\alpha}{\delta \bm{w}} &= 0 \Rightarrow \bm{w} - \sum^N_{i=1}\alpha_i \cdot \bm{m}_i \cdot g_i = 0 \rightarrow \bm{w} = \sum^N_{i=1}\alpha_i \cdot g_i \cdot \bm{m}_i
\end{align*}
Hieraus ergeben sich die \acl{kkt} Bedingungen
\begin{align*}
(\bm{w}^T\bm{m}_i + w_0)\cdot g_i - 1 &\ge 0 \\
\alpha_i &\ge 0 \\
\alpha_i\left[\left(\bm{w}^T\bm{m}_i+w_0\right)\cdot g_i -1\right] &=0
\end{align*}
Jeder Datenpunkt, für den $\alpha_i>0$ gilt, ist ein \say{support vector}.
\subsubsection{Sparsity}
\acs{svm}s sind \say{sparse learning machines}, da Sie meist nur von wenigen Support Vektoren abhängen.