Lagrangian Optimization hinzugefügt.

This commit is contained in:
paul-loedige 2022-02-13 23:38:31 +01:00
parent 81998194b8
commit 23f64e1719
8 changed files with 2618 additions and 1 deletions

View File

@ -76,7 +76,7 @@
\newacronym{knn}{k"=NN}{k"=Nearest Neighbors}
\newacronym{RSS}{RSS}{Residual Sum of Squares}
\newacronym{CART}{CART}{Classification an Regression Trees}
\newacronym{DNN}{DNN}{Dynamic Neural Network}
\newacronym{DNN}{DNN}{Deep Neural Network}
\newacronym{RBF}{RBF}{Radial Basis Function Kernel}
\newacronym{SVM}{SVM}{Support Vector Machine}

View File

@ -37,6 +37,7 @@
\input{chapters/Mathematische_Grundlagen/Probability_Theory.tex}
\input{chapters/Mathematische_Grundlagen/Kernel_Basics.tex}
\input{chapters/Mathematische_Grundlagen/Sub-Gradients.tex}
\input{chapters/Mathematische_Grundlagen/Constraint Optimization.tex}
\part{Classical Supervised Learning}
\label{part:Classical Supervised Learning}

View File

@ -156,3 +156,8 @@ Im Falle des Hinge Loss bedeutet das:
\section{Anwendungsbeispiele}%
\label{sec:Anwendungsbeispiele}
{\color{red} siehe Vorlesung 06 Folien 34 ff.}
\section{\glsxtrshortpl{SVM} with Kernels}%
\label{sec:SVMs with Kernels}

View File

@ -0,0 +1,66 @@
\chapter{Constraint Optimization}%
\label{cha:Constraint Optimization}
Um zu erklären,
was es mit der Constraint Optimization auf sich hat,
lohnt es sich ein einfaches Beispiel zu betrachten
Es soll $\argmin_x x^2$ für $x\ge b$ ermittelt werden.
Abhängig davon,
wie $b$ gewählt wird ist das Minimum gleich dem globalen Minimum oder gleich dem Grenzwert:
\begin{center}
\includegraphics[width = .6\textwidth]{constraint_optimization.png}
\end{center}
\section{Lagrangian Multipliers}%
\label{sec:Lagrangian Multipliers}
Eine Möglichkeit ein Constraint Optimization Problem (für konvexe Funktionen) zu lösen sind die Lagrangian Multiplier.
Hierzu wird die Langrangesche Funktion gebildet:
\begin{equation} \label{eq:Lagrangian}
L = \text{objective} - \text{multiplier}\cdot \text{constraint}
\end{equation}
Hierbei ist die \say{objective} die Funtion die Optimiert werden soll.
Allgemein schreibt man für eine zu minimierende Funktion $f(\bm x)$ und eine Menge von Constraints $h_i(\bm x)\le b_i$ ($i=1\dots K$):
\begin{equation} \label{eq:lagrangian_function}
L(\bm x,\bm\lambda)=f(\bm x)-\sum_{i=1}^K\lambda_i(h_i(\bm x) - b_i)\qquad \lambda_i\ge 0\forall i=1\dots K
\end{equation}
Die Lagrangian Optimization erfolgt anschließend durch:
\begin{equation} \label{eq:lagrangian_optimization}
\min_{\bm x} \max_{\bm\lambda} L(\bm x,\bm\lambda)
\end{equation}
Wenn sowohl die Funktion $f$ als auch die Constraints $h$ konvex sind dürfen $\min_{\bm x}$ und $\max_{\bm\lambda}$ \say{getauscht} werden.
Man spricht hierbei dann von einem Dual Optimization Problem
\begin{equation} \label{eq:dual_optimization_problem}
\bm\lambda^*=\argmax_{\bm\lambda} g(\bm\lambda), g(\bm\lambda)= \min_{\bm x}L(\bm x,\bm\lambda)
\end{equation}
Hieraus ergibt sich der folgende Ablauf für die Lagrangian Optimization
\begin{mybox}
\textbf{\large Lagrangian Optimization}\\
\begin{enumerate}
\item Die Langrangesche Funktion ermitteln
$$L(\bm x,\bm\lambda) = f(\bm x)-\sum_{i=1}^K \lambda_i(h_i(\bm x) - b_i)$$
\item Die optimale Lösung für die Grundparameter (primal parameters) ermitteln
$$\frac{\partial L(\bm x,\bm\lambda)}{\partial x}=0\rightarrow\bm x^* = f(\bm\lambda)$$
\item $\bm x^*$ wieder in die Langrangesche Funktion einsetzen um die Dual Function zu erhalten
$$ g(\bm\lambda) = L(f(\bm\lambda),\bm\lambda)$$
\item Die optimale Lösung für die Dual Function ermitteln
$$\bm\lambda^* = \argmax_{\bm\lambda} g(\bm\lambda), \lambda_i\ge 0 \forall i$$
\item Die Optimale Gesamtlösung errechnen
$$\bm x^* = f(\bm\lambda^*)$$
\end{enumerate}
\end{mybox}
\subsection{Erklärung am Beispiel}%
\label{sub:Erklärung am Beispiel}
Für unser Beispiel ($\argmin_x x^2, x\ge b$) ergibt sich die Langrangesche Funktion:
\begin{equation} \label{eq:lagrangian_example}
L(x,\lambda) = \underbrace{x^2}_{\text{objective}}-\underbrace{\lambda}_{\text{multiplier}} \cdot \underbrace{(x-b)}_{\text{constraint}}
\end{equation}
Das hat den Effekt, dass $\min_x$ und $\max_\lambda$ gegeneinander ankämpfen.
Die Anwendung der Lagrangian Optimization führt im Beispiel zu:
\begin{itemize}
\item $x<b$: $(x-b)<0\Rightarrow\max_\lambda -\lambda(x-b)=\infty\Rightarrow$ wird von $\min_x$ nicht zugelassen
\item $x>b$: $(x-b)>0, \lambda>0\Rightarrow\lambda^*=0\Rightarrow$ constraint hat keinen Einfluss
\item $x=b$: $\lambda$ ist irrelevant $\Rightarrow$ constraint hat keinen Einfluss
\end{itemize}
Abschließend erfolgt die Optimierung nach dem oben aufgeführten Prinzip:\\
\includegraphics[width=.8\textwidth]{lagrangian_optimization_example.png}

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 254 KiB