forked from TH_General/Template_Summary
Kernel Basics hinzugefügt.
This commit is contained in:
parent
5160ac2c81
commit
ecf712de93
@ -77,6 +77,7 @@
|
||||
\newacronym{RSS}{RSS}{Residual Sum of Squares}
|
||||
\newacronym{CART}{CART}{Classification an Regression Trees}
|
||||
\newacronym{DNN}{DNN}{Dynamic Neural Network}
|
||||
\newacronym{RBF}{RBF}{Radial Basis Function Kernel}
|
||||
|
||||
%--------------------
|
||||
%nomenclature
|
||||
@ -121,6 +122,9 @@
|
||||
\newnom{variance}{Varianz}{\sigma^2}{$\mathbb{E}_p[(X-\nomeq{mean})$]}{}
|
||||
\newnom{sigmoid}{Sigmoid Function}{\sigma}{}{}
|
||||
\newnom{learning_rate}{Learning Rate}{\eta}{}{}
|
||||
\newnom{kernel_matrix}{Kernel Matrix}{\bm{K}}{}{}
|
||||
\newnom{kernel_function}{Kernel Function}{k}{}{}
|
||||
\newnom{kernel_vector}{Kernel Vector}{\bm{k}}{}{}
|
||||
\shorthandoff{"}
|
||||
|
||||
\makeglossaries
|
||||
|
@ -35,6 +35,7 @@
|
||||
\label{part:Mathematische Grundlagen}
|
||||
\input{chapters/Mathematische_Grundlagen/Lineare_Algebra.tex}
|
||||
\input{chapters/Mathematische_Grundlagen/Probability_Theory.tex}
|
||||
\input{chapters/Mathematische_Grundlagen/Kernel_Basics.tex}
|
||||
|
||||
\part{Classical Supervised Learning}
|
||||
\label{part:Classical Supervised Learning}
|
||||
|
@ -1,3 +1,5 @@
|
||||
\chapter{Kernel-Regression}%
|
||||
\label{cha:Kernel-Regression}
|
||||
|
||||
WEITER AUF FOLIE 294
|
||||
|
||||
|
97
chapters/Mathematische_Grundlagen/Kernel_Basics.tex
Normal file
97
chapters/Mathematische_Grundlagen/Kernel_Basics.tex
Normal file
@ -0,0 +1,97 @@
|
||||
\chapter{Kernel Basics}%
|
||||
\label{cha:Kernel Basics}
|
||||
\section{Was ist ein Kernel?}%
|
||||
\label{sec:Was ist ein Kernel?}
|
||||
Ein Kernel definiert eine Vergleichsfunktion $\nomeq{kernel_function}:\mathcal X \times \mathcal X \rightarrow \mathbb{R}$,
|
||||
welche eine Aussage über die Ähnlichkeit von Datensätzen $x\in\mathcal{X}$ gibt.
|
||||
Die Ausgabewerte lassen sich hierbei in einer Matrix \nomsym{kernel_matrix} - der sogenannten \noms{kernel_matrix} - darstellen.
|
||||
Beispielsweise lässt sich ein Datensatz $\mathcal S = \{\bm x_1,\dots,\bm x_n\}$ durch eine $n\times n$ Matrix repräsentieren,
|
||||
bei der $\nomeq{kernel_matrix}_{ij} = \nomeq{kernel_function}(\bm x_i, \bm x_j)$ gilt.
|
||||
|
||||
Die Matrix \nomsym{kernel_matrix} hat dabei folgende Eigenschaften:
|
||||
\begin{itemize}
|
||||
\item \nomsym{kernel_matrix} ist immer eine $n\times n$-Matrix
|
||||
\item Die Wahl der Funktion \nomsym{kernel_function} ist unabhängig vom Algorithmus,
|
||||
der den Kernel verwendet
|
||||
\item schlechte Skalierung für größere Datensätze $O(n)$ für die Errechnung und Speicherung von \nomsym{kernel_matrix}
|
||||
\end{itemize}
|
||||
|
||||
\section{Positive Definite Kernels}%
|
||||
\label{sec:Positive Definite Kernels}
|
||||
Eine positiv definite \nomf{kernel_function} ist eine Funktion, die
|
||||
\begin{enumerate}
|
||||
\item Symmetrisch ist:
|
||||
$$ \forall \bm x,\bm x': \nomeq{kernel_function}(\bm x, \bm x') = \nomeq{kernel_function}(\bm x', \bm x) $$
|
||||
\item deren \nomf{kernel_matrix} immer positiv definit (symmetrisch und nur positive Eigenwerte) ist:
|
||||
$$ \bm a^T\nomeq{kernel_matrix}\bm a = \sum_{i=1}^n \sum_{j=1}^n a_i a_j \nomeq{kernel_function}(\bm x_i, \bm x_j)\ge 0,\qquad \forall\bm a, \forall S=\{\bm x_1,\dots,\bm x_n\}$$
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{Example: Linear Kernel}%
|
||||
\label{sub:Example: Linear Kernel}
|
||||
Der lineare Kernel ist der einfachste Kernel für Vektoren.
|
||||
Die \nomf{kernel_function} definiert einfach nur das skalare Produkt (siehe \cref{sec:Vektoren})
|
||||
\begin{equation} \label{eq:linear_kernel_function}
|
||||
\nomeq{kernel_function}(\bm x,\bm x') = \langle \bm x,\bm x' \rangle
|
||||
\end{equation}
|
||||
Für diesen Kernel ist offensichtlich,
|
||||
dass er immer positiv definit ist:
|
||||
\begin{equation} \label{eq:linear_kernel_positive_definite}
|
||||
\sum_{i=1}^n \sum_{j=1}^n a_i a_j \langle \bm x_j, \bm x_j \rangle = \| \sum_i a_i \bm x_i \|^2 \ge 0
|
||||
\end{equation}
|
||||
|
||||
\subsubsection{Kernel in Feature Space}%
|
||||
\label{ssub:Kernel in Feature Space}
|
||||
Für eine Feature Function $\phi:\mathcal X\rightarrow\mathbb{R}^d$ kann eine \nomf{kernel_function} erstellt werden,
|
||||
indem das skalare Produkt der Feature Function gebildet wird:
|
||||
\begin{equation} \label{eq:linear_kernel_feature_function}
|
||||
k(\bm x,\bm x') = \langle\phi(\bm x),\phi(\bm x')\rangle
|
||||
\end{equation}
|
||||
Auch hier kann gezeigt werden,
|
||||
dass der Kernel positiv definit ist.
|
||||
Mehr sogar.
|
||||
Das Theorem von Aransjan aus dem Jahr 1950 besagt,
|
||||
dass es für jeden positiv definiten Kernel einen Feature Space $\mathcal H$ gibt.
|
||||
|
||||
\subsection{Polynomial Kernel}%
|
||||
\label{sub:Polynomial Kernel}
|
||||
\begin{itemize}
|
||||
\item Polynomieller Kernel vom Grad 1: Linear Kernel (\cref{sub:Example: Linear Kernel})
|
||||
\item Polynomieller Kernel vom Grad 2: $\phi(\bm x) = [x_1^2, \sqrt{2}x_1 x_2, x_2^2]$ für $\bm x = [x_1,x_2]^T$
|
||||
\begin{align} \label{eq:polynomial_kernel_2}
|
||||
\nomeq{kernel_function}(\bm x,\bm x') &= x_1^2 {x'}_1^2 + 2x_1 x_2 x'_1 x'_2 + x_2^2 {x'}_2^2\\
|
||||
&= (x_1 x'_1 + x_2 x'_2)^2 x_1 x_2\\
|
||||
&= \langle\bm x,\bm x'\rangle^2
|
||||
\end{align}
|
||||
\item Polynomieller Kernel vom Grad $d$:
|
||||
\begin{equation} \label{eq:polynomial_kernel_d}
|
||||
\nomeq{kernel_function}(\bm x, \bm x') = \langle \bm x,\bm x'\rangle^d
|
||||
\end{equation}
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Gaussian Kernel}%
|
||||
\label{sub:Gaussian Kernel}
|
||||
Der Gaussian Kernel wird auch als \gls{RBF} oder Squared Expoential Kernel bezeichnet
|
||||
und ist die am häufigsten genutzte Kernel Methode
|
||||
\begin{equation} \label{eq:gaussian_kernel}
|
||||
\nomeq{kernel_function}(\bm x,\bm y) = \exp\left(-\frac{\|\bm x - \bm y\|^2}{2\nomeq{variance}}\right)
|
||||
\end{equation}
|
||||
{\color{red}Beweis für die positive Definitheit in Vorlesung 04 Seite 14 f.}
|
||||
|
||||
\section{Kernel Trick}%
|
||||
\label{sec:Kernel Trick}
|
||||
Der eigentliche Grund für die Nutzung von Kernels wird als Kernel Trick bezeichnet.
|
||||
Durch die Verwendung eines entsprechenden Kernels ist es möglich einen Datenpunkt $x$ auf einen unendlich großen Feature Space (z.B. einen Function Space) zu mappen,
|
||||
ohne dabei den eigentlichen Feature Vector errechnen zu müssen.
|
||||
Es muss lediglich möglich sein,
|
||||
das skalare Produkt von zwei Feature Vektoren zu bestimmen.
|
||||
Dies ermöglicht es viele Algorithmen (z.B. \nameref{cha:Linear Classification} oder \nameref{cha:Linear Regression}) effizienter durchzuführen.
|
||||
|
||||
|
||||
\section{Kernel Identities}%
|
||||
\label{sec:Kernel Identities}
|
||||
\begin{itemize}
|
||||
\item $\bm\Phi_X = \begin{bmatrix} \bm\phi(\bm x_1)^T\\\vdots\\\bm\phi(\bm x_N)^T \end{bmatrix} \in \mathbb{R}^{N\times d}$
|
||||
\item $\nomeq{kernel_matrix} = \bm\Phi_X\bm\Phi_X^T$
|
||||
\item $\nomeq{kernel_vector}(\bm x^*) = \begin{bmatrix} \nomeq{kernel_function}(\bm x_1,\bm x^*) \\\vdots\\\nomeq{kernel_function}(\bm x_N,\bm x^*) \end{bmatrix}
|
||||
= \begin{bmatrix} \bm\phi(\bm x_1)^T\bm\phi(x^*)\\\vdots\\\bm\phi(\bm x_N)^T \bm\phi(x^*) \end{bmatrix} = \bm\Phi_X\bm\phi(\bm x^*)$
|
||||
\end{itemize}
|
Loading…
x
Reference in New Issue
Block a user