Lineare Regression beendet.

This commit is contained in:
paul-loedige 2022-02-09 23:07:41 +01:00
parent 3025564597
commit b362f6fed5
9 changed files with 112 additions and 11 deletions

View File

@ -8,18 +8,38 @@
%--------------------
%main glossary
%--------------------
\newglossaryentry{example}{
name=Example,
plural=Examples,
description={This is an example for a main glossary entry}
\newglossaryentry{overfitting}{
name=Overfitting,
description={
Eine Approximation ist overfitted,
wenn die Trainingsdaten sehr gut und Testdaten sehr schlecht approximiert werden.
}
}
\newglossaryentry{underfitting}{
name=Underfitting,
description={
Eine Approximation ist underfitted,
wenn die Approximation so simple ist,
dass weder Trainings"~ noch Testdaten gut approximiert werden.
}
}
\newglossaryentry{full_rank_matrix}{
name = Full Rank Matrix,
description = {
\say{Ist der Rang einer quadratischen Matrix gleich ihrer Zeilen- und Spaltenzahl, hat sie vollen Rang und ist regulär (invertierbar).
Diese Eigenschaft lässt sich auch anhand ihrer Determinante feststellen.
Eine quadratische Matrix hat genau dann vollen Rang, wenn ihre Determinante von null verschieden ist bzw. keiner ihrer Eigenwerte null ist.
} (\url{https://de.wikipedia.org/wiki/Rang_(Mathematik)})
}
}
%--------------------
%acronyms
%--------------------
\setabbreviationstyle[acronym]{long-short}
\newacronym{EXP}{EXP}{Example}
\newacronym{FRM}{FRM}{\gls{full_rank_matrix}}
%--------------------
%nomenclature
@ -52,6 +72,9 @@
\newnom{summed_squared_error}{Summed Squared Error}{\text{SSE}}{}{}
\newnom{gaussian_noise}{Gausches Rauschen}{\epsilon}{zufällige (normalverteilte) Abweichung}{}
\newnom{vector_valued_function}{vektorwertige Funktion}{\phi(\bm{x})}{vektorwertige Funktion der des Eingangsvektor $\bm{x}$}{}
\newnom{regularization_factor}{Regularisierungsfaktor}{\lambda}{}{}
\newnom{identity_matrix}{Identitätsmatrix}{\bm{I}}{$\begin{bmatrix} 1 & 0 & \cdots & 0 \\ 0 & 1 & cdots & 0 \\ \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & \cdots & 1 \end{bmatrix}$}{}
\shorthandoff{"}

View File

@ -5,6 +5,7 @@
top=35mm,right=20mm,bottom=30mm,left=20mm,
headheight=25mm
]{geometry}
\setcounter{secnumdepth}{3}
\input{Packages.tex}
\input{Style.tex}
@ -33,7 +34,6 @@
\part{Classical Supervised Learning}
\label{part:Classical Supervised Learning}
\input{chapters/Classical_Supervised_Learning/Linear_Regression.tex}
\input{chapters/Classical_Supervised_Learning/Ridge_Regression.tex}
\input{chapters/Classical_Supervised_Learning/Linear_Classification.tex}
\input{chapters/Classical_Supervised_Learning/Model_Selection.tex}
\input{chapters/Classical_Supervised_Learning/k-Nearest_Neighbors.tex}

View File

@ -20,6 +20,8 @@
\usepackage{float}
%svg images
\usepackage{svg}
%subfigures
\usepackage{subcaption}
%--------------------
%german quotation

View File

@ -158,8 +158,87 @@ Leitet man diese Formel nun ab, um die Gewichte $\bm{w}^*$ mit den minimalen \no
\nabla_{\bm{w}}\nomeq{summed_squared_error}(\bm{w}) = \dfrac{\partial}{\partial\bm{w}}\left\{\bm{w}^T\bm{X}^T\bm{Xw} - 2\bm{y}^T\bm{Xw} + \bm{y}^T\bm{y}\right\}
\end{equation}
Durch das Gleichsetzen dieser Funktion mit 0 (Die Ableitung einer quadratischen Funktion am Scheitelpunkt) erhält man:
\begin{equation}
\begin{equation} \label{eq:linear_regression_solution}
\bm{w}^* = (\bm{X}^T\bm{X})^{-1}\bm{X}^T\bm{y}
\end{equation}
Weiter auf Seite 92
\section{Generalisierung der linearen Regression}%
\label{sec:Generalisierung der linearen Regression}
Die bisher dargestellte Form der linearen Regression ist lediglich dazu in der Lage eine lineare Hyper-Ebene in einem D-dimensionalen Eingaberaum zu errechnen.
Um die lineare Regression auch in anderen Anwendungen verwenden zu können ist es nötig eine \nomf{vector_valued_function} zu definieren,
welche dafür sorgen,
dass auch nicht-lineare Eingabevektoren $\bm{x}$ mithilfe der linearen Regression analysiert werden können.
Die Ergebnisformel für die lineare Regression bleibt hierbei nahezu gleiche,
wobei $\bm{X} = \begin{bmatrix} \tilde{\bm{x}}^T_1 \\\vdots\\\tilde{\bm{x}}^T_n \end{bmatrix}$ (siehe \cref{eq:linear_regression_solution}) durch $\bm{\Phi} = \begin{bmatrix} \phi_1^T\\\vdots\\\phi_n^T \end{bmatrix}$ ersetzt wird:
\begin{equation} \label{eq:generalized_linear_regression}
\bm{w}^* = (\bm{\Phi}^T\bm{\Phi})^{-1}\bm{\Phi}^T\bm{y}
\end{equation}
Dies ermöglicht es mittels der linearen Regression auch jede nicht-lineare Funktion zu lernen,
indem eine passende \nomf{vector_valued_function} gefunden wird.
\subsection{Beispiele}%
\label{sub:Beispiele}
\subsubsection{Polynomial Curve Fitting}%
\label{ssub:Polynomial Curve Fitting}
\begin{wrapfigure}{r}{.4\textwidth}
\vspace*{-20mm}
\centering
\includegraphics[width=0.7\linewidth]{images/polynomial_curve_fitting.png}
\caption{polynomiale Kurvenanpassung}%
\label{fig:polynomial_curve_fitting}
\vspace*{-30mm}
\end{wrapfigure}
Durch die Generalisierung der linearen Regression ist die Kurvenanpassung an eine polynomiale Funktion möglich.
So lässt sich die lineare Regression für eine Funktion 3. Grades mithilfe von $\nomeq{vector_valued_function} = \begin{bmatrix} 1\\x\\x^2\\x^3 \end{bmatrix}$ und $\bm{w} = \begin{bmatrix} w_0\\w_1\\w_2\\w_3 \end{bmatrix}$errechnen.
\subsubsection{Multiple Linear Regression and Fitting a Quadratic Form}%
\label{ssub:Multiple Linear Regression}
Da eine Hyper-Ebene nicht immer eine gute Approximation der Daten darstellt (siehe \cref{fig:plane-linear-regression}),
ist es oft sinnvoll die Eingabedaten mittels \nomsym{vector_valued_function} umzuwandeln (siehe \cref{fig:quadratic-form-linear-regression}).
\begin{figure}[H]
\begin{subfigure}[t]{.5\textwidth}
\includegraphics[width=\textwidth]{images/multiple_linear_regression1.png}
\caption{$\bm{w}=\begin{bmatrix} w_0\\w_1\\w_2 \end{bmatrix}, \nomeq{vector_valued_function} = \begin{bmatrix} 1\\x_1\\x_2 \end{bmatrix}$}
\label{fig:plane-linear-regression}
\end{subfigure}%
\begin{subfigure}[t]{.5\textwidth}
\includegraphics[width=\textwidth]{images/multiple_linear_regression2.png}
\caption{$\bm{w}=\begin{bmatrix} w_0\\w_1\\w_2\\w_3\\w_4 \end{bmatrix}, \nomeq{vector_valued_function} = \begin{bmatrix} 1\\x_1\\x_2\\x_1^2\\x_2^2 \end{bmatrix}$}
\label{fig:quadratic-form-linear-regression}
\end{subfigure}
\caption{Lineare Regression mit 2-dimensionalen Eingangsdaten}%
\label{fig:2-d-linear-regression}
\end{figure}
\section{Regularization}%
\label{sec:Regularization}
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,
dass die durch lineare Regression erlernte Funktion jeden Trainingsdatenpunkt perfekt abbildet (\gls{overfitting}).
\begin{figure}[H]
\centering
\includegraphics[width=0.6\linewidth]{images/polynomial_linear_regression_overfitting.png}
\caption{Beispielhaftes Verhältnis für ein Verhältnis vom Grad des Polynoms und \nomsym{summed_squared_error}}%
\label{fig:poynomial_linear_regression_overfitting}
\end{figure}
Um dies zu verhindern kommt die Regularisierung zum Einsatz.
Diese verfolgt das Ziel,
die Gewichte $\bm{w}$ möglichst klein zu halten um ein \gls{overfitting} zu verhindern.
Hierbei wird die datenabhängige Fehlerfunktion der Gewichte $E_D(\bm{w})$ um einen Regularisierungsterm $\nomeq{regularization_factor} E_W(\bm{w})$ erweitert.
Hierbei ist \nomsym{regularization_factor} der \noms{regularization_factor},
welcher meist manuell ausgewählt werden muss.
\subsection{Ridge Regression}%
\label{sub:Ridge Regression}
Die Regularisierung des \nomf{summed_squared_error} mithilfe eines quadratischen Regularisierungsterms ergibt folgende Verlustfunktion (Loss-Function):
\begin{equation} \label{eq:ridge_regression_loss}
L_{\text{ridge}} = (\bm{y}-\bm{\Phi w})^T(\bm{y}-\bm{\Phi w}) + \nomeq{regularization_factor}\bm{w}^T\bm{w}
\end{equation}
Diese spezielle Regularisierung wird auch als Ridge Regression bezeichnet.
Die Regressionsgleichung ist hierbei gegeben durch:
\begin{equation} \label{eq:ridge_regression_solution}
\bm{w}^*_{\text{ridge}} = (\bm{\Phi}^T\bm{\Phi} + \nomeq{regularization_factor}\nomeq{identity_matrix})^{-1}\bm{\Phi}^T\bm{y}
\end{equation}
Da die Matrix $(\bm{\Phi}^T\bm{\Phi} + \nomeq{regularization_factor}\nomeq{identity_matrix})$ eine \gls{FRM} ist,
kann sie leicht invertiert werden.

View File

@ -1,3 +0,0 @@
\chapter{Ridge Regression}%
\label{cha:Ridge Regression}

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB