Was ist Bayes'sche Lineare Regression? (Teil 2)

Bayesian Inference Bayesian Linear Regression Explainable AI Uncertainty Quantification Machine Learning
Bayes' Theorem

In meinem vorherigen Blogbeitrag habe ich begonnen zu erklären, wie die Bayes'sche lineare Regression funktioniert.


Bisher habe ich den Satz von Bayes, den Maximum Likelihood Estimator (MLE) und Maximum A-Posteriori (MAP) vorgestellt. Jetzt werden wir in die mathematischen Tiefen der Details hinter der Bayes'schen linearen Regression eintauchen.

Bayes'sche lineare Regression

Wir haben das Bayes'sche Theorem verwendet, um die Schätzung der Modellparameter mit Regularisierung zu rechtfertigen, aber wir verwenden immer noch Punktschätzungen der Modellparameter $$\vec{w}$$. Der Satz von Bayes könnte uns theoretisch nicht nur Zugriff auf das Maximum der posterioren Verteilung wie bei MAP geben, sondern uns auch erlauben, die Verteilung $$p(\vec{w} | D)$$ selbst zu verwenden. Dies erlaubt uns, die Standardabweichung unserer Vorhersage zu schätzen. Wir werden konjugierte Prioren verwenden, um $$p(\vec{w} | D)$$ zu berechnen. Konjugierte Prioren sind Prioren $$p(\vec{w})$$, die zur gleichen Familie von Verteilungen gehören wie die Posterioren $$p(\vec{w} | D)$$. Wie in den Beispielen in Teil 1 gehen wir davon aus, dass es sich bei der Wahrscheinlichkeit $$p(y_i | \vec{x}_i, \vec{w})$$ und den früheren $$p(\vec{w})$$ um Normalverteilungen handelt. Eine Normalverteilung mal eine Normalverteilung ist immer noch eine Normalverteilung. Wie aus dem Satz von Bayes, der Formel für die Normalisierung und dem Satz von Bayes hervorgeht, ist der Prior der Trainingsdaten $$p(D)$$ im Wesentlichen eine Normalisierungskonstante und hat keinen Einfluss auf die allgemeine Form von $$p(\vec{w} | D)$$. Wir wissen also bereits, dass $$p(\vec{w} | D)$$ eine Normalverteilung sein wird. Für eine Normalverteilung müssen wir nur das Mittel $$\vec{\mu}_w$$ und die Kovarianzmatrix $$\Sigma_w$$ von $$p(\vec{w} | D)$$ herausfinden und können dann daraus die Normalisierung ableiten.

Rechnen wir mal nach! 

Wie fangen wir also an? Schreiben wir zuerst die Verteilung auf, nach der wir suchen. Dann treffen wir eine vernünftige Auswahl von $$\vec{\mu}_w$$ und $$\Sigma_w$$. Mit Hilfe des Bayes'schen Satzes und dieser Wahl zeigen wir, dass wir den Posterior $$p(\vec{w} | D)$$ zurückerhalten.


Wie wir besprochen, wissen wir unter der Annahme, dass die Wahrscheinlichkeit $$p(y_i|\vec{x}_i, \vec{w})$$ normalverteilt ist, und unter Verwendung eines konjugierten normalverteilten Priors, dass die posteriore Verteilung ungefähr so aussieht (um uns leichter auf die Gleichung beziehen zu können, nennen wir sie GOAL):


\begin{equation} p(\vec{w} | D) \propto \exp \left[ -\frac{1}{2} (\vec{w} - \vec{\mu}_w)^T \Sigma_w^{-1} (\vec{w} - \vec{\mu}_w) \right]. \label{eqGOAL} \end{equation}


Die Proportionalität $$\propto$$ ist darauf zurückzuführen, dass wir uns endlich um die Normalisierung der Verteilung kümmern werden, wie im Abschnitt für den "Bayes'schen" Arbeitsablauf besprochen. Wenn wir die Proportionalität ausnutzen, können wir den Zähler des Bayes'schen Satzes verwenden und erhalten


\begin{equation} \begin{aligned} \exp \left[ -\frac{1}{2} (\vec{w} - \vec{\mu}_w)^T \Sigma_w^{-1} (\vec{w} - \vec{\mu}_w) \right] &\propto p(\vec{w}) \prod_{i=1}^{N_D} p(y_i | \vec{x}_i \vec{w}). \\ \end{aligned} \label{eqSHAPE} \end{equation}


Lassen Sie uns nun versuchen, die rechte Seite in diese Form umzuschreiben. Angesichts der Tatsache, dass die Wahrscheinlichkeit $$p(y_i | \vec{x}_i \vec{w})$$ und die vorherigen $$p(\vec{w})$$$ normalverteilt sind, können wir schreiben (Gleichung START)


