This repository has been archived on 2021-05-17. You can view files and clone it, but cannot push or open issues or pull requests.
scientificComputing/likelihood/lecture/likelihood.tex
2015-10-31 20:45:32 +01:00

303 lines
16 KiB
TeX

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{\tr{Maximum likelihood estimation}{Maximum-Likelihood-Sch\"atzer}}
In vielen Situationen wollen wir einen oder mehrere Parameter $\theta$
einer Wahrscheinlichkeitsverteilung sch\"atzen, so dass die Verteilung
die Daten $x_1, x_2, \ldots x_n$ am besten beschreibt.
Maximum-Likelihood-Sch\"atzer (maximum likelihood estimate, mle)
w\"ahlen die Parameter so, dass die Wahrscheinlichkeit, dass die Daten
aus der Verteilung stammen, am gr\"o{\ss}ten ist.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Maximum Likelihood}
Sei $p(x|\theta)$ (lies ``Wahrscheinlichkeit(sdichte) von $x$ gegeben
$\theta$'') die Wahrscheinlichkeits(dichte)verteilung von $x$ mit dem
Parameter(n) $\theta$. Das k\"onnte die Normalverteilung
\begin{equation}
\label{normpdfmean}
p(x|\theta) = \frac{1}{\sqrt{2\pi \sigma^2}}e^{-\frac{(x-\mu)^2}{2\sigma^2}}
\end{equation}
sein mit dem Mittelwert $\mu$ und der Standardabweichung $\sigma$ als
Parameter $\theta$.
Wenn nun den $n$ unabh\"angigen Beobachtungen $x_1, x_2, \ldots x_n$
die Wahrscheinlichkeitsverteilung $p(x|\theta)$ zugrundeliegt, dann
ist die Verbundwahrscheinlichkeit $p(x_1,x_2, \ldots x_n|\theta)$ des
Auftretens der Werte $x_1, x_2, \ldots x_n$ gegeben ein bestimmtes $\theta$
\begin{equation}
p(x_1,x_2, \ldots x_n|\theta) = p(x_1|\theta) \cdot p(x_2|\theta)
\ldots p(x_n|\theta) = \prod_{i=1}^n p(x_i|\theta) \; .
\end{equation}
Andersherum gesehen ist das die Likelihood (deutsch immer noch ``Wahrscheinlichleit'')
den Parameter $\theta$ zu haben, gegeben die Me{\ss}werte $x_1, x_2, \ldots x_n$,
\begin{equation}
{\cal L}(\theta|x_1,x_2, \ldots x_n) = p(x_1,x_2, \ldots x_n|\theta)
\end{equation}
Hinter dieser Umformung steht eigentlich der Satz von Bayes. Bei der
einfachen Gleichsetzung von ${\cal L}$ mit $p$ fehlen
Normierungsfaktoren, so dass ${\cal L}$ sich nicht auf Eins
aufintegriert, und ${\cal L}$ deshalb keine
Wahrscheinlichkeit(sdichte) ist.
Wir sind nun an dem Wert des Parameters $\theta_{mle}$ interessiert, der die
Likelihood maximiert (Maximum-Likelihood Estimate ``mle''):
\begin{equation}
\theta_{mle} = \text{argmax}_{\theta} {\cal L}(\theta|x_1,x_2, \ldots x_n)
\end{equation}
$\text{argmax}_xf(x)$ bezeichnet den Wert des Arguments $x$ der Funktion $f(x)$, bei
dem $f(x)$ ihr globales Maximum annimmt. Wir suchen also den Wert von $\theta$
bei dem die Likelihood ${\cal L}(\theta)$ ihr Maximum hat.
An der Stelle eines Maximums einer Funktion \"andert sich nichts, wenn
man die Funktionswerte mit einer streng monoton steigenden Funktion
transformiert. Aus numerischen und gleich ersichtlichen mathematischen
Gr\"unden wird meistens das Maximum der logarithmierten Likelihood
(``Log-Likelihood'') gesucht:
\begin{eqnarray}
\theta_{mle} & = & \text{argmax}_{\theta}\; {\cal L}(\theta|x_1,x_2, \ldots x_n) \nonumber \\
& = & \text{argmax}_{\theta}\; \log {\cal L}(\theta|x_1,x_2, \ldots x_n) \nonumber \\
& = & \text{argmax}_{\theta}\; \log \prod_{i=1}^n p(x_i|\theta) \nonumber \\
& = & \text{argmax}_{\theta}\; \sum_{i=1}^n \log p(x_i|\theta) \label{loglikelihood}
\end{eqnarray}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Beispiel: Das arithmetische Mittel}
Wenn die Me{\ss}daten $x_1, x_2, \ldots x_n$ der Normalverteilung
\eqnref{normpdfmean} entstammen, und wir den Mittelwert $\mu=\theta$ als
einzigen Parameter der Verteilung betrachten, welcher Wert von
$\theta$ maximiert dessen Likelhood?
\begin{figure}[t]
\includegraphics[width=1\textwidth]{mlemean}
\caption{\label{mlemeanfig} Maximum Likelihood Estimation des
Mittelwerts. Oben: Die Daten zusammen mit drei m\"oglichen
Normalverteilungen mit unterschiedlichen Mittelwerten (Pfeile) aus
denen die Daten stammen k\"onnten. Unteln links: Die Likelihood
in Abh\"angigkeit des Mittelwerts als Parameter der
Normalverteilungen. Unten rechts: die entsprechende
Log-Likelihood. An der Position des Maximums bei $\theta=2$
\"andert sich nichts (Pfeil).}
\end{figure}
Die Log-Likelihood \eqnref{loglikelihood} ist
\begin{eqnarray*}
\log {\cal L}(\theta|x_1,x_2, \ldots x_n)
& = & \sum_{i=1}^n \log \frac{1}{\sqrt{2\pi \sigma^2}}e^{-\frac{(x_i-\theta)^2}{2\sigma^2}} \\
& = & \sum_{i=1}^n - \log \sqrt{2\pi \sigma^2} -\frac{(x_i-\theta)^2}{2\sigma^2} \; .
\end{eqnarray*}
Der Logarithmus hat die sch\"one Eigenschaft die Exponentialfunktion
der Normalverteilung auszul\"oschen, da der Logarithmus die
Umkehrfunktion der Exponentialfunktion ist ($\log(e^x)=x$).
Zur Bestimmung des Maximums der Log-Likelihood berechnen wir deren Ableitung
nach dem Parameter $\theta$ und setzen diese gleich Null:
\begin{eqnarray*}
\frac{\text{d}}{\text{d}\theta} \log {\cal L}(\theta|x_1,x_2, \ldots x_n) & = & \sum_{i=1}^n \frac{2(x_i-\theta)}{2\sigma^2} \;\; = \;\; 0 \\
\Leftrightarrow \quad \sum_{i=1}^n x_i - \sum_{i=1}^n x_i \theta & = & 0 \\
\Leftrightarrow \quad n \theta & = & \sum_{i=1}^n x_i \\
\Leftrightarrow \quad \theta & = & \frac{1}{n} \sum_{i=1}^n x_i \;\; = \;\; \bar x
\end{eqnarray*}
Der Maximum-Likelihood-Sch\"atzer ist das arithmetische Mittel $\bar
x$ der Daten. D.h. das arithmetische Mittel maximiert die
Wahrscheinlichkeit, dass die Daten aus einer Normalverteilung mit
diesem Mittelwert gezogen worden sind (\figref{mlemeanfig}).
\begin{exercise}[mlemean.m]
Ziehe $n=50$ normalverteilte Zufallsvariablen mit einem Mittelwert $\ne 0$
und einer Standardabweichung $\ne 1$.
Plotte die Likelihood (aus dem Produkt der Wahrscheinlichkeiten) und
die Log-Likelihood (aus der Summe der logarithmierten
Wahrscheinlichkeiten) f\"ur den Mittelwert als Parameter. Vergleiche
die Position der Maxima mit dem aus den Daten berechneten
Mittelwert.
\newpage
\end{exercise}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Kurvenfit als Maximum-Likelihood Sch\"atzung}
Beim Kurvenfit soll eine Funktion $f(x;\theta)$ mit den Parametern
$\theta$ an die Datenpaare $(x_i|y_i)$ durch Anpassung der Parameter
$\theta$ gefittet werden. Wenn wir annehmen, dass die $y_i$ um die
entsprechenden Funktionswerte $f(x_i;\theta)$ mit einer
Standardabweichung $\sigma_i$ normalverteilt streuen, dann lautet die
Log-Likelihood
\begin{eqnarray*}
\log {\cal L}(\theta|(x_1,y_1,\sigma_1), \ldots, (x_n,y_n,\sigma_n))
& = & \sum_{i=1}^n \log \frac{1}{\sqrt{2\pi \sigma_i^2}}e^{-\frac{(y_i-f(x_i;\theta))^2}{2\sigma_i^2}} \\
& = & \sum_{i=1}^n - \log \sqrt{2\pi \sigma_i^2} -\frac{(x_i-f(y_i;\theta))^2}{2\sigma_i^2} \\
\end{eqnarray*}
Der einzige Unterschied zum vorherigen Beispiel ist, dass die
Mittelwerte der Normalverteilungen nun durch die Funktionswerte
gegeben sind.
Der Parameter $\theta$ soll so gew\"ahlt werden, dass die
Log-Likelihood maximal wird. Der erste Term der Summe ist
unabh\"angig von $\theta$ und kann deshalb bei der Suche nach dem
Maximum weggelassen werden:
\begin{eqnarray*}
& = & - \frac{1}{2} \sum_{i=1}^n \left( \frac{y_i-f(x_i;\theta)}{\sigma_i} \right)^2
\end{eqnarray*}
Anstatt nach dem Maximum zu suchen, k\"onnen wir auch das Vorzeichen der Log-Likelihood
umdrehen und nach dem Minimum suchen. Dabei k\"onnen wir auch den Faktor $1/2$ vor der Summe vernachl\"assigen --- auch das \"andert nichts an der Position des Minimums:
\begin{equation}
\label{chisqmin}
\theta_{mle} = \text{argmin}_{\theta} \; \sum_{i=1}^n \left( \frac{y_i-f(x_i;\theta)}{\sigma_i} \right)^2 \;\; = \;\; \text{argmin}_{\theta} \; \chi^2
\end{equation}
Die Summe der quadratischen Abst\"ande normiert auf die jeweiligen
Standardabweichungen wird auch mit $\chi^2$ bezeichnet. Der Wert des
Parameters $\theta$, welcher den quadratischen Abstand minimiert, ist
also identisch mit der Maximierung der Wahrscheinlichkeit, dass die
Daten tats\"achlich aus der Funktion stammen k\"onnen. Minimierung des
$\chi^2$ ist also eine Maximum-Likelihood Sch\"atzung.
An der Herleitung sehen wir aber auch, dass die Minimierung des
quadratischen Abstands nur dann eine Maximum-Likelihood Absch\"atzung
ist, wenn die Daten normalverteilt um die Funktion streuen. Bei
anderen Verteilungen m\"usste man die Log-Likelihood entsprechend
\eqnref{loglikelihood} ausrechnen und maximieren.
\begin{figure}[t]
\includegraphics[width=1\textwidth]{mlepropline}
\caption{\label{mleproplinefig} Maximum-Likelihood Sch\"atzung der
Steigung einer Ursprungsgeraden.}
\end{figure}
\subsection{Beispiel: einfache Proportionalit\"at}
Als Funktion nehmen wir die Ursprungsgerade
\[ f(x) = \theta x \]
mit Steigung $\theta$. Die $\chi^2$-Summe lautet damit
\[ \chi^2 = \sum_{i=1}^n \left( \frac{y_i-\theta x_i}{\sigma_i} \right)^2 \; . \]
Zur Bestimmung des Minimums berechnen wir wieder die erste Ableitung nach $\theta$
und setzen diese gleich Null:
\begin{eqnarray}
\frac{\text{d}}{\text{d}\theta}\chi^2 & = & \frac{\text{d}}{\text{d}\theta} \sum_{i=1}^n \left( \frac{y_i-\theta x_i}{\sigma_i} \right)^2 \nonumber \\
& = & \sum_{i=1}^n \frac{\text{d}}{\text{d}\theta} \left( \frac{y_i-\theta x_i}{\sigma_i} \right)^2 \nonumber \\
& = & -2 \sum_{i=1}^n \frac{x_i}{\sigma_i} \left( \frac{y_i-\theta x_i}{\sigma_i} \right) \nonumber \\
& = & -2 \sum_{i=1}^n \left( \frac{x_iy_i}{\sigma_i^2} - \theta \frac{x_i^2}{\sigma_i^2} \right) \;\; = \;\; 0 \nonumber \\
\Leftrightarrow \quad \theta \sum_{i=1}^n \frac{x_i^2}{\sigma_i^2} & = & \sum_{i=1}^n \frac{x_iy_i}{\sigma_i^2} \nonumber \\
\Leftrightarrow \quad \theta & = & \frac{\sum_{i=1}^n \frac{x_iy_i}{\sigma_i^2}}{ \sum_{i=1}^n \frac{x_i^2}{\sigma_i^2}} \label{mleslope}
\end{eqnarray}
Damit haben wir nun einen anlytischen Ausdruck f\"ur die Bestimmung
der Steigung $\theta$ des Regressionsgeraden gewonnen
(\figref{mleproplinefig}).
Ein Gradientenabstieg ist f\"ur das Fitten der Geradensteigung also
gar nicht n\"otig. Das gilt allgemein f\"ur das Fitten von
Koeffizienten von linear kombinierten Basisfunktionen. Wie z.B. die
die Steigung $m$ und der y-Achsenabschnitt $b$ einer Geradengleichung
\[ y = m \cdot x +b \]
oder allgemeiner die Koeffizienten $a_k$ eines Polynoms
\[ y = \sum_{k=0}^N a_k x^k = a_o + a_1x + a_2x^2 + a_3x^4 + \ldots \]
\matlabfun{polyfit}.
Parameter, die nichtlinear in einer Funktion enthalten sind, k\"onnen
im Gegensatz dazu nicht analytisch aus den Daten berechnet
werden. z.B. die Rate $\lambda$ eines exponentiellen Zerfalls
\[ y = c \cdot e^{\lambda x} \quad , \quad c, \lambda \in \reZ \; . \]
F\"ur diesen Fall bleibt dann nur auf numerische Verfahren zur
Optimierung der Kostenfunktion, wie z.B. der Gradientenabstieg,
zur\"uckzugreifen \matlabfun{lsqcurvefit}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Fits von Wahrscheinlichkeitsverteilungen}
Jetzt betrachten wir noch den Fall, bei dem wir die Parameter einer
Wahrscheinlichkeitsdichtefunktion (z.B. den shape-Parameter einer
Gamma-Verteilung) an ein Datenset fitten wollen.
Ein erster Gedanke k\"onnte sein, die
Wahrscheinlichkeitsdichtefunktion durch Minimierung des quadratischen
Abstands an ein Histogramm der Daten zu fitten. Das ist aber aus
folgenden Gr\"unden nicht die Methode der Wahl: (i)
Wahrscheinlichkeitsdichten k\"onnen nur positiv sein. Darum k\"onnen
insbesondere bei kleinen Werten die Daten nicht symmetrisch streuen,
wie es bei normalverteilten Daten der Fall ist. (ii) Die Datenwerte
sind nicht unabh\"angig, da das normierte Histogram sich zu Eins
aufintegriert. Die beiden Annahmen normalverteilte und unabh\"angige
Daten, die die Minimierung des quadratischen Abstands
\eqnref{chisqmin} zu einem Maximum-Likelihood Sch\"atzer machen, sind
also verletzt. (iii) Das Histogramm h\"angt von der Wahl der
Klassenbreite ab (\figref{mlepdffig}).
\begin{figure}[t]
\includegraphics[width=1\textwidth]{mlepdf}
\caption{\label{mlepdffig} Maximum-Likelihood Sch\"atzung einer
Wahrscheinlichkeitsdichtefunktion. Links: die 100 Datenpunkte, die
aus der Gammaverteilung 2. Ordnung (rot) gezogen worden sind. Der
Maximum-Likelihood-Fit ist orange dargestellt. Rechts: das
normierte Histogramm der Daten zusammen mit dem \"uber Minimierung
des quadratischen Abstands zum Histogramm berechneten Fit.}
\end{figure}
Den direkten Weg, eine Wahrscheinlichkeitsdichtefunktion an ein
Datenset zu fitten, haben wir oben schon bei dem Beispiel zur
Absch\"atzung des Mittelwertes einer Normalverteilung gesehen ---
Maximum Likelihood! Wir suchen einfach die Parameter $\theta$ der
gesuchten Wahrscheinlichkeitsdichtefunktion bei der die Log-Likelihood
\eqnref{loglikelihood} maximal wird. Das ist im allgemeinen ein
nichtlinieares Optimierungsproblem, das mit numerischen Verfahren, wie
z.B. dem Gradientenabstieg, gel\"ost wird \matlabfun{mle}.
\begin{exercise}[mlegammafit.m]
Erzeuge Gammaverteilte Zufallszahlen und benutze Maximum-Likelihood,
um die Parameter der Gammafunktion aus den Daten zu bestimmen.
\newpage
\end{exercise}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Neuronale Kodierung}
In sensorischen Systemen kodieren Populationen von Neuronen mit ihrer
Aktivit\"at Eigenschaften von sensorischen Stimuli. z.B. im visuellen
Kortex V1 die Orientierung eines Balkens. Traditionell wird die
Antwort der Neurone f\"ur verschiedene Stimuli (z.B. verschiedene
Orientierungen des Balkens) gemessen. Die mittlere Antwort der Neurone
als Funktion eines Stimulusparameters ist dann die ``Tuning-curve''
(z.B. Feuerrate als Funktion des Orientierungswinkels).
\begin{figure}[tp]
\includegraphics[width=1\textwidth]{mlecoding}
\caption{\label{mlecodingfig} Maximum Likelihood Sch\"atzung eines
Stimulusparameters aus der Aktivit\"at einer Population von
Neuronen. Oben: Die Tuning-Kurve eines einzelnen Neurons in
Abh\"angigkeit von der Orientierung eines Balkens. Der Stimulus
der die st\"akste Aktivit\"at in diesem Neuron hervorruft ist ein
senkrechter Balken (Pfeil, $\phi_i=90$\,\degree. Die rote Fl\"ache
deutet die Variabilit\"at $p(r)$ der Aktivit\"at $r$ um die
Tuning-Kurve herum an. Mitte: Jedes Neuron in der Population hat
eine andere bevorzugte Orientierung des Stimulus (farbige Linien).
Ein Stimulus einer bestimmten Orientierung aktiviert die Neurone
in spezifischer Weise (Punkte). Unten: Die Log-Likelihood dieser
Aktivit\"aten wir maximal in der N\"ahe der wahren Orientierung
des Stimulus.}
\end{figure}
Das Gehirn ist aber mit dem umgekehrten Problem konfrontiert: gegeben
eine bestimmte Aktivit\"at der Neurone in der Population, was war der
Stimulus (die Orientierung des Balkens)? Eine m\"ogliche Antwort ist
im Sinne von Maximum-Likelihood: es war der Stimulus f\"ur den das
Aktivit\"atsmuster am wahrscheinlichsten ist.
Bleiben wir mit einem Beispiel bei den orientierungssensitiven Zellen
des V1. Das Tuning $\Omega_i(\phi)$ der Zellen $i$ auf ihre bevorzugte
Orientierung $\phi_i$ l\"asst sich gut mit einer van-Mises Funktion
(entspricht der Gaussfunktion auf einer zyklischen x-Achse)
beschreiben (\figref{mlecodingfig}):
\[ \Omega_i(\phi) = c \cdot e^{\cos(2(\phi-\phi_i))} \quad , \quad c
\in \reZ \]
Die Aktivit\"at der Neurone approximieren wir hier mit einer
Normalverteilung um die Tuning-Kurve mit Standardabweichung
$\sigma=\Omega/4$ proportional zu $\Omega$, so dass die
Wahrscheinlichkeit $p_i(r|\phi)$ des $i$-ten Neurons die Aktivit\"at $r$ zu
haben, wenn ein Stimulus mit Orientierung $\phi$ anliegt, gegeben ist durch
\[ p_i(r|\phi) = \frac{1}{\sqrt{2\pi}\Omega_i(\phi)/4} e^{-\frac{1}{2}\left(\frac{r-\Omega_i(\phi)}{\Omega_i(\phi)/4}\right)^2} \; . \]
Die Log-Likelihood der Stimulusorientierung $\phi$ gegeben die
Aktivit\"aten $r_1$, $r_2$, ... $r_n$ ist damit
\[ {\cal L}(\phi|r_1, r_2, \ldots r_n) = \sum_{i=1}^n \log p_i(r_i|\phi) \]