%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{\tr{Maximum likelihood estimation}{Maximum-Likelihood-Sch\"atzer}} \label{maximumlikelihoodchapter} \selectlanguage{ngerman} 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. \determ{Maximum-Likelihood-Sch\"atzer} (\enterm{maximum likelihood estimator}, \determ[mle|see{Maximum-Likelihood-Sch\"atzer}]{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 den Parametern $\theta$. Wenn nun den $n$ unabh\"angigen Beobachtungen $x_1, x_2, \ldots x_n$ die gleiche Wahrscheinlichkeitsverteilung $p(x|\theta)$ zugrundeliegt (\enterm{i.i.d.} independent and identically distributed), 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 \determ{Likelihood} (\enterm{likelihood}) 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} Beachte, dass die Likelihood ${\cal L}$ keine Wahrscheinlichkeit im engeren Sinne ist, da sie sich nicht zu Eins aufintegriert ($\int {\cal L}(\theta|x_1,x_2, \ldots x_n) \, d\theta \ne 1$). 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 die Funktionswerte mit einer streng monoton steigenden Funktion transformiert werden. Aus numerischen und gleich ersichtlichen mathematischen Gr\"unden wird meistens das Maximum der logarithmierten Likelihood (\determ{log-Likelihood}, \enterm{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 Likelihood? \begin{figure}[t] \includegraphics[width=1\textwidth]{mlemean} \titlecaption{\label{mlemeanfig} Maximum Likelihood Sch\"atzung des Mittelwerts.}{Oben: Die Daten zusammen mit drei m\"oglichen Normalverteilungen mit unterschiedlichen Mittelwerten (Pfeile) aus denen die Daten stammen k\"onnten. Unten 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 \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}{mlemean.out} 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. \pagebreak[4] \end{exercise} \pagebreak[4] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Kurvenfit als Maximum-Likelihood Sch\"atzung} Beim \determ{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{(y_i-f(x_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} \titlecaption{\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$ der 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 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 \determ{Gamma-Verteilung}) an ein Datenset fitten wollen. Ein erster Gedanke k\"onnte sein, die \determ[Wahrscheinlichkeitsdichte]{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} \titlecaption{\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}{mlegammafit.out} Erzeuge Gammaverteilte Zufallszahlen und benutze Maximum-Likelihood, um die Parameter der Gammafunktion aus den Daten zu bestimmen. \pagebreak \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 \enterm{Tuning-curve} (deutsch \determ{Abstimmkurve}, z.B. Feuerrate als Funktion des Orientierungswinkels). \begin{figure}[tp] \includegraphics[width=1\textwidth]{mlecoding} \titlecaption{\label{mlecodingfig} Maximum Likelihood Sch\"atzung eines Stimulusparameters aus neuronaler Aktivit\"at.}{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 wird in der N\"ahe der wahren Orientierung des Stimulus maximiert.} \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) \] \selectlanguage{english}