forked from TH_General/Template_Summary
Vorlesung 02 bis Folie 166 hinzugefügt
This commit is contained in:
parent
089c79b358
commit
33ca9c486e
@ -69,6 +69,7 @@
|
||||
\newacronym{FRM}{FRM}{\gls{full_rank_matrix}}
|
||||
\newacronym{MLE}{MLE}{Maximum Likelihood Estimation}
|
||||
\newacronym{iid}{iid}{\gls{identically_independently_distributed}}
|
||||
\newacronym{SDG}{SDG}{Stochastic Gradient Descent}
|
||||
|
||||
%--------------------
|
||||
%nomenclature
|
||||
@ -109,6 +110,8 @@
|
||||
\newnom{mean-vector}{Mittelwerts-Vektor}{\bm{\mu}}{}{}
|
||||
\newnom{covariance}{Kovarianz-Matrix}{\bm{\Sigma}}{}{}
|
||||
\newnom{variance}{Varianz}{\sigma^2}{$\mathbb{E}_p[(X-\nomeq{mean})$]}{}
|
||||
\newnom{sigmoid}{Sigmoid Function}{\sigma}{}{}
|
||||
\newnom{learning_rate}{Learning Rate}{\eta}{}{}
|
||||
\shorthandoff{"}
|
||||
|
||||
\makeglossaries
|
||||
|
@ -112,6 +112,8 @@ rightsub = \grq%
|
||||
%--------------------
|
||||
%math symbols and more
|
||||
\usepackage{amsmath}
|
||||
\DeclareMathOperator*{\argmax}{arg\,max}
|
||||
\DeclareMathOperator*{\argmin}{arg\,min}
|
||||
%special symbols
|
||||
\usepackage{fontawesome}
|
||||
\usepackage{amssymb}
|
||||
@ -148,9 +150,15 @@ rightsub = \grq%
|
||||
\makeatother
|
||||
%boxes
|
||||
\usepackage[framemethod=tikz]{mdframed}
|
||||
\newmdenv[roundcorner=2mm, linecolor=blue, backgroundcolor=blue!5]{mybox}
|
||||
|
||||
%--------------------
|
||||
% landscape
|
||||
%--------------------
|
||||
\usepackage{pdflscape}
|
||||
|
||||
%--------------------
|
||||
% algorithms
|
||||
%--------------------
|
||||
\usepackage{algorithm}
|
||||
\usepackage{algpseudocode}
|
||||
|
@ -1,3 +1,234 @@
|
||||
\chapter{Linear Classification}%
|
||||
\label{cha:Linear Classification}
|
||||
Bei der Klassifikation eines Datensatzes $D =\{(\bm{x}_i,c_i)\}_{i=1\dots N}$ geht es darum,
|
||||
die einzelnen Datenelemente $\bm{x}_i\in\mathbb{R}^d$ einer Klasse $c\in\{1\dots K\}$ zuzuordnen.
|
||||
|
||||
\paragraph{Generative Modelling}%
|
||||
\label{par:Generative Modelling}
|
||||
Bei generativen Klassifikator-Modellen wird auf Basis der gegebenen Daten die Wahrscheinlichkeitsverteilung $p(c)$ für alle Klassen
|
||||
sowie die Wahrscheinlichkeitsverteilungen $p(\bm{x}|c)$ für die Elemente innerhalb der einzelnen Klassen bestimmt.
|
||||
Anschließend kann mittels der Regel von Bayes (\cref{sub:Bayes Rule}) die Wahrscheinlichkeit dafür errechnet werden,
|
||||
in welcher Klasse ein gegebenes $\bm{x}$ liegt:
|
||||
\begin{equation}
|
||||
p(c|\bm{x}) = \dfrac{p(\bm{x}|c)p(c)}{p(\bm{x})}
|
||||
\end{equation}
|
||||
Generative Modelle sind oft sehr komplex weshalb sie nicht näher behandelt werden.
|
||||
\begin{itemize}
|
||||
\item $p(c_1)\hat{=}$die Wahrscheinlichkeit, dass ein Element der Klasse $c_1$ angehört
|
||||
\item $p(\bm{x}_1|c_1)\hat{=}$ die Wahrscheinlichkeit, dass ein Element, von dem bekannt ist, dass es zu $c_1$ gehört an Position $\bm{x}_1$ liegt
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Discriminative Modelling}%
|
||||
\label{par:Discriminative Modelling}
|
||||
Bei diskriminativen Klassifikator-Modellen wird direkt $p(c|\bm{x})$ oder eine Prediktor-Funktion $f(\bm{x})$ ermittelt.
|
||||
Diese Art von Klassifikator-Modellierung ist einfacher als das \nameref{par:Generative Modelling}.
|
||||
|
||||
\section{Binary Classification}%
|
||||
\label{sec:Binary Classification}
|
||||
Gibt es nur zwei Klassen ($c_i\in\{0,1\}$) spricht man von binärer Klassifikation.
|
||||
Hierbei ist es das Ziel einen Klassifikator $f(\bm{x})$ anzulernen, sodass:
|
||||
\begin{equation} \label{eq:binary_classification}
|
||||
f(\bm{x}_i) = \begin{cases} >0 &\text{falls }c_i=1\\ <0 &\text{falls }c_i=0 \end{cases}
|
||||
\end{equation}
|
||||
|
||||
\subsection{Linear Classifiers}%
|
||||
\label{sub:Linear Classifiers}
|
||||
\begin{wrapfigure}{r}{.5\textwidth}
|
||||
\vspace*{-15mm}
|
||||
\centering
|
||||
\includegraphics[width=0.8\linewidth]{linear_classification.png}
|
||||
\caption{Lineare Klassifikation}
|
||||
\label{fig:linear_classification}
|
||||
\end{wrapfigure}
|
||||
Ein linearer Klassifikator hat die Form:
|
||||
\begin{equation} \label{eq:linear_classifier}
|
||||
f(\bm{x}) = \bm{w}^T\bm{x} + b
|
||||
\end{equation}
|
||||
Die Gerade (2D) bzw. Hyper-Ebene (N-D),
|
||||
die durch diese Funktion $f(x)=0$ gegeben ist wird als Diskriminante (discriminator) bezeichnet.
|
||||
$\bm{w}$ ist der Normalvektor (normal) zur Geraden und $b$ das Bias.
|
||||
|
||||
\subsubsection{Linear Separability}%
|
||||
\label{ssub:Linear Separability}
|
||||
\includegraphics[width=\textwidth]{linear_separability.png}
|
||||
|
||||
\subsection{Optimization}%
|
||||
\label{sub:Optimization}
|
||||
Um den linearen Klassifikator zu optimieren sind mehrere Methoden denkbar.
|
||||
\subsubsection{0-1 loss}%
|
||||
\label{ssub:0-1 loss}
|
||||
Es lässt sich eine Stufenfunktion definieren,
|
||||
welche 1 für $f(\bm{x})>0$ und 0 für alle anderen Werte von $f(\bm{x})$ ist:
|
||||
\begin{equation} \label{eq:0-1_prediction}
|
||||
y = \text{step}(f(\bm{x})) = \text{step}(\bm{w}^T\bm{x} + b)
|
||||
\end{equation}
|
||||
Eine Optimierung hätte dann das Ziel den 0-1-Verlust $L_0$ zu optimieren.
|
||||
\begin{equation} \label{eq:0-1_loss}
|
||||
L_0(\bm{w}) = \sum_i \mathbb{I}(\text{step}(\bm{w}^T\bm{x} + b)\ne c_i)
|
||||
\end{equation}
|
||||
In der Formel für $L_0$ gibt $\mathbb{I}$ 1 zurück,
|
||||
wenn der Inhalt der Klammern wahr ist.
|
||||
Die Summe gibt daher die Anzahl der falsch klassifizierten Datenpunkte zurück.
|
||||
Da es sich bei der Optimierung von $L_0$ um ein NP-hartes Problem handelt wird diese Methode in der Praxis fast nie verwendet.
|
||||
|
||||
\subsubsection{regression loss}%
|
||||
\label{ssub:regression loss}
|
||||
Eine Optimierung des Klassifikators mithilfe des Regression Loss $L_{reg}$ ist einfach,
|
||||
da es sich hierbei der quadratische Verlust verwendet werden kann.
|
||||
\begin{equation} \label{eq:regression_loss}
|
||||
L_{reg}(\bm{w}) = \sum_i (f(\bm{x}_i)-c_i)^2
|
||||
\end{equation}
|
||||
Allerdings hat diese Optimierungsmethode den Nachteil,
|
||||
dass sie stark durch Ausreißer beeinflusst werden kann.
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.8\textwidth]{regression_loss.png}
|
||||
\caption{Auswirkung von Ausreißern auf die Verwendung des Regression Loss'}
|
||||
\label{fig:regression_loss}
|
||||
\end{figure}
|
||||
|
||||
\subsubsection{Logistic \noms{sigmoid}}%
|
||||
\label{ssub:Logistic sigmoid function}
|
||||
\begin{wrapfigure}{r}{.5\textwidth}
|
||||
\vspace*{-15mm}
|
||||
\centering
|
||||
\includegraphics[width=0.8\linewidth]{sigmoid_function.png}
|
||||
\caption{die \noms{sigmoid}}
|
||||
\label{fig:sigmoid_function}
|
||||
\end{wrapfigure}
|
||||
Da sich sowohl eine lineare (auch außerhalb des relevanten Bereiches $\{0,1\}$),
|
||||
als auch eine stufenförmige (nicht kontinuierlich) Optimierung nicht besonders gut eignen wird oft auf die \nomf{sigmoid} zurückgegriffen.
|
||||
\begin{equation} \label{eq:sigmoid_function}
|
||||
\nomeq{sigmoid}(a) = \dfrac{1}{1+\exp(-a)}
|
||||
\end{equation}
|
||||
Auf der Basis dieser Funktion lässt sich eine Verlustfunktion definieren:
|
||||
\begin{equation} \label{eq:sigmoid_loss_function}
|
||||
L(\bm{w}) = \sum_i (\nomeq{sigmoid}(f(\bm{x}_i)) - c_i)^2 = \sum_i (\nomeq{sigmoid}(\bm{w}^T\bm{x}_i + b) - c_i)^2
|
||||
\end{equation}
|
||||
|
||||
\subsubsection{Log-Likelihood}%
|
||||
\label{ssub:Log-Likelihood}
|
||||
Mithilfe des \noms{sigmoid} lässt sich die Wahrscheinlichkeitsdichtefunktion für die beiden Klassen aufstellen:
|
||||
\begin{align} \label{eq:simoidial_probability_distribution}
|
||||
&p(c=1|\bm{x}) = \nomeq{sigmoid}(\bm{w}^T\bm{x}+b), p(c=0|\bm{x}) = 1 - \nomeq{sigmoid}(\bm{w}^T\bm{x}+b)\\
|
||||
\Leftrightarrow &p(c|\bm{x}) = p(c=1|\bm{x})^c p(c=0|\bm{x})^{1-c} = \nomeq{sigmoid}(\bm{w}^T\bm{x}+b)^c (1 - \nomeq{sigmoid}(\bm{w}^T\bm{x}+b))^{1-c}
|
||||
\end{align}
|
||||
Hierbei handelt es sich um eine bedingte Bernoulli Distribution (\cref{sub:Bernoulli Distribution}),
|
||||
weshalb nun direkt die bedingte Bernoulli log-likelihood optimiert werden kann.
|
||||
Die negative Likelihood wird auch oft als Cross-Entropy Loss bezeichnet
|
||||
\begin{align} \label{eq:bernoulli_log-likelihood}
|
||||
\log\text{lik}(\tilde{\bm{w}},D) &= \sum_i \log p(c_i|\bm{x}_i)\\
|
||||
&= \sum_i \log(p(c=1|\bm{x}_i)^{c_i} p(c=0|\bm{x}_i)^{1-c_i})\\
|
||||
&= \dots\\
|
||||
&= \sum_i c_i \log \nomeq{sigmoid}(\tilde{\bm{w}}^T\tilde{\bm{x}}_i) + (1-c_i)\log(1 - \nomeq{sigmoid}(\tilde{\bm{w}}^T\tilde{\bm{x}}_i))
|
||||
\end{align}
|
||||
|
||||
\subsubsection{Logistic Regression}%
|
||||
\label{ssub:Logistic Regression}
|
||||
Die Optimierung der Log-Likelihood einer \noms{sigmoid} nennt man \say{Logistic Regression},
|
||||
obwohl es eigentlich eine Klasifizierung ist (alte Funktion; früher war man bei der Benennung noch nicht so streng).
|
||||
\begin{equation} \label{eq:logistic_regression}
|
||||
\argmax_{\tilde{\bm{w}}}\log\text{lik}(\tilde{\bm{w}},D) = \argmax_{\tilde{\bm{w}}} \sum_i c_i \log \nomeq{sigmoid}(\tilde{\bm{w}}^T\tilde{\bm{x}}_i) + (1-c_i)\log(1 - \nomeq{sigmoid}(\tilde{\bm{w}}^T\tilde{\bm{x}}_i))
|
||||
\end{equation}
|
||||
Für diese Funktion kann gezeigt werden,
|
||||
dass sie konvex ist (es existiert nur ein globales Maximum).
|
||||
Allerdings handelt es sich anders als bei der linearen Regression (\cref{cha:Linear Regression}) nicht um eine \say{Closed Form Solution},
|
||||
was bedeutet,
|
||||
dass hier der \nameref{sec:Gradient Descent} für die Optimierung verwendet wird.
|
||||
|
||||
\subsubsection{Generalized Logistic Models}%
|
||||
\label{ssub:Generalized Logistic Models}
|
||||
Um das Verfahren zur Erstellung linearer Diskriminanten auch für nicht-lineare Feature-Räume zu verwenden,
|
||||
muss ein ähnlicher Trick wie bei der \nameref{sec:Generalisierung der linearen Regression} verwendet werden.
|
||||
Auch hier wird mittels einer \nomf{vector_valued_function} auf eine nicht-lineare Funktion abgebildet.
|
||||
\begin{equation} \label{eq:generlized_logisitc_regression}
|
||||
\argmax_{\bm{w}}\log\text{lik}(\bm{w},D) = \argmax_{\bm{w}} \sum_i c_i \log \nomeq{sigmoid}(\bm{w}^T\bm{\phi}(\bm{x}_i)) + (1-c_i)\log(1 - \nomeq{sigmoid}(\bm{w}^T\bm{\phi}(\bm{x}_i)))
|
||||
\end{equation}
|
||||
\begin{figure}[H]
|
||||
\vspace*{-5mm}
|
||||
\centering
|
||||
\includegraphics[width=0.5\textwidth]{generalized_logistic_regression.png}
|
||||
\caption{Generalized Logistic Regression}
|
||||
\label{fig:generalized_logistic_regression}
|
||||
\end{figure}
|
||||
|
||||
\subsubsection{Regularization of the Logistic Regression}%
|
||||
\label{ssub:Regularization of the Logistic Regression}
|
||||
Ähnlich wie bei der Regularisierung der linearen Regression (\cref{sec:Regularization of the Linear Regression}) ist es auch bei der Logistic Regression sinnvoll eine Regularization Penalty einzuführen,
|
||||
um Overfitting zu vermeiden.
|
||||
\begin{equation} \label{eq:regularized_logisitc_regression}
|
||||
L(\tilde{\bm{w}},D)=\log\text{lik}(\tilde{\bm{w}},D) - \nomeq{regularization_factor}\text{penalty}(\tilde{\bm{w}})
|
||||
\end{equation}
|
||||
Bei der Lositic Regression wird hierbei meist der der L2 Regularization Loss $\text{penalty}(\tilde{\bm{w}})= ||\tilde{\bm{w}}||^2$ verwendet
|
||||
|
||||
\section{Gradient Descent}%
|
||||
\label{sec:Gradient Descent}
|
||||
Der Gradient Descent ist ein Verfahren,
|
||||
dass es ermöglicht den Extremwert einer konvexen Funktion zu finden.
|
||||
Allgemein wird versucht eine Funktion,
|
||||
die aus der Summe von Verlust $l$ und Penalty besteht zu optimieren.
|
||||
\begin{equation} \label{eq:general_form_optimization}
|
||||
\argmin_{\text{parameters $\bm{\theta}$}}\sum_{i=1}^N l(\bm{x}_i,\bm{\theta}) + \nomeq{regularization_factor} \text{penalty}(\bm{\theta})
|
||||
\end{equation}
|
||||
Bei diesem Verfahren wird ein beliebiger Anfangspunkt im Werteraum gewählt,
|
||||
der Gradient bestimmt und ein neuer Punkt in absteigender Richtung gewählt.
|
||||
Dieser Schritt wird so lange wiederholt,
|
||||
bis ein Minimum erreicht ist (Gradient = 0).
|
||||
\begin{algorithm}
|
||||
\caption{Gradient Descent}\label{gradient_descent_algorithm}
|
||||
\begin{algorithmic}[1]
|
||||
\State $\bm{x}_0$ $\gets$ init, $t=0$
|
||||
\While{termination condition does not hold}
|
||||
\State $\bm{x}_{t+1}=\bm{x}_t-\nomeq{learning_rate}\nabla f(\bm{x}_t)$, $t=t+1$
|
||||
\EndWhile
|
||||
\end{algorithmic}
|
||||
\end{algorithm}
|
||||
Die \say{termination condition} des Algorithmus kann z.B. die Größe des Gradienten, die Änderung des Wertes von $f(\bm{x}_t)$
|
||||
oder einfach eine bestimmte Anzahl an Schleifendurchläufen sein.
|
||||
|
||||
\subsection{\nomf{learning_rate}}%
|
||||
\label{sub:learning_rate}
|
||||
Meistens wird eine abnehmende \noms{learning_rate} verwendet (z.B. $\nomeq{learning_rate}_t = \frac{1}{t}$),
|
||||
damit zu Beginn schnell Fortschritte in Richtung des Minimums gemacht werden und zudem vermieden wird,
|
||||
im späteren Verlauf um das Minimum herumzuspringen.
|
||||
|
||||
\subsection{Batch Gradient Descent}%
|
||||
\label{sub:Batch Gradient Descent}
|
||||
Im Standardverfahren des Gradient Descents Loss Function über alle Datenpunkte evaluiert.
|
||||
Man spricht daher auch von einem Batch Gradient Descent.
|
||||
\begin{equation} \label{eq:batch_gradient_descent}
|
||||
\frac{1}{n}\sum_i l(\bm{x}_i;\bm{\theta})\qquad \bm{\theta}_{t+1} = \bm{\theta}_t - \dfrac{\eta}{n}\sum_i \nabla_{\bm{\theta}} l(\bm{x}_i;\bm{\theta}_t)
|
||||
\end{equation}
|
||||
Dies stellt eine Approximation des tatsächlich erwarteten Verlustes nach dem Prinzip der \nameref{sub:Monte-carlo estimation} dar.
|
||||
\begin{equation}
|
||||
\mathbb{E}_{\bm{x}}\left[l(\bm{x};\bm{\theta})\right]\qquad \bm{\theta}_{t+1} = \bm{\theta}_t - \eta\mathbb{E}_{\bm{x}}\left[\nabla_{\bm{\theta}} l(\bm{x};\bm{\theta}_t)\right]
|
||||
\end{equation}
|
||||
|
||||
\subsection{\glsxtrfull{SDG}}%
|
||||
\label{sub:SDG}
|
||||
\begin{wrapfigure}{r}{.5\textwidth}
|
||||
\vspace*{-15mm}
|
||||
\centering
|
||||
\includegraphics[width=0.8\linewidth]{batch_vs_stochastic_gradient_descent.png}
|
||||
\caption{Batch vs. Stochastic Gradient Descent}
|
||||
\label{fig:batch_vs_stochastic_gradient_descent}
|
||||
\end{wrapfigure}
|
||||
Um die Loss Function nicht für alle Datenpunkte evaluieren zu müssen wird beim \gls{SDG} lediglich der Verlust an einem einzelnen, zufällig gewählten Punkt ermittelt
|
||||
\begin{equation} \label{eq:stochastic_gradient_descent}
|
||||
l(\bm{x}_i;\bm{\theta})\qquad \bm{\theta}_{t+1} = \bm{\theta}_t - \eta\nabla_{\bm{\theta}} l(\bm{x}_i;\bm{\theta}_t)
|
||||
\end{equation}
|
||||
Dies hat zwar den Nachteil,
|
||||
dass Die Funktion nicht immer absteigt (jedoch meistens).
|
||||
Allerdings ist die Evaluation der Loss Function wesentlich effizienter als beim Batch Gradient Descent.
|
||||
|
||||
\subsection{Mini-Batches}%
|
||||
\label{sub:Mini-Batches}
|
||||
Die Verwendung von Mini-Batches für den Gradient Descent stellt eine Mischform von \nameref{sub:Batch Gradient Descent} und \nameref{sub:SDG} dar.
|
||||
Hierbei wird nicht die Loss Function für einen kleinen Teil der Datenpunkte ausgewertet.
|
||||
Dies ist weniger rechenintensiv (vor allem, wenn die Mini-Batch-Größe an die verwendete GPU angepasst ist) als beim \nameref{sub:Batch Gradient Descent}
|
||||
aber auch zielgerichteter als beim \nameref{sub:SDG}.
|
||||
\begin{equation} \label{eq:mini-batches}
|
||||
\frac{1}{b}\sum_i l(\bm{x}_i;\bm{\theta})\qquad \bm{\theta}_{t+1} = \bm{\theta}_t - \dfrac{\eta}{b}\sum_i \nabla_{\bm{\theta}} l(\bm{x}_i;\bm{\theta}_t)
|
||||
\end{equation}
|
||||
|
||||
WEITER AUF SEITE 166
|
||||
|
@ -116,8 +116,8 @@ ist es oft sinnvoll die Eingabedaten mittels \nomsym{vector_valued_function} umz
|
||||
\label{fig:2-d-linear-regression}
|
||||
\end{figure}
|
||||
|
||||
\section{Regularization}%
|
||||
\label{sec:Regularization}
|
||||
\section{Regularization of the Linear Regression}%
|
||||
\label{sec:Regularization of the Linear Regression}
|
||||
Bei der Auswertung einer polynomialen Funktion (\cref{ssub:Polynomial Curve Fitting}) muss der Polynomialgrad der \nomf{vector_valued_function} hoch genug gewählt werden,
|
||||
damit die lineare Regression kein kleineres Polynom als die echte Grundfunktion verwendet (\gls{underfitting}).
|
||||
Allerdings darf der Grad des Polynoms auch nicht so hoch gewählt werden,
|
||||
|
BIN
images/batch_vs_stochastic_gradient_descent.png
Normal file
BIN
images/batch_vs_stochastic_gradient_descent.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 156 KiB |
BIN
images/generalized_logistic_regression.png
Normal file
BIN
images/generalized_logistic_regression.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 102 KiB |
BIN
images/linear_classification.png
Normal file
BIN
images/linear_classification.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 62 KiB |
BIN
images/linear_separability.png
Normal file
BIN
images/linear_separability.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 124 KiB |
BIN
images/regression_loss.png
Normal file
BIN
images/regression_loss.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 68 KiB |
BIN
images/sigmoid_function.png
Normal file
BIN
images/sigmoid_function.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 48 KiB |
Loading…
x
Reference in New Issue
Block a user