\begin{equation} \begin{aligned} p(\vec{w}) \prod_{i=1}^{N_D} p(y_i | \vec{x}_i \vec{w}) &\propto \exp \left[ -\frac{1}{2\sigma_w^2} \vec{w}^T \vec{w}\right] \prod_{i=1}^{N_D} \exp \left[ -\frac{1}{2\sigma_{\epsilon}^2} (\vec{w}^T \vec{x}_i - y_i)^2 \right]. \end{aligned} \label{eqSTART} \end{equation}


Um das Schreiben komfortabler zu gestalten, führen wir die Vektor- und Matrixnotation für unsere Datenpunkte ein. Betrachten Sie die folgende Matrix der Datenpunkte $$X$$ so, dass die Spalten unsere Datenpunkte $$\vec{x}_i$$ sind, d.h. 


\begin{equation} (X)_{ji} := (\vec{x}_i)_j \end{equation}


und der Zeilenvektor 


\begin{equation} \vec{y} := [y_1, y_2, ... , y_{N_D} ]. \end{equation}


Wir haben also einfach eine Matrix $$X$$ definiert, in der die Spalten die x-Werte für das Regressionsproblem sind, und einen Vektor $$\vec{y}$$, in dem die Elemente den jeweiligen y-Werten entsprechen. Lassen Sie uns den Likelihoodterm auf der rechten Seite ein wenig umschreiben:


\begin{equation} \begin{aligned} \prod_{i=1}^{N_D} \exp \left[ -\frac{1}{2\sigma_{\epsilon}^2} (\vec{w}^T \vec{x}_i - y_i)^2 \right] &= \exp \left[ \sum_{i=1}^{N_D} -\frac{1}{2\sigma_{\epsilon}^2} (\vec{w}^T \vec{x}_i - y_i)^2 \right] \\ &= \exp \left[ -\frac{1}{2\sigma_{\epsilon}^2} (\vec{w}^T X - \vec{y}) (\vec{w}^T X - \vec{y})^T \right]. \end{aligned} \end{equation}


Wir haben den Likelihoodterm einfach in kompakterer Form umgeschrieben, indem wir $$X$$ und $$\vec{y}$$ verwendet haben. Gehen wir damit zurück zu START und prüfen wir, ob wir ihn in die Form von GOAL zerlegen können. Wir können die folgende Transformation (Gleichung INTERMEDIATE) durchführen:


\begin{equation} \begin{aligned} &\exp \left[ -\frac{1}{2\sigma_{\epsilon}^2} (\vec{w}^T X - \vec{y}) (\vec{w}^T X - \vec{y})^T \right] \exp \left[ -\frac{1}{2\sigma_w^2} \vec{w}^T \vec{w}\right] \\ &= \exp \left[ -\frac{1}{2} \vec{w}^T \left( \frac{X X^T}{\sigma_{\epsilon}^2} + \frac{I}{\sigma_w^2} \right) \vec{w} - \frac{\vec{y} \vec{y}^T}{2\sigma_{\epsilon}^2} + \frac{1}{\sigma_{\epsilon}^2}\vec{y}X^T\vec{w} \right], \\ \end{aligned} \label{eqIntermediate} \end{equation}


wobei $$I$$ die Identitätsmatrix ist. 


Um uns einige Mühe mit der Notation zu ersparen, können wir bereits den Mittelvektor und die Kovarianzmatrix der posterioren Verteilung identifizieren (Gleichung MOMENTS)


\begin{equation} \begin{aligned} \Sigma_w &:= \left( \frac{X X^T}{\sigma_{\epsilon}^2} + \frac{I}{\sigma_w^2} \right)^{-1} \\ \vec{\mu}_w &:= \frac{1}{\sigma_{\epsilon}^2} \Sigma_w X \vec{y}^T . \end{aligned} \label{eqMomentsDef} \end{equation}


Beachten Sie, dass wir für die Berechnung der MOMENTS nur die Trainingsdaten $$X$$ und $$\vec{y}$$ und eine Vermutung über das Rauschen $$\sigma_{\epsilon}^2$$ benötigen. Dies mag ein wenig aus heiterem Himmel erscheinen, aber wir werden jetzt erklären, warum es vernünftig ist, dies zu wählen. Betrachten Sie die Form des Exponenten in GOAL (Gleichung QUADRATIC):


