303 lines
16 KiB
TeX
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) \]
|