diff --git a/regression/lecture/regression_de.tex b/regression/lecture/regression_de.tex new file mode 100644 index 0000000..f72a406 --- /dev/null +++ b/regression/lecture/regression_de.tex @@ -0,0 +1,426 @@ +\chapter{\tr{Optimization and gradient descent}{Optimierung und Gradientenabstieg}} + +\selectlanguage{ngerman} + +Ein sehr h\"aufiges Problem ist, dass die Abh\"angigkeit von +Messwerten von einer Eingangsgr\"o{\ss}e durch ein Modell erkl\"art +werden soll. Das Modell enth\"alt \"ublicherweise einen oder mehrere +Parameter, die den Zusammenhang modifizieren. Wie soll die beste +Parameterisierung des Modells gefunden werden, so dass das Modell die +Daten am besten beschreibt? Dieser Prozess der Parameteranpassung ist +ein Optimierungsproblem, der als Kurvenfit bekannt ist +(\enterm{curve fitting}). + +\begin{figure}[t] + \includegraphics[width=1\textwidth]{lin_regress}\hfill + \titlecaption{Beispieldatensatz f\"ur den Geradenfit.}{F\"ur eine + Reihe von Eingangswerten $x$, z.B. Stimulusintensit\"aten, wurden + die Antworten $y$ eines Systems gemessen (links). Der postulierte + lineare Zusammenhang hat als freie Parameter die Steigung (mitte) + und den $y$-Achsenabschnitt (rechts).}\label{linregressiondatafig} +\end{figure} + +Die Punktewolke in \figref{linregressiondatafig} legt +zum Beispiel nahe, einen (verrauschten) linearen Zusammenhang zwischen +der Eingangsgr\"o{\ss}e $x$ (\enterm{input}) und der Systemantwort +$y$ (\enterm{output}) zu postulieren. +Wir nehmen also an, dass die Geradengleichung +\[y = f(x; m, b) = m\cdot x + b \] +ein gutes Modell f\"ur das zugrundeliegende System sein k\"onnte +(Abbildung \ref{linregressiondatafig}). Die Geradengleichung hat die +beiden Parameter Steigung $m$ und $y$-Achsenabschnitt $b$ und es wird +die Kombination von $m$ und $b$ gesucht, die die Systemantwort am +besten vorhersagt. + +In folgenden Kapitel werden wir anhand dieses Beispiels zeigen, welche +Methoden hinter einem Kurvenfit stecken, wie also numerisch die +optimale Kombination aus Steigung und $y$-Achsen\-abschnitt gefunden +werden kann. + + +\section{Mittlere quadratischen Abweichung} + +Zuerst m\"u{\ss}en wir pr\"azisieren, was wir unter optimalen +Parametern verstehen. Es sollen die Werte der Parameter der +Geradengleichung sein, so dass die entsprechende Gerade am besten die +Daten beschreibt. Was meinen wir damit? Jeder $y$-Wert der $N$ +Datenpaare wird einen Abstand $y_i - y^{est}_i$ zu den durch das +Modell vorhergesagten Werten $y^{est}_i$ (\enterm{estimate}) an den +entsprechenden $x$-Werten haben. In unserem Beispiel mit der +Geradengleichung ist die Modellvorhersage $y^{est}_i=f(x_i;m,b)$ +gegeben durch die Geradengleichung +(\figref{leastsquareerrorfig}). F\"ur den besten Fit sollten dieser +Abst\"ande m\"oglichst klein sein. + +Wir k\"onnten z.B. fordern, die Summe $\sum_{i=1}^N y_i - y^{est}_i$ +m\"oglichst klein zu machen. Das funktioniert aber nicht, da diese +Summe auch dann klein wird, wenn die H\"alfte der $y$-Daten weit +oberhalb der Geraden und die andere H\"alfte weit darunter liegt, da +sich diese positiven und negativen Werte gegenseitig zu Zahlen nahe +Null aufsummieren. Besser w\"are es auf jeden Fall, die Summe des +Betrags der Abst\"ande $\sum_{i=1}^N |y_i - y^{est}_i|$ zu betrachten. Ein +kleiner Wert der Summe kann dann nur erreicht werden, wenn die +Abst\"ande der Datenpunkte von der Kurve tats\"achlich klein sind, +unabh\"angig ob sie \"uber oder unter der Gerade liegen. Statt der +Summe k\"onnen wir genauso gut fordern, dass der \emph{mittlere} Abstand +\begin{equation} + \label{meanabserror} + f_{dist}(\{(x_i, y_i)\}|\{y^{est}_i\}) = \frac{1}{N} \sum_{i=1}^N |y_i - y^{est}_i| +\end{equation} +der Menge der $N$ Datenpaare $(x_i, y_i)$ gegeben die Modellvorhersagen +$y_i^{est}$ klein sein soll. + +Am h\"aufigsten wird jedoch bei einem Kurvenfit der \determ[mittlerer +quadratische Abstand]{mittlere quadratische Abstand} (\enterm{mean + squared distance} oder \enterm{mean squared error}) +\begin{equation} + \label{meansquarederror} + f_{mse}(\{(x_i, y_i)\}|\{y^{est}_i\}) = \frac{1}{N} \sum_{i=1}^N (y_i - y^{est}_i)^2 +\end{equation} +verwendet (\figref{leastsquareerrorfig}). Wie beim Betrag sind die +quadratischen Abst\"ande immer positiv, unabh\"angig ob die Datenwerte +\"uber oder unter der Kurve liegen. Durch das Quadrat werden +zus\"atzlich gro{\ss}e Abst\"ande st\"arker gewichtet. + +\begin{exercise}{meanSquareError.m}{}\label{mseexercise}% + Schreibe eine Funktion \code{meanSquareError()}, die die mittlere + quadratische Abweichung zwischen einem Vektor mit den beobachteten + Werten $y$ und einem Vektor mit den entsprechenden Vorhersagen + $y^{est}$ berechnet. + \pagebreak[4] +\end{exercise} + + +\section{Zielfunktion} + +$f_{cost}(\{(x_i, y_i)\}|\{y^{est}_i\})$ ist eine sogenannte +\determ{Zielfunktion}, oder \determ{Kostenfunktion} (\enterm{objective + function}, \enterm{cost function}), da wir die Modellvorhersage so +anpassen wollen, dass der mittlere quadratische Abstand, also die +Zielfunktion, minimiert wird. In +Kapitel~\ref{maximumlikelihoodchapter} werden wir sehen, dass die +Minimierung des mittleren quadratischen Abstands \"aquivalent zur +Maximierung der Wahrscheinlichkeit ist, dass die Daten aus der +Modellfunktion stammen, unter der Vorraussetzung, dass die Daten +um die Modellfunktion normalverteilt streuen. + +\begin{figure}[t] + \includegraphics[width=1\textwidth]{linear_least_squares} + \titlecaption{Ermittlung des mittleren quadratischen Abstands.} + {Der Abstand (\enterm{error}, orange) zwischen der Vorhersage (rote + Gerade) und den Messdaten (blaue Punkte) wird f\"ur jeden + gemessenen Datenpunkt ermittelt (links). Anschlie{\ss}end werden + die Differenzen zwischen Messwerten und Vorhersage quadriert + (\enterm{squared error}) und der Mittelwert berechnet (rechts).} + \label{leastsquareerrorfig} +\end{figure} + +Die Kostenfunktion mu{\ss} nicht immer der mittlere quadratische +Abstand sein. Je nach Problemstellung kann die Kostenfunktion eine +beliebige Funktion sein, die die Parameter eines Modells auf einen +Wert abbildet, der in irgendeiner Weise die Qualit\"at des Modells +quantifiziert. Ziel ist es dann, diejenigen Parameterwerte zu finden, +bei der die Kostenfunktion minimiert wird. +%%% Einfaches verbales Beispiel? + +Wenn wir nun in unsere Gleichung \eqref{meansquarederror} f\"ur die +Modellvorhersage $y^{est}$ die Geradengleichung einsetzen, erhalten wir +f\"ur die Zielfunktion +\begin{eqnarray} + f_{cost}(\{(x_i, y_i)\}|m,b) & = & \frac{1}{N} \sum_{i=1}^N (y_i - f(x_i;m,b))^2 \label{msefunc} \\ + & = & \frac{1}{N} \sum_{i=1}^N (y_i - m x_i - b)^2 \label{mseline} +\end{eqnarray} +den mittleren quadratischen Abstand der Datenpaare $(x_i, y_i)$ +gegeben die Parameterwerte $m$ und $b$ der Geradengleichung. Ziel des +Kurvenfits ist es, die Werte f\"ur $m$ und $b$ so zu optimieren, dass +der Fehler \eqnref{mseline} minimal wird (\determ{Methode der + kleinsten Quadrate}, \enterm{least square error}). + +\begin{exercise}{lsqError.m}{} + Implementiere die Zielfunktion f\"ur die Optimierung mit der + linearen Geradengleichung als Funktion \code{lsqError()}. + \begin{itemize} + \item Die Funktion \"ubernimmt drei Argumente: Das erste Argument + ist ein 2-elementiger Vektor, der die Parameter \varcode{m} und + \varcode{b} enth\"alt. Das zweite ist ein Vektor mit den $x$-Werten, + an denen gemessen wurde, und das dritte ein Vektor mit den + zugeh\"origen $y$-Werten. + \item Die Funktion gibt als Ergebniss den Fehler als mittleren + quadratischen Abstand \eqnref{mseline} zur\"uck. + \item Die Funktion soll die Funktion \code{meanSquareError()} der + vorherigen \"Ubung benutzen. + \end{itemize} +\end{exercise} + + +\section{Fehlerfl\"ache} + +Die beiden Parameter $m$ und $b$ der Geradengleichung spannen eine +F\"ache auf. F\"ur jede Kombination aus $m$ und $b$ k\"onnen wir den +Wert der Zielfunktion, hier der mittlere quadratische Abstand +\eqnref{meansquarederror}, berechnen. Wir betrachten also die +Kostenfunktion $f_{cost}(\{(x_i, y_i)\}|m,b)$ nun als Funktion +$f_{cost}(m,b)$, die die beiden Variablen $m$ und $b$ auf einen +Fehlerwert abbildet. + +Es gibt also f\"ur jeden Punkt in der sogenannten +\determ{Fehlerfl\"ache} einen Fehlerwert. In diesem Beispiel eines +2-dimensionalen Problems (zwei freie Parameter) kann die +Fehlerfl\"ache graphisch durch einen 3-d \enterm{surface-plot} +dargestellt werden. Dabei werden auf der $x$- und der $y$-Achse die +beiden Parameter und auf der $z$-Achse der Fehlerwert aufgetragen +(\figref{errorsurfacefig}). + +\begin{figure}[t] + \includegraphics[width=0.75\columnwidth]{error_surface.pdf} + \titlecaption{Fehlerfl\"ache.}{Die beiden freien Parameter + unseres Modells $m$ und $b$ spannen die Grundfl\"ache des Plots + auf. F\"ur jede Kombination von Steigung $m$ und + $y$-Achsenabschnitt $b$ wird die errechnete Vorhersage des Modells + mit den Messwerten verglichen und der Fehlerwert geplottet. Die + sich ergebende Fehlerfl\"ache hat ein Minimum (roter Punkt) bei + den Werten von $m$ und $b$, f\"ur die die Gerade die Daten am + besten beschreibt.}\label{errorsurfacefig} +\end{figure} + +\begin{exercise}{errorSurface.m}{}\label{errorsurfaceexercise}% + Lade den Datensatz \textit{lin\_regression.mat} in den Workspace (20 + Datenpaare in den Vektoren \varcode{x} und \varcode{y}). Schreibe ein Skript + \file{errorSurface.m}, dass den Fehler, berechnet als mittleren + quadratischen Abstand zwischen den Daten und einer Geraden mit + Steigung $m$ und $y$-Achsenabschnitt $b$, in Abh\"angigkeit von $m$ + und $b$ als surface plot darstellt (siehe Hilfe f\"ur die + \code{surf()} Funktion). +\end{exercise} + +An der Fehlerfl\"ache kann direkt erkannt werden, bei welcher +Parameterkombination der Fehler minimal, beziehungsweise die +Parameterisierung optimal an die Daten angepasst ist. Wie kann die +Fehlerfunktion und die durch sie definierte Fehlerfl\"ache nun benutzt +werden, um den Optimierungsprozess zu leiten? + +Die naheliegenste Variante ist, von der Fehlerfl\"ache einfach den Ort +des globalen Minimums zu bestimmen. Das ist im Allgemeinen jedoch zu +rechenintensiv, da f\"ur jede m\"ogliche Kombination der Parameter der +Fehler berechnet werden muss. Die Anzahl der n\"otigen Berechnungen +steigt exponentiell mit der Anzahl der Parameter (``Fluch der +Dimension''). Auch eine bessere Genauigkeit, mit der das Minimum +bestimmt werden soll, erh\"oht die Anzahl der n\"otigen +Berechnungen. Wir suchen also ein Verfahren, dass das Minimum der +Kostenfunktion mit m\"oglichst wenigen Berechnungen findet. + +\begin{ibox}[t]{\label{differentialquotientbox}Differenzenquotient und Ableitung} + \includegraphics[width=0.33\textwidth]{derivative} + \hfill + \begin{minipage}[b]{0.63\textwidth} + Der Differenzenquotient + \begin{equation} + \label{difffrac} + m = \frac{f(x + \Delta x) - f(x)}{\Delta x} + \end{equation} + einer Funktion $y = f(x)$ ist die Steigung der Sekante (rot) durch + die beiden Punkte $(x,f(x))$ und $(x+\Delta x,f(x+\Delta x))$ mit + dem Abstand $\Delta x$. + + Die Steigung einer Funktion $y=f(x)$ an einer Stelle $x$ (gelb) wird durch + die Ableitung $f'(x)$ der Funktion an dieser Stelle berechnet. Die + Ableitung ist \"uber den Grenzwert (orange) des Differenzenquotienten f\"ur + unendlich kleine Abst\"ande $\Delta x$ definiert: + \begin{equation} + \label{derivative} + f'(x) = \frac{{\rm d} f(x)}{{\rm d}x} = \lim\limits_{\Delta x \to 0} \frac{f(x + \Delta x) - f(x)}{\Delta x} \end{equation} + \end{minipage}\vspace{2ex} + + Numerisch kann der Grenzwert \eqnref{derivative} nicht + gebildet werden. Die Ableitung kann nur durch den + Differenzenquotienten \eqnref{difffrac} mit gen\"ugend kleinem + $\Delta x$ angen\"ahert werden. +\end{ibox} + +\begin{ibox}[t]{\label{partialderivativebox}Partielle Ableitungen und Gradient} + Bei Funktionen + \[ z = f(x,y) \] + die von mehreren Variablen, z.B. $x$ und $y$ abh\"angen, + kann die Steigung in Richtung jeder dieser Variablen + mit den partiellen Ableitungen + \[ \frac{\partial f(x,y)}{\partial x} = \lim\limits_{\Delta x \to 0} \frac{f(x + \Delta x,y) - f(x,y)}{\Delta x} \] + und + \[ \frac{\partial f(x,y)}{\partial y} = \lim\limits_{\Delta y \to 0} \frac{f(x, y + \Delta y) - f(x,y)}{\Delta y} \] + definiert \"uber den jeweiligen Differenzenquotienten + (Box~\ref{differentialquotientbox}) berechnet werden. \vspace{1ex} + + \begin{minipage}[t]{0.44\textwidth} + \mbox{}\\[-2ex] + \includegraphics[width=1\textwidth]{gradient} + \end{minipage} + \hfill + \begin{minipage}[t]{0.52\textwidth} + Z.B. lauten die partiellen Ableitungen von + \[ f(x,y) = x^2+y^2 \] + \[ \frac{\partial f(x,y)}{\partial x} = 2x \; , \quad \frac{\partial f(x,y)}{\partial y} = 2y \; .\] + + Der Gradient ist der aus den partiellen Ableitungen gebildete Vektor + \[ \nabla f(x,y) = \left( \begin{array}{c} \frac{\partial f(x,y)}{\partial x} \\[1ex] \frac{\partial f(x,y)}{\partial y} \end{array} \right) \] + und zeigt in Richtung des st\"arksten Anstiegs der Funktion $f(x,y)$. + \end{minipage} + + \vspace{1ex} Die Abbildung zeigt die Konturlinien einer bivariaten + Gau{\ss}glocke $f(x,y) = \exp(-(x^2+y^2)/2)$ und den Gradienten mit + seinen partiellen Ableitungen an drei verschiedenen Stellen. +\end{ibox} + + +\section{Gradient} + +Wenn eine Kugel an einem beliebigen Startpunkt auf der Fehlerfl\"ache +\figref{errorsurfacefig} losgelassen werden w\"urde, dann w\"urde sie +entlang des steilsten Gef\"alles auf schnellsten Wege zum Minimum der +Fehlerfl\"ache rollen und dort zum Stehen kommen (wenn sie keine +Tr\"agheit besitzen w\"urde). Den Weg der Kugel wollen wir nun als +Grundlage unseres Algorithmus zur Bestimmung des Minimums der +Kostenfunktion verwenden. Da die Kugel immer entlang des steilsten +Gef\"alles rollt, ben\"otigen wir Information \"uber die Richtung des +Gef\"alles an der jeweils aktuellen Position. + +Der \determ{Gradient} (Box~\ref{partialderivativebox}) der Kostenfunktion +\[ \nabla f_{cost}(m,b) = \left( \frac{\partial f(m,b)}{\partial m}, + \frac{\partial f(m,b)}{\partial b} \right) \] bzgl. der beiden +Parameter $m$ und $b$ der Geradengleichung ist ein Vektor, der in +Richtung des steilsten Anstiegs der Kostenfunktion $f_{cost}(m,b)$ zeigt. +Die L\"ange des Gradienten gibt die St\"arke des Anstiegs an +(\figref{gradientquiverfig})). Da wir aber abw\"arts zum Minimum +laufen wollen, m\"ussen wir die dem Gradienten entgegengesetzte +Richtung einschlagen. + +Die partiellen Ableitungen m\"ussen nicht analytisch berechnet werden +sondern k\"onnen numerisch entsprechend dem Differenzenquotienten +(Box~\ref{differentialquotientbox}) mit kleinen Schrittweiten $\Delta +m$ und $\Delta b$ angen\"ahert werden. z.B. approximieren wir die +partielle Ableitung nach $m$ durch +\[\frac{\partial f_{cost}(m,b)}{\partial m} = \lim\limits_{\Delta m \to + 0} \frac{f_{cost}(m + \Delta m, b) - f_{cost}(m,b)}{\Delta m} \approx \frac{f_{cost}(m + \Delta m, b) - + f_{cost}(m,b)}{\Delta m} \; . \] + +\begin{figure}[t] + \includegraphics[width=0.75\columnwidth]{error_gradient} + \titlecaption{Gradient der Fehlerfl\"ache.} + {Jeder Pfeil zeigt die Richtung und die + Steigung f\"ur verschiedene Parameterkombination aus Steigung und + $y$-Achsenabschnitt an. Die Konturlinien im Hintergrund + illustrieren die Fehlerfl\"ache. Warme Farben stehen f\"ur + gro{\ss}e Fehlerwerte, kalte Farben f\"ur kleine. Jede + Konturlinie steht f\"ur eine Linie gleichen + Fehlers.}\label{gradientquiverfig} +\end{figure} + +\begin{exercise}{lsqGradient.m}{}\label{gradientexercise}% + Implementiere eine Funktion \code{lsqGradient()}, die den + Parametersatz $(m, b)$ der Geradengleichung als 2-elementigen Vektor + sowie die $x$- und $y$-Werte der Messdaten als Argumente + entgegennimmt und den Gradienten an dieser Stelle zur\"uckgibt. +\end{exercise} + +\begin{exercise}{errorGradient.m}{} + Benutze die Funktion aus der vorherigen \"Ubung (\ref{gradientexercise}), + um f\"ur jede Parameterkombination aus der Fehlerfl\"ache + (\"Ubung \ref{errorsurfaceexercise}) auch den Gradienten zu + berechnen und darzustellen. Vektoren im Raum k\"onnen mithilfe der + Funktion \code{quiver()} geplottet werden. +\end{exercise} + + +\section{Gradientenabstieg} + +Zu guter Letzt muss nur noch der \determ{Gradientenabstieg} implementiert +werden. Die daf\"ur ben\"otigten Zutaten haben wir aus den +vorangegangenen \"Ubungen bereits vorbereitet. Wir brauchen: 1. Die Fehlerfunktion +(\code{meanSquareError()}), 2. die Zielfunktion (\code{lsqError()}) +und 3. den Gradienten (\code{lsqGradient()}). Der Algorithmus +f\"ur den Abstieg lautet: +\begin{enumerate} +\item Starte mit einer beliebigen Parameterkombination $p_0 = (m_0, + b_0)$. +\item \label{computegradient} Berechne den Gradienten an der akutellen Position $p_i$. +\item Wenn die L\"ange des Gradienten einen bestimmten Wert + unterschreitet, haben wir das Minum gefunden und k\"onnen die Suche + abbrechen. Wir suchen ja das Minimum, bei dem der Gradient gleich + Null ist. Da aus numerischen Gr\"unden der Gradient nie exakt Null + werden wird, k\"onnen wir nur fordern, dass er hinreichend klein + wird (z.B. \varcode{norm(gradient) < 0.1}). +\item \label{gradientstep} Gehe einen kleinen Schritt ($\epsilon = + 0.01$) in die entgegensetzte Richtung des Gradienten: + \[p_{i+1} = p_i - \epsilon \cdot \nabla f_{cost}(m_i, b_i)\] +\item Wiederhole die Schritte \ref{computegradient} -- \ref{gradientstep}. +\end{enumerate} + +Abbildung \ref{gradientdescentfig} zeigt den Verlauf des +Gradientenabstiegs. Von einer Startposition aus wird die Position +solange ver\"andert, wie der Gradient eine bestimmte Gr\"o{\ss}e +\"uberschreitet. An den Stellen, an denen der Gradient sehr stark ist, +ist auch die Ver\"anderung der Position gro{\ss} und der Abstand der +Punkte in Abbildung \ref{gradientdescentfig} gro{\ss}. + +\begin{figure}[t] + \includegraphics[width=0.6\columnwidth]{gradient_descent} + \titlecaption{Gradientenabstieg.}{Es wird von einer beliebigen + Position aus gestartet und der Gradient berechnet und die Position + ver\"andert. Jeder Punkt zeigt die Position nach jedem + Optimierungsschritt an.} \label{gradientdescentfig} +\end{figure} + +\setboolean{showexercisesolutions}{false} +\begin{exercise}{gradientDescent.m}{} + Implementiere den Gradientenabstieg f\"ur das Problem der + Parameteranpassung der linearen Geradengleichung an die Messdaten in + der Datei \file{lin\_regression.mat}. + \begin{enumerate} + \item Merke Dir f\"ur jeden Schritt den Fehler zwischen + Modellvorhersage und Daten. + \item Erstelle eine Plot, der die Entwicklung des Fehlers als + Funktion der Optimierungsschritte zeigt. + \item Erstelle einen Plot, der den besten Fit in die Daten plottet. + \end{enumerate} +\end{exercise} + + +\section{Fazit} +Mit dem Gradientenabstieg haben wir eine wichtige Methode zur +Bestimmung eines globalen Minimums einer Kostenfunktion +kennengelernt. + +F\"ur den Fall des Kurvenfits mit einer Geradengleichung zeigt der +mittlere quadratische Abstand als Kostenfunktion in der Tat ein +einziges klar definiertes Minimum. Wie wir im n\"achsten Kapitel +sehen werden, kann die Position des Minimums bei Geradengleichungen +sogar analytisch bestimmt werden, der Gradientenabstieg w\"are also +gar nicht n\"otig \matlabfun{polyfit()}. + +F\"ur Parameter, die nichtlinear in einer Funktion +enthalten sind, wie z.B. die Rate $\lambda$ als Parameter in der +Exponentialfunktion $f(x;\lambda) = \exp(\lambda x)$, gibt es keine +analytische L\"osung, und das Minimum der Kostenfunktion muss +numerisch, z.B. mit dem Gradientenabstiegsverfahren bestimmt werden. + +Um noch schneller das Minimum zu finden, kann das Verfahren des +Gradientenabstiegs auf vielf\"altige Weise verbessert +werden. z.B. kann die Schrittweite an die St\"arke des Gradienten +angepasst werden. Diese numerischen Tricks sind in bereits vorhandenen +Funktionen implementiert. Allgemeine Funktionen sind f\"ur beliebige +Kostenfunktionen gemacht \matlabfun{fminsearch()}, w\"ahrend spezielle +Funktionen z.B. f\"ur die Minimierung des quadratischen Abstands bei +einem Kurvenfit angeboten werden \matlabfun{lsqcurvefit()}. + +\newpage +\begin{important}[Achtung Nebenminima!] + Das Finden des globalen Minimums ist leider nur selten so leicht wie + bei einem Geradenfit. Oft hat die Kostenfunktion viele Nebenminima, + in denen der Gradientenabstieg enden kann, obwohl das gesuchte + globale Minimum noch weit entfernt ist. Darum ist es meist sehr + wichtig, wirklich gute Startwerte f\"ur die zu bestimmenden + Parameter der Kostenfunktion zu haben. Auch sollten nur so wenig wie + m\"oglich Parameter gefittet werden, da jeder zus\"atzliche + Parameter den Optimierungsprozess schwieriger und + rechenaufw\"andiger macht. +\end{important} + +\selectlanguage{english}