forked from TH_General/Template_Summary
Model Evaluation hinzugefügt.
This commit is contained in:
parent
61ea298cd7
commit
6c0161abd9
@ -66,10 +66,13 @@
|
||||
%--------------------
|
||||
\setabbreviationstyle[acronym]{long-short}
|
||||
|
||||
\newacronym{SSE}{SSE}{Summed Squared Error}
|
||||
\newacronym{MSE}{MSE}{Mean Squared Error}
|
||||
\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}
|
||||
\newacronym{LLO}{LLO}{Leave-One-Out}
|
||||
|
||||
%--------------------
|
||||
%nomenclature
|
||||
@ -100,7 +103,8 @@
|
||||
%use nomenclature entry (use in equation)
|
||||
\newcommand{\nomeq}[1]{\glslink{#1}{\glsentrysymbol{#1}}}
|
||||
|
||||
\newnom{summed_squared_error}{Summed Squared Error}{\text{SSE}}{}{}
|
||||
\newnom{summed_squared_error}{\gls{SSE}}{\text{\glsxtrshort{SSE}}}{\glsxtrfull{SSE}}{}
|
||||
\newnom{mean_squared_error}{\gls{MSE}}{\text{\glsxtrshort{MSE}}}{\glsxtrfull{MSE}}{}
|
||||
\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}{}{}
|
||||
|
@ -283,7 +283,8 @@ Das Problem kann hierbei mithilfe des 1-Hot-Encodings als eine Conditional Multi
|
||||
|
||||
\paragraph{Gradient}%
|
||||
\label{par:multiclass_classification:Gradient}
|
||||
\begin{alignat*}{2} \label{eq:multiclass_classification:Gradient}
|
||||
|
||||
\begin{alignat}{2} \label{eq:multiclass_classification:Gradient}
|
||||
&\frac{\partial\loss_i}{\partial\bm{w}_k}
|
||||
&&= \frac{\partial}{\partial \bm{w}_k}\left(\sum_{k=1}^K\bm{h}_{c_i,k}\bm{w}_k^T\bm{\phi}(\bm{x}_i) - \log\left( \sum_{j=1}^K\exp(\bm{w}_j^T\bm{\phi}(\bm{x}_i))\right) \right)\\
|
||||
& &&= \dots\text{ \color{red} siehe Übung 2 Aufgabe 1.1 }\\
|
||||
@ -291,5 +292,5 @@ Das Problem kann hierbei mithilfe des 1-Hot-Encodings als eine Conditional Multi
|
||||
\Leftrightarrow&\frac{\partial\loss_i}{\partial\bm{w}}
|
||||
&&= - \sum_i^N \left( \bm h_{i,k} \bm \phi(\bm x_i) - \dfrac{\exp(\bm w_k^T\bm \phi(\bm x_i))}{\sum_j^K \exp(\bm w^T_j \bm \phi(\bm x_i))} \bm \phi(\bm x_i) \right) \\
|
||||
& &&= -\sum_i^N \bm \phi(\bm x_i) \left( h_{i,k} - p_{i,k} \right)
|
||||
\end{alignat*}
|
||||
\end{alignat}
|
||||
|
||||
|
@ -1,3 +1,116 @@
|
||||
\chapter{Model Selection}%
|
||||
\label{cha:Model Selection}
|
||||
Für jedes Problem existiert eine Vielzahl von Lösungsansätzen.
|
||||
Für jedes Model muss entschieden werden,
|
||||
wie komplex dieses aufgebaut werden soll.
|
||||
Die einstellbaren Parameter hängen hierbei vom Algorithmus ab:
|
||||
\begin{itemize}
|
||||
\item \textbf{Linear Regression:} number of features, regularization coefficient
|
||||
\item \textbf{Decision Trees:} maximum depth, number of leaves
|
||||
\item \textbf{Neural Networks:} number of layers, number of neurons
|
||||
\item \textbf{Support Vector Machine:} which features, regularization
|
||||
\item \textbf{Gaussian Processes:} kernel bandwith
|
||||
\end{itemize}
|
||||
Die Auswahl des passenden Algorithmus' mit zugehörigen Parametern wird als Model Selection Problem bezeichnet.
|
||||
Es ist eines der fundamentalsten Probleme des Machine Learnings.
|
||||
|
||||
\section{True Risk vs. Empirical Risk}%
|
||||
\label{sec:True Risk vs. Empirical Risk}
|
||||
\includegraphics[width=.7\textwidth]{true_vs_empirical_risk.png}
|
||||
|
||||
\subsection{Bias"~Variance Decomposition}%
|
||||
\label{sub:Bias"~Variance Decomposition}
|
||||
Expected Loss = True Risk\\
|
||||
\includegraphics[width=.9\textwidth]{bias-variance_decomposition.png}
|
||||
|
||||
\subsubsection{Understanding True Risk}%
|
||||
\label{ssub:Understanding True Risk}
|
||||
Um den Zusammenhang von Bias"~Variance Decomposition und True Risk zu verstehen,
|
||||
wird die Zerteilung im folgenden am Beispiel der Regression gezeigt.
|
||||
\begin{itemize}
|
||||
\item Die Eingangsdaten ergeben sich aus der realen Basisfunktion $f(\bm{x})$ und der zufälligen Störung $\epsilon$
|
||||
$$y=f(\bm{x}) + \epsilon,\qquad\epsilon\sim\mathcal{N}(0,\nomeq{variance})$$
|
||||
\item Der Expected Loss $R(\hat{f}_{D_n})$ der auf den Daten $D_n$ trainierten Funktion $\hat{f}_{D_n}$ ist gegeben durch:
|
||||
\begin{align} \label{eq:bias-variance_decomposition}
|
||||
R(\hat{f}_{D_n})&=\mathbb{E}_{D_n}\left[\mathbb{E}_{x,y}\left[(\hat{f}_{D_n}(\bm{x})-y)^2\right]\right]\\
|
||||
&=\underbrace{\mathbb{E}_{D_n}\left[\mathbb{E}_{x,y}\left[(\hat{f}_{D_n}(\bm{x})-\hat{f}_*(\bm x))^2\right]\right]}_{\text{Variance}}
|
||||
+ \underbrace{\mathbb{E}_{\bm x}\left[(\hat{f}_{D_n}(\bm{x})-\hat{f}_*(\bm x))^2\right]}_{\text{Bias}^2} + \underbrace{\nomeq{variance}}_{\text{Noise}}
|
||||
\end{align}
|
||||
Hierbei ist $\hat{f}_*(\bm x) = \mathbb{E}_{D_n}[\hat{f}_{D_n}(\bm x)]$ der durchschnittliche Erwartungswert über alle möglichen Datensätze der Größe $n$.
|
||||
Dies entspricht der bestmöglichen Approximation,
|
||||
die mit der verwendeten Funktion $f$ möglich ist.
|
||||
\end{itemize}
|
||||
|
||||
\section{Over"~ vs. Underfitting}%
|
||||
\label{sec:Over- vs. Underfitting}
|
||||
\includegraphics[width=.9\textwidth]{over_vs_underfitting.png}
|
||||
|
||||
\section{Bias"~Variance Trade"=off}%
|
||||
\label{sec:Bias-Variance Trade-off}
|
||||
\includegraphics[width=.9\textwidth]{bias-variance_trade-off.png}
|
||||
|
||||
\section{Evaluation Methods}%
|
||||
\label{sec:Evaluation Methods}
|
||||
Wie in \cref{sec:Over- vs. Underfitting} und \cref{sec:True Risk vs. Empirical Risk} gezeigt wurde,
|
||||
ist die Empirical Risk kein guter Maßstab für die Bewertung von Modellen.
|
||||
Daher werden andere Methoden benötigt um Modelle zu bewerten.
|
||||
|
||||
\subsection{Hold"=out Mehtod}%
|
||||
\label{sub:Hold-out Mehtod}
|
||||
Bei der Hold"=out Methode werden die gegebenen Datenpunkte in einen Trainings"~ und einen Validierungsdatensatz unterteilt.
|
||||
Letzterer Wird dafür genutzt,
|
||||
die trainierten Modelle zu bewerten.
|
||||
\begin{mybox}
|
||||
\textbf{\large Hold"=out Procedure}\\
|
||||
gegeben: ein Datensatz $D=\{(\bm{x}_i,y_i)\}_{i=1}^n$ bestehend aus $n$ Datenpunkten
|
||||
\begin{enumerate}
|
||||
\item Datensatz in einen Trainingsdatensatz $D_T$ und einen Validierungsdatensatz $D_V$ aufsplitten:
|
||||
$$D_T = \{(\bm{x}_i,y_i)\}_{i=1}^m\qquad D_V=\{(\bm{x}_i,y_i)\}_{i=m+1}^n$$
|
||||
\item $\hat{f}_{D_T}$ für jede Modell-Klasse $M$ ermitteln
|
||||
\item $hat{f}_{D_T}$ auf dem Validierungsdatensatz evaluieren. z.B.:
|
||||
$$\nomeq{mean_squared_error}(D_V,\hat{f}_{D_T} = \frac{1}{n-m}\sum_{i=m+1}^n (\hat{f}_{D_T}(\bm{x}_i) - y_i)^2$$
|
||||
\item Modell mit dem besten Validation Loss wählen
|
||||
\end{enumerate}
|
||||
\end{mybox}
|
||||
Diese Methode hat allerdings zwei Nachteile:
|
||||
\begin{enumerate}
|
||||
\item ein Teil der Daten wird nicht genutzt (nur zur Validierung)
|
||||
\item \say{unglückliche} Trainings"~Valiedierung Aufteilung der Daten kann das Ergebnis verfälschen (z.B. bei sortierten Datenpunkten)
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{Cross Validation}%
|
||||
\label{sub:Cross Validation}
|
||||
Um die Nachteile der \nameref{sub:Hold-out Mehtod} zu umgehen wird meist die Cross Validation verwendet
|
||||
\begin{mybox}
|
||||
\begin{wrapfigure}{r}{.5\linewidth}
|
||||
\centering
|
||||
\includegraphics[width=.9\linewidth]{cross_validation.png}
|
||||
\caption{Cross Validation}
|
||||
\label{fig:cross_validation}
|
||||
\end{wrapfigure}
|
||||
|
||||
\textbf{\large Cross Validation Procedure}\\
|
||||
gegeben: ein Datensatz $D=\{(\bm{x}_i,y_i)\}_{i=1}^n$ bestehend aus $n$ Datenpunkten
|
||||
\begin{enumerate}
|
||||
\item Datensatz in $k$ Partitionen unterteilen
|
||||
$$D_1 = \{(\bm{x}_i,y_i)\}_{i=1}^{\frac{n}{k}}, D_2=\{(\bm{x}_i,y_i)\}_{i=\frac{n}{k}+1}^{2 \frac{n}{k}}, \dots$$
|
||||
\item Wiederholtes Anwenden der \nameref{sub:Hold-out Mehtod} auf den Datensatz,
|
||||
wobei immer eine andere Partition als Validierungsdatensatz dient
|
||||
\end{enumerate}
|
||||
\end{mybox}
|
||||
|
||||
\subsubsection{Sonderformen der Cross Validation}%
|
||||
\label{ssub:Sonderformen der Cross Validation}
|
||||
\paragraph{\glsxtrfull{LLO} Cross Validation}%
|
||||
\label{par:LLO Cross Validation}
|
||||
Sonderform, bei der $k=n$,
|
||||
wodurch es genau so viele Durchläufe wie Datenpunkte gibt
|
||||
und immer ein Datenpunkt zur Validierung genutzt wird.
|
||||
|
||||
\paragraph{Random sub-sampling}%
|
||||
\label{par:Random sub-sampling}
|
||||
Sonderform, bei der eine Zufällige Teilmenge $\alpha\cdot n$ ($0<\alpha<1$) aus den gegebenen Daten als Validierungsdatensatz verwendet wird.
|
||||
Oft wird dieses Verfahren mehrmals in folge durchgeführt.
|
||||
|
||||
|
||||
|
||||
|
BIN
images/bias-variance_decomposition.png
Normal file
BIN
images/bias-variance_decomposition.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 71 KiB |
BIN
images/bias-variance_trade-off.png
Normal file
BIN
images/bias-variance_trade-off.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 149 KiB |
BIN
images/cross_validation.png
Normal file
BIN
images/cross_validation.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
BIN
images/over_vs_underfitting.png
Normal file
BIN
images/over_vs_underfitting.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 72 KiB |
BIN
images/true_vs_empirical_risk.png
Normal file
BIN
images/true_vs_empirical_risk.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 65 KiB |
Loading…
x
Reference in New Issue
Block a user