diff --git a/Glossary.tex b/Glossary.tex index 644ff85..0896ff9 100644 --- a/Glossary.tex +++ b/Glossary.tex @@ -50,7 +50,8 @@ %use nomenclature entry (use in equation) \newcommand{\nomeq}[1]{\glslink{#1}{\glsentrysymbol{#1}}} -\newnom{exampl}{Example}{e_xa_mp_le}{Example for a nomenclature entry}{\si{m}} +\newnom{summed_squared_error}{Summed Squared Error}{\text{SSE}}{}{} +\newnom{gaussian_noise}{Gausches Rauschen}{\epsilon}{zufällige (normalverteilte) Abweichung}{} \shorthandoff{"} diff --git a/chapters/Classical_Supervised_Learning/Linear_Regression.tex b/chapters/Classical_Supervised_Learning/Linear_Regression.tex index e441e27..9b5b27c 100644 --- a/chapters/Classical_Supervised_Learning/Linear_Regression.tex +++ b/chapters/Classical_Supervised_Learning/Linear_Regression.tex @@ -93,4 +93,73 @@ die eine Menge von Eingabedatenpunkten am besten approximiert. \end{tabular} \end{itemize} -Auf Seite 80 weitermachen +\section{Regression}% +\label{sec:Regression} +Das Ziel einer Regression ist es eine kontinuierliche Funktion $y=f(x)+\nomeq{gaussian_noise}$ zu lernen. +Im Falle der linearen Regression bedeutet das, +dass versucht wird eine Gerade zu finden, +welche die gegebenen Datenpunkte am besten approximiert: +\begin{equation}\label{eq:linear_regression} + y = f(x)+\nomeq{gaussian_noise} = w_0 + w_1 x + \nomeq{gaussian_noise} +\end{equation} +\begin{figure}[H] + \centering + \includegraphics[width=0.4\linewidth]{./images/linear_regression.png} + \caption{Beispiel einer linearen Regression}% + \label{fig:linear_regression} +\end{figure} +Die Regression verfolgt hierbei zumeist das Ziel die Summe oder den Durchschnitt des quadrierten Fehlers (engl. summed\slash\,mean squared error) zu reduzieren: +\begin{equation} \label{eq:SSE} + \nomeq{summed_squared_error} = \sum_{i=1}^{N}(y_i-f(x_i))^2 +\end{equation} + +\subsection{Regression für d-dimensionale Eingabevektoren}% +\label{sub:Regression für d-dimensionale Eingabevektoren} +Wenn die Eingangswerte durch einen d-dimensionalen Vektor $\bm{x}$ dargestellt werden, +ergibt sich die folgende Funktion: +\begin{equation} \label{eq:SSE_d-dimensional} + \nomeq{summed_squared_error} = \sum_{i=1}^{N}(y_i-f(\bm{x}_i))^2 +\end{equation} +Der \nomsym{summed_squared_error} wird verwendet, +da er vollständig differenzierbar und einfach zu optimieren ist, +da \nomsym{summed_squared_error} für lineare Funktionen konvex ist (es gibt nur genau einen Tiefpunkt). + +$f(\bm{x}_i)$ definiert sich hierbei durch: +\begin{equation} \label{eq:d-dimensional_linear_function} + f(\bm{x}_i) = w_0 + \sum_{j}W_j x_{i,j} +\end{equation} +Wodurch sich \nomsym{summed_squared_error} ebenfalls verändert: +\begin{equation} \label{eq:sse_d-dimensional_linear_function} + \nomeq{summed_squared_error} = \sum_{i=1}^N\left(y_i-\left(w_0 + \sum_j w_j x_{i,j}\right)\right)^2 +\end{equation} +Diese Formel lässt sich durch den Einsatz von Matrizen vereinfachen: +\begin{equation} \label{eq:sse_matrix_form} + \nomeq{summed_squared_error} = \sum_{i}(y_i - \hat{y}_i)^2 = \sum_i e_i^2 = \bm{e}^T\bm{e} = (\bm{y}-\bm{Xw})^T(\bm{y}-\bm{Xw}) +\end{equation} +hierbei ist $\hat{y}_i$ die Vorhersage von $y_i$ anhand von $\bm{x_i}$ und den zu lernenden Gewichten $w$: +\begin{align} + \hat{y}_i &= w_0 + \sum_{j=1}^D w_j x_{i,j} = \tilde{\bm{x}}_i^T\bm{w},\qquad\text{mit }\tilde{\bm{x}}_i = \begin{bmatrix} 1\\\bm{x}_i \end{bmatrix}\text{ und } \bm{w} = \begin{bmatrix} w_1 \\ \vdots\\ w_D \end{bmatrix}\\ + \hat{\bm{y}} &= \begin{bmatrix} \hat{y}_1 \\\vdots\\ \hat{y}_n \end{bmatrix} = \begin{bmatrix} \tilde{\bm{x}}_1^T\bm{w} \\\vdots\\ \tilde{\bm{x}}_n^T\bm{w} \end{bmatrix} = \bm{Xw} +\end{align} +zudem ist $\bm{e}$ der Fehlervektor +\begin{equation} \label{eq:error_vecor_sse} + \bm{e} = \begin{bmatrix} y_1 \\\vdots\\ y_n \end{bmatrix} - \begin{bmatrix} \hat{y}_1 \\\vdots\\ \hat{y}_n \end{bmatrix} = \bm{y} - \hat{\bm{y}} = \bm{y} - \bm{Xw} +\end{equation} + +Stellt man die Formel für den \noms{summed_squared_error} nun in Relation zu den Gewichtsvektor $\bm{w}$ auf, erhält man: +\begin{align} + \nomeq{summed_squared_error}(\bm{w}) &= (\bm{y}-\bm{Xw})^T(\bm{y} - \bm{Xw})\\ + &= \bm{w}^T\bm{X}^T\bm{Xw} - \bm{y}^T\bm{Xw} - \bm{w}^T\bm{X}^T\bm{y} + \bm{y}^T\bm{y}\\ + &= \bm{w}^T\bm{X}^T\bm{Xw} - 2\bm{y}^T\bm{Xw} + \bm{y}^T\bm{y} +\end{align} + +Leitet man diese Formel nun ab, um die Gewichte $\bm{w}^*$ mit den minimalen \noms{summed_squared_error} zu erhalten ergibt sich: +\begin{equation} + \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} + \bm{w}^* = (\bm{X}^T\bm{X})^{-1}\bm{X}^T\bm{y} +\end{equation} + +Weiter auf Seite 92 diff --git a/images/linear_regression.png b/images/linear_regression.png new file mode 100644 index 0000000..15bd13b Binary files /dev/null and b/images/linear_regression.png differ