\begin{equation}\begin{aligned} & (\vec{w} - \vec{\mu}_w)^T \Sigma_w^{-1} (\vec{w} - \vec{\mu}_w) \\ &= \vec{w}^T \Sigma_w^{-1} \vec{w} - 2 \vec{\mu}_w^T \Sigma_w^{-1} \vec{w} + \vec{\mu}_w^T \Sigma_w^{-1} \vec{\mu}_w . \end{aligned} \label{eqQuadratic} \end{equation}


Es lässt sich leicht zeigen, dass diese Gleichung zutrifft, wenn man bedenkt, dass $$\Sigma_w^{-1}$$ symmetrisch ist. Mit MOMENTS, QUADRATIC und etwas Geduld in INTERMEDIATE erhalten wir


\begin{equation} \begin{aligned} & \exp \left[ -\frac{1}{2} \vec{w}^T \left( \frac{X X^T}{\sigma_{\epsilon}^2} + \frac{I}{\sigma_w^2} \right) \vec{w} - \frac{\vec{y} \vec{y}^T}{2\sigma_{\epsilon}^2} + \frac{1}{\sigma_{\epsilon}^2}\vec{y}X^T \vec{w} \right] \\ &= \exp \left[ -\frac{1}{2} (\vec{w} - \vec{\mu}_w)^T \Sigma_w^{-1} (\vec{w} - \vec{\mu}_w) - \frac{\vec{y} \vec{y}^T} {2\sigma_{\epsilon}^2} + \frac{1}{2} \vec{\mu}_w^T \Sigma_w^{-1} \vec{\mu}_w \right]. \\ \end{aligned} \end{equation}


Hier stellen wir fest, dass $$\exp \links[ -\frac{\vec} {2\vec{y}^T} {2\sigma_{\epsilon}^2} + \frac{1}{2} \vec{\mu}_w^T \Sigma_w^{-1} \vec{\mu}_w \right]$$ in Bezug auf $$\vec{\w}$$ konstant ist. Das heißt, wir können es als Faktor nehmen und es in einer Proportionalität verschwinden lassen:


\begin{equation} \begin{aligned} &\exp \left[ -\frac{1}{2} (\vec{w} - \vec{\mu}_w)^T \Sigma_w^{-1} (\vec{w} - \vec{\mu}_w) - \frac{\vec{y} \vec{y}^T} {2\sigma_{\epsilon}^2} + \frac{1}{2} \vec{\mu}_w^T \Sigma_w^{-1} \vec{\mu}_w \right] \\ &\propto \exp \left[ -\frac{1}{2} (\vec{w} - \vec{\mu}_w)^T \Sigma_w^{-1} (\vec{w} - \vec{\mu}_w) \right]. \end{aligned} \end{equation}


Wir sehen, dass wir mit Hilfe der Definitionen MOMENTS die posteriore Verteilung GOAL der Modellparameter bis zur Normalisierung wiederherstellen. Die Normalisierung einer multivariaten Normalverteilung ist bekannt, sobald die Kovarianzmatrix $$\Sigma_w$$ bekannt ist, aber in dem Beispiel, das wir im ersten Teil dieses Artikels betrachtet haben, brauchten wir die Normalisierung nicht explizit zu berechnen. Der mittlere Vektor und die Kovarianzmatrix in MOMENTS können aus den Trainingsdaten $$D$$ berechnet werden und erlauben uns dann, wie im vorherigen Artikel gezeigt, Vorhersagen mit Unsicherheitsschätzung zu machen.

Zusammenfassung

Wir haben gelernt, wie man den Satz von Bayes in verschiedenen Graden anwenden kann:

  • Wir ignorierten Bayes und endeten mit einem einfachen MLE. Der MLE für die lineare Regression erweist sich als identisch mit der Minimierung der Summe der quadratischen Fehler.
  • Wir verwendeten den Satz von Bayes für eine Punktschätzung und erhielten MAP. MAP für die lineare Regression und ein normalverteilter Prior der Parameter erweist sich als äquivalent zur MLE mit L2-Regularisierung.
  • Nicht zuletzt verwendeten wir das Bayes'sche Theorem, um die gesamte posteriore Verteilung der Modellparameter unter Verwendung konjugierter Prioren zu berechnen. Sobald wir den Mittelvektor und die Kovarianzmatrix des Posteriors kennen, können wir analytisch die mittlere Vorhersage und die Standardabweichung / Varianz dieser Vorhersage berechnen. Darüber hinaus können wir einzelne Parametersätze sample.

Ich hoffe, dass dieser Artikel eine eingehende Einführung in die BLR und ihre Beziehung zu verschiedenen populären Methoden der Modellparameterschätzung gegeben hat. Wenn Sie Anmerkungen oder Fragen haben, zögern Sie nicht, uns zu kontaktieren!