Expectation Maximization hinzugefügt.

This commit is contained in:
paul-loedige 2022-02-19 23:30:11 +01:00
parent 5d0a5075a1
commit 601e20cf68
10 changed files with 305 additions and 11 deletions

View File

@ -6,6 +6,7 @@
\shorthandon{"} \shorthandon{"}
% {{{ Main glossary% % {{{ Main glossary%
\newglossaryentry{overfitting}{ \newglossaryentry{overfitting}{
name=Overfitting, name=Overfitting,
description={ description={
@ -56,11 +57,57 @@
beeinflussen sich dabei aber nicht.} (\url{https://de.wikipedia.org/wiki/Unabh\%C3\%A4ngig_und_identisch_verteilte_Zufallsvariablen}) beeinflussen sich dabei aber nicht.} (\url{https://de.wikipedia.org/wiki/Unabh\%C3\%A4ngig_und_identisch_verteilte_Zufallsvariablen})
} }
} }
\newglossaryentry{closed_form_solution}{
name=Closed Form Solution,
description={
\say{In mathematics,
a closed-form expression is a mathematical expression
that uses a finite number of standard operations.
It may contain constants, variables, certain well-known operations (e.g. $+$ $-$ $\cdot$ $\div$),
and functions (e.g. n-th root, exponent, logarithm, trigonometric functions, and inverse hyperbolic functions),
but usually no limit, differentiation, or integration.
The set of operations and functions may vary with author and context.}
(\url{https://en.wikipedia.org/wiki/Closed-form_expression})\\
\say{An equation is said to be a closed-form solution if it solves a given problem in terms of functions and mathematical operations from a given generally-accepted set.
For example, an infinite sum would generally not be considered closed-form.
However, the choice of what to call closed-form and what not is rather arbitrary since a new "closed-form" function could simply be defined in terms of the infinite sum. }
(\url{https://mathworld.wolfram.com/Closed-FormSolution.html})
}
}
\newglossaryentry{latent_variable_model}{
name= Latent Variable Model,
description={
\say{Ein latentes Variablenmodell beschreibt den Zusammenhang zwischen beobachtbaren (oder manifesten) Variablen und dahinter liegenden latenten Variablen.
Ein Beispiel für eine latente Variable ist die Intelligenz.
Sie kann nicht direkt gemessen werden,
aber aus einer Vielzahl von Testergebnissen (den beobachtbaren Variablen)
können eine oder mehrere hinter den Testergebnissen liegende latente Variablen (Intelligenz) extrahiert werden.}
(\url{https://de.wikipedia.org/wiki/Latentes_Variablenmodell})
}
}
% }}} % % }}} %
% {{{ acronyms% % {{{ acronyms%
% {{{ acronym makros %
\newcommand{\glstopfull}[1]{\texorpdfstring{\glsxtrfull{#1}}{\glsfmtfull{#1}}}
\newcommand{\Glstopfull}[1]{\texorpdfstring{\Glsxtrfull{#1}}{\Glsfmtfull{#1}}}
\newcommand{\glstopfullpl}[1]{\texorpdfstring{\glsxtrfullpl{#1}}{\glsfmtfullpl{#1}}}
\newcommand{\Glstopfullpl}[1]{\texorpdfstring{\Glsxtrfullpl{#1}}{\Glsfmtfullpl{#1}}}
\newcommand{\glstopshort}[1]{\texorpdfstring{\glsxtrshort{#1}}{\glsfmtshort{#1}}}
\newcommand{\Glstopshort}[1]{\texorpdfstring{\Glsxtrshort{#1}}{\Glsfmtshort{#1}}}
\newcommand{\glstopshortpl}[1]{\texorpdfstring{\glsxtrshortpl{#1}}{\glsfmtshortpl{#1}}}
\newcommand{\Glstopshortpl}[1]{\texorpdfstring{\Glsxtrshortpl{#1}}{\Glsfmtshortpl{#1}}}
\newcommand{\glstoplong}[1]{\texorpdfstring{\glsxtrlong{#1}}{\glsfmtlong{#1}}}
\newcommand{\Glstoplong}[1]{\texorpdfstring{\Glsxtrlong{#1}}{\Glsfmtlong{#1}}}
\newcommand{\glstoplongpl}[1]{\texorpdfstring{\glsxtrlongpl{#1}}{\glsfmtlongpl{#1}}}
\newcommand{\Glstoplongpl}[1]{\texorpdfstring{\Glsxtrlongpl{#1}}{\Glsfmtlongpl{#1}}}
% }}} %
\setabbreviationstyle[acronym]{long-short} \setabbreviationstyle[acronym]{long-short}
\newacronym{KL}{KL}{Kullback-Leibler}
\newacronym{EM}{EM}{Expectation Maximization}
\newacronym{PCA}{PCA}{Principal Component Analysis} \newacronym{PCA}{PCA}{Principal Component Analysis}
\newacronym{GRU}{GRU}{Gated Recurrent Units} \newacronym{GRU}{GRU}{Gated Recurrent Units}
\newacronym{LSTM}{LSTM}{Long-term Short-term Memory} \newacronym{LSTM}{LSTM}{Long-term Short-term Memory}
@ -121,10 +168,11 @@
\newcommand{\nomeq}[1]{\glslink{#1}{\glsentrysymbol{#1}}} \newcommand{\nomeq}[1]{\glslink{#1}{\glsentrysymbol{#1}}}
% }}} Nomencalture Commands % % }}} Nomencalture Commands %
\newnom{summed_squared_error}{\gls{SSE}}{\text{\glsxtrshort{SSE}}}{\glsxtrfull{SSE}} \newnom{kl_divergence}{\glsxtrshort{KL}-Divergenz}{\text{\glsxtrshort{KL}}}{\nameref{sec:KL-Divergenz}(\cref{sec:KL-Divergenz})}
\newnom{sum_of_squared_distances}{\gls{SSD}}{\text{\glsxtrshort{SSD}}}{\glsxtrfull{SSD}} \newnom{summed_squared_error}{\glsxtrshort{SSE}}{\text{\glsxtrshort{SSE}}}{\glsxtrlong{SSE}}
\newnom{mean_squared_error}{\gls{MSE}}{\text{\glsxtrshort{MSE}}}{\glsxtrfull{MSE}} \newnom{sum_of_squared_distances}{\glsxtrshort{SSD}}{\text{\glsxtrshort{SSD}}}{\glsxtrlong{SSD}}
\newnom{residual_sum_squares}{\gls{RSS}}{\text{\glsxtrshort{RSS}}}{\glsxtrfull{RSS}} \newnom{mean_squared_error}{\glsxtrshort{MSE}}{\text{\glsxtrshort{MSE}}}{\glsxtrlong{MSE}}
\newnom{residual_sum_squares}{\glsxtrshort{RSS}}{\text{\glsxtrshort{RSS}}}{\glsxtrlong{RSS}}
\newnom{gaussian_noise}{Gausches Rauschen}{\epsilon}{zufällige (normalverteilte) Abweichung} \newnom{gaussian_noise}{Gausches Rauschen}{\epsilon}{zufällige (normalverteilte) Abweichung}
\newnom{vector_valued_function}{vektorwertige Funktion}{\bm\phi(\bm{x})}{vektorwertige Funktion der des Eingangsvektor $\bm{x}$} \newnom{vector_valued_function}{vektorwertige Funktion}{\bm\phi(\bm{x})}{vektorwertige Funktion der des Eingangsvektor $\bm{x}$}
\newnom{regularization_factor}{Regularisierungsfaktor}{\lambda}{} \newnom{regularization_factor}{Regularisierungsfaktor}{\lambda}{}
@ -146,7 +194,7 @@
\newnom{gaussian_process}{Gaußscher Prozess}{\mathcal{GP}}{} \newnom{gaussian_process}{Gaußscher Prozess}{\mathcal{GP}}{}
\newnom{hyper_parameters}{Hyper"~Parameter}{\bm{\beta}}{} \newnom{hyper_parameters}{Hyper"~Parameter}{\bm{\beta}}{}
\newnom{activation_function}{Aktivierungsfunktion}{\phi}{} \newnom{activation_function}{Aktivierungsfunktion}{\phi}{}
\newnom{dirac_delta}{Dirac Delta Function}{\delta}{$\delta_{ij} = \begin{cases} 1, &\text{ if }i = j\\ 0, &\text{ sonst } \end{cases}} \newnom{dirac_delta}{Dirac Delta Function}{\delta}{$\delta_{ij} = \begin{cases} 1, &\text{ if }i = j\\ 0, &\text{ sonst } \end{cases}$}
% }}} % % }}} %
\shorthandoff{"} \shorthandoff{"}

View File

@ -42,6 +42,7 @@
chapters/Classical_Unsupervised_Learning/Dimensionality_Reduction, chapters/Classical_Unsupervised_Learning/Dimensionality_Reduction,
chapters/Classical_Unsupervised_Learning/Clustering, chapters/Classical_Unsupervised_Learning/Clustering,
chapters/Classical_Unsupervised_Learning/Density_Estimation, chapters/Classical_Unsupervised_Learning/Density_Estimation,
chapters/Classical_Unsupervised_Learning/Expectation_Maximization,
chapters/Classical_Unsupervised_Learning/Variational_Auto-Encoders, chapters/Classical_Unsupervised_Learning/Variational_Auto-Encoders,
% %Mathematische_Grundlagen % %Mathematische_Grundlagen
%chapters/Mathematische_Grundlagen/Lineare_Algebra, %chapters/Mathematische_Grundlagen/Lineare_Algebra,
@ -100,6 +101,7 @@
\include{chapters/Classical_Unsupervised_Learning/Dimensionality_Reduction.tex} \include{chapters/Classical_Unsupervised_Learning/Dimensionality_Reduction.tex}
\include{chapters/Classical_Unsupervised_Learning/Clustering.tex} \include{chapters/Classical_Unsupervised_Learning/Clustering.tex}
\include{chapters/Classical_Unsupervised_Learning/Density_Estimation.tex} \include{chapters/Classical_Unsupervised_Learning/Density_Estimation.tex}
\include{chapters/Classical_Unsupervised_Learning/Expectation_Maximization.tex}
\include{chapters/Classical_Unsupervised_Learning/Variational_Auto-Encoders.tex} \include{chapters/Classical_Unsupervised_Learning/Variational_Auto-Encoders.tex}
\part{Mathematische Grundlagen} \part{Mathematische Grundlagen}

View File

@ -138,7 +138,7 @@ obwohl es eigentlich eine Klasifizierung ist (alte Funktion; früher war man bei
\end{equation} \end{equation}
Für diese Funktion kann gezeigt werden, Für diese Funktion kann gezeigt werden,
dass sie konvex ist (es existiert nur ein globales Maximum). dass sie konvex ist (es existiert nur ein globales Maximum).
Allerdings handelt es sich anders als bei der linearen Regression (\cref{cha:Linear Regression}) nicht um eine \say{Closed Form Solution}, Allerdings handelt es sich anders als bei der linearen Regression (\cref{cha:Linear Regression}) nicht um eine \say{\gls{closed_form_solution}},
was bedeutet, was bedeutet,
dass hier der \nameref{sec:Gradient Descent} für die Optimierung verwendet wird. dass hier der \nameref{sec:Gradient Descent} für die Optimierung verwendet wird.

View File

@ -6,8 +6,8 @@ dass die Auswahl der Ähnlichkeit sehr subjektiv sein kann.
Das Ziel ist es ein Ähnlichkeitsmaß zu finden, Das Ziel ist es ein Ähnlichkeitsmaß zu finden,
dass die Datenpunkte in die vom Anwender gewünschten Gruppen clustert. dass die Datenpunkte in die vom Anwender gewünschten Gruppen clustert.
\section{K-Means Lagorithm}% \section{K-Means Algorithm}%
\label{sec:K-Means Lagorithm} \label{sec:K-Means Algorithm}
Das Ziel des K-Means Algorithmus ist es eine vorgegebene Anzahl an Clustern zu finden. Das Ziel des K-Means Algorithmus ist es eine vorgegebene Anzahl an Clustern zu finden.
Das Ziel ist es die \gls{SSD} zu reduzieren. Das Ziel ist es die \gls{SSD} zu reduzieren.
\begin{equation} \label{eq:SSD} \begin{equation} \label{eq:SSD}
@ -70,7 +70,7 @@ Das Ziel ist es die \gls{SSD} zu reduzieren.
\end{subfigure} \end{subfigure}
\caption{K-Means Algorithmus in Aktion} \caption{K-Means Algorithmus in Aktion}
\label{fig:} \label{fig:k-means_algorithm_in_action}
\end{figure} \end{figure}
\subsection{Konvergenz}% \subsection{Konvergenz}%

View File

@ -131,4 +131,27 @@ Die Verteilung des Mixture Models berechnet sich hierbei als Summe der Teilverte
\subsection{\texorpdfstring{\glsxtrfullpl{GMM}}{\glsfmtfullpl{GMM}}}% \subsection{\texorpdfstring{\glsxtrfullpl{GMM}}{\glsfmtfullpl{GMM}}}%
\label{sub:GMMs} \label{sub:GMMs}
\includegraphics[scale = .6]{GMMs.png} \includegraphics[scale = .6]{GMMs.png}\\
Die \glslink{marginal}{marginal} Log-Likelihood (\cref{sec:Example: Gaussian Distribution}) für $N$ \gls{iid} Datenpunkte ist gegeben durch
\begin{equation} \label{eq:maximum_likelihood_for_GMM}
\mathcal L = \log L(\bm\theta) = \sum_{i=1}^N \log \underbrace{p_{\bm\theta}(\bm x_i)}_{\text{marginal}}
= \sum_{i=1}^N \log \underbrace{\left( \sum_{k=1}^K \pi_k \nomeq{gaussian_distribution}(\bm x_i|\bm\mu_k,\nomeq{covariance}_k) \right)}_{\text{non-exponential family}}
\end{equation}
Um einen \nameref{cha:Gradient Descent} (\cref{cha:Gradient Descent}) auf diesen Daten durchzuführen,
muss geprüft werden,
ob sich diese Funktion differenzieren lässt.
\begin{align} \label{eq:GMM_gradient_descent}
\frac{\partial\mathcal L}{\partial \bm\mu_j}
&= \sum_{i=1}^N \frac{\pi_j\nomeq{gaussian_distribution}(\bm x_i|\bm\mu_j,\nomeq{covariance}_j)}
{\sum_{k=1}^K \pi_k\nomeq{gaussian_distribution}(\bm x_i|\bm\mu_k,\nomeq{covariance}_k)}\nomeq{covariance}_j^{-1}(\bm x_i - \bm\mu_j)\\
&= \dots \text{ \color{red} Herleitung Vorlesung 11 Folie 7 }\\
&= \sum_{i=1}^N \nomeq{covariance}_j^{-1} (\bm x_i - \bm\mu_j)p(j|\bm x_i)
\end{align}
Dies zeigt,
dass der Einsatz des \nameref{cha:Gradient Descent} Verfahrens für \glspl{GMM} zwar möglich ist,
aber der Gradient von allen anderen Komponenten abhängig ist.
Zudem hat er keine \gls{closed_form_solution},
weshalb kein anderes (in der Vorlesung behandeltes) Verfahren als der \nameref{cha:Gradient Descent} in Frage kommt.
Leider ist hierbei die Konvergenz meist sehr langsam.
Die goto-Lösung für dieses Problem ist das \nameref{cha:Expectation Maximization} Verfahren (\cref{sec:Expectation Maximization for GMMs}).

View File

@ -0,0 +1,208 @@
\chapter{\glstopfull{EM}}%
\label{cha:Expectation Maximization}
\gls{EM} ist ein Verfahren zur Optimierung,
welches auf alle \glspl{latent_variable_model} angewandt werden kann,
wobei jedes \gls{latent_variable_model} bekannte Variablen $\bm x$ und unbekannte Variablen $\bm z$ enthält.
Hierdurch ergibt sich
\begin{itemize}
\item Parametric model:\tabto{4cm}$p_{\bm\theta}(\bm x,\bm z)$
\item \glslink{marginal}{Marginal distribution}:\tabto{4cm}$\underbrace{p_{\bm\theta}(\bm x) = \sum_z p(\bm x,z)}_{\text{discrete latent variable}},
\qquad \underbrace{p_{\bm\theta} = \int_{\bm z} p_{\bm\theta}(\bm x,\bm z) d\bm z}_{\text{continuous latent variable}} $
\end{itemize}
Das Ziel ist es die (\glslink{marginal}{marginal}) Log-Likelihood
\begin{equation} \label{eq:latent_variable_model_marginal_log-likelihood}
L(\bm\theta) = \sum_{i=1}^N \log p_{\bm\theta}(\bm x_i) = \sum_{i=1}^N \log \left( \sum_z p_{\bm\theta}(\bm x_i,z) \right)
\end{equation}
zu optimieren.
Zwei Verfahren für die Durchführung der \gls{EM} sind bekannt,
wobei in der Vorlesung nur auf die \nameref{sec:Decomposition in lower-bound and KL-term} eingegangen wird.
Bei der \gls{EM} handelt es sich um ein Verfahren,
welches lediglich ein lokales Optimum findet,
weshalb die Initialisierung sehr wichtig ist.
Hierbei werden die Cluster-Mittelpunkte meist über den \nameref{sec:K-Means Algorithm}us approximiert und ein fester Wert für die Kovarianzen gewählt.
\section{Decomposition in lower-bound and \glstopshort{KL}-term}%
\label{sec:Decomposition in lower-bound and KL-term}
Die \glslink{marginal}{Marginal} Log-Likelihood eines \gls{latent_variable_model}s lässt sich wie folgt zerlegen (Herleitung: {\color{red}Vorlesung 11 Folie 24})
\begin{align} \label{eq:decomposition_in_lower-bound_and_KL-term}
\underbrace{\log p(\bm x|\bm\theta)}_{\text{\glslink{marginal}{marginal} log-like}}
&= \mathcal L(q|\bm\theta) + \nomeq{kl_divergence}(q(z)\|p(z|\bm x))\\
&= \underbrace{\sum_z q(z)\log \frac{p(\bm x,z|\bm\theta)}{q(z)}}_{\text{Lower-Bound $\mathcal L(q,\bm\theta)$}}
+ \underbrace{\sum_z q(z)\log \frac{q(z)}{p(z|\bm x)}}_{\text{\noms{kl_divergence}: $\nomeq{kl_divergence}(q(z)\|p(z|\bm x))$}}
\end{align}
Nach dieser Zerlegung wird die \gls{EM} zu einem iterativen Verfahren mit 2 Schritten (\nameref{sub:Expectation-Step} und \nameref{sub:Maximization-Step}).
Dieses Verfahren funktioniert auch,
wenn nicht nur ein einzelner Datenpunkt $\bm x$ betrachtet wird.
Für einen Datensatz mit mehreren Datenpunkten definiert sich die Lower-Bound Funktion durch
\begin{equation} \label{eq:lower-bound_for_dataset}
\mathcal L(q,\bm\theta) = \sum_i \left( \int_z q_i(z)\log p(\bm x_i,z|\bm\theta)dz - \int_z q_i(z)\log q_i(z)dz \right)
\end{equation}
\begin{itemize}
\item eine latente Variable $z_i$ für jeden Datenpunkt $\bm x_i$
\item wenn $z$ diskret mit $K$ verschiedenen Werten ist, gilt $q_i(z=k) = p(z=k|\bm x_i,\bm\theta_{\text{old}})$.
Dies kann als eine $N\times K$ Matrix dargestellt werden.
\end{itemize}
\subsection{Expectation-Step}%
\label{sub:Expectation-Step}
Der Expectation-Step ist der erste der 2 Schritte der \gls{EM} mit \nameref{sec:Decomposition in lower-bound and KL-term}.
Hierbei ist es das Ziel,
das $q(z)$ zu finden,
welches die \gls{KL} Divergenz (\cref{sec:KL-Divergenz}) minimiert.
\begin{equation} \label{eq:expectation_step}
q(z) = \argmin_q \nomeq{kl_divergence}(q(z)\|p(z|\bm x))
\end{equation}
Für diskrete $z$ (z.B. bei \nameref{sec:Mixture Models}) hat dieses Problem eine \gls{closed_form_solution}.
\begin{equation} \label{eq:expectation_step_closed_form_solution}
q(z) = p(z|\bm x,\bm\theta_{\text{old}}) = \frac{p(\bm x,z|\bm\theta_{\text{old}})}{\sum_z p(\bm x,z|\bm\theta_{\text{old}})}
\end{equation}
Dies hat zur folge,
dass (für diskrete $z$) $\nomeq{kl_divergence}(q(z)\|p(z|\bm x)) = 0$ und daher wegfällt,
weshalb nach dem Expectation-Step $\log p(\bm x|\bm\theta) = \mathcal L(q,\bm\theta)$ gilt.
\subsection{Maximization-Step}%
\label{sub:Maximization-Step}
Nachdem im Expectation-Step die \gls{KL} Divergenz minimiert wurde (0 für diskrete $z$),
kann nun die Lower-Bound maximiert werden um im Gegenzug die gesamte Log-Likelihood zu erhöhen (maximieren (für diskrete $z$)).
\begin{equation} \label{eq:maximization-step}
\bm\theta = \argmax_{\bm\theta}\mathcal L(q,\bm\theta)
= \argmax_{\bm\theta}\sum_z q(z)\log p(\bm x,z|\bm\theta) + \text{const}
\end{equation}
\begin{itemize}
\item $q(z) = p(z|\bm x,\bm\theta_{\text{old}})$
\end{itemize}
\section{\glstoplong{EM} for \glstopshortpl{GMM}}%
\label{sec:Expectation Maximization for GMMs}
\begin{mybox}
\textbf{\Large \glsxtrshort{EM} for \glsxtrshortpl{GMM}}\\
\begin{enumerate}
\item \textbf{Initialisierung:} Komponenten und Koeffizienten des \gls{GMM} (z.B. auf Basis von k-means) erstellen
\item \textbf{Expectation"~Step:} Responsibilities errechnen
\begin{equation*}
q_{ik} = \frac{\pi_k\nomeq{gaussian_distribution}(\bm x_i|\bm\mu_k,\nomeq{covariance}_k)}{\sum_{j=1}^K \pi_j\nomeq{gaussian_distribution}(\bm x_i|\bm\mu_j,\nomeq{covariance}_j)}
\end{equation*}
\item \textbf{Maximization"~Step:} Koeffizienten, Komponenten"~Durchschnitte und Kom\-po\-nen\-ten"~Va\-ri\-an\-zen updaten
(Herleitung: {\color{red} Vorlesung 11 Folie 16})
\begin{equation*}
\pi_k = \dfrac{\sum_i q_{ik}}{N}\qquad
\bm\mu_k = \dfrac{\sum_i q_{ik}\bm x_i}{\sum_i q_{ik}}
\qquad\nomeq{covariance}_k = \dfrac{\sum_i q_{ik}(\bm x_i - \bm\mu_k)(\bm x_i - \bm\mu_k)^T}{\sum_i q_{ik}}
\end{equation*}
\item Falls noch kein ausreichende Konvergenz erreicht ist, ab Schritt 2 wiederholen
\end{enumerate}
\end{mybox}
Aus \cref{sub:GMMs} ist bekannt,
dass die \glslink{marginal}{marginal} Log-Likelihood nicht gut für den \nameref{cha:Gradient Descent} (\cref{cha:Gradient Descent}) geeignet ist.
Das Problem ist vor allem deshalb schwer zu lösen,
da nicht bekannt ist,
zu welcher Teil-Komponente des \gls{GMM} ein einzelner Datenpunkt gehört.
Hierbei stellen die Datenpunkte $\bm x$ die bekannten Variablen (observed variables) dar
und die Zugehörigkeit der Datenpunkte zu den jeweiligen Teilkomponenten die latenten Variablen (latent variables) dar.
Daher ist jedes Mixture Model auch ein \gls{latent_variable_model},
auf welches das Verfahren des \glsxtrlong{EM} angewandt werden kann.
Wäre $p(\bm x_i,k|\bm\theta)$ bekannt wäre es sehr einfach eine Maximum Likelihood Abschätzung (\cref{sec:MLE}) durchzuführen:
\begin{itemize}
\item $q_{ik} = \mathbb{I}(k,k_i) = \begin{cases} 1, &\text{ wenn der $i$-te Datenpunkt zur $k$-ten Komponente gehört }\\ 0, &\text{ sonst } \end{cases}$
\item Koeffizienten:\tabto{3cm}$\pi_k = \dfrac{\sum_i q_{ik}}{N}$
\item Durchschnitte:\tabto{3cm}$\bm\mu_k = \dfrac{\sum_i q_{ik}\bm x_i}{\sum_i q_{ik}}$
\item Kovarianzen:\tabto{3cm}$\nomeq{covariance}_k = \dfrac{\sum_i q_{ik}(\bm x_i - \bm\mu_k)(\bm x_i - \bm\mu_k)^T}{\sum_i q_{ik}}$
\end{itemize}
Die Zugehörigkeit (cluster probability\slash\,responsibilites) $q_{ik}$ kann wiederum mithilfe des \gls{GMM} errechnet werden.
\begin{equation} \label{eq:responsibilites_GMM}
q_{ik} = p(k_i=k|\bm x_i) = \frac{p(\bm x_i|k)p(k)}{\sum_j p(\bm x_i|j)p(j)}
= \frac{\pi_k\nomeq{gaussian_distribution}(\bm x_i|\bm\mu_k,\nomeq{covariance}_k)}{\sum_{j=1}^K \pi_j\nomeq{gaussian_distribution}(\bm x_i|\bm\mu_j,\nomeq{covariance}_j)}
\end{equation}
Hierdurch ergibt sich allerdings ein Henne"~Ei"~Problem.
Für die Ermittlung des \gls{GMM} brauchen wir die Responsibility $q_{ik}$ und umgekehrt.
Um dieses Problem zu umgehen wird das \gls{GMM} zunächst auf Basis einer Approximation (z.B. mittels k-means-Algorithmus) initialisiert
und anschließend der Expectation-Step und Maximization-Step solange wiederholt,
bis das \gls{GMM} konvergiert.
\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{EM_for_GMM.png}
\caption{Beispielhafte Anwendung von \texorpdfstring{\glsxtrlong{EM}}{\glsfmtlong{EM}} an einem \texorpdfstring{\glsxtrshort{GMM}}{\glsfmtshort{GMM}}}
\label{fig:EM_for_GMM}
\end{figure}
\section{\glstopshort{EM} for Dimensionality Reduction}%
\begin{mybox}
\textbf{\Large \glsxtrshort{EM} for \nameref{cha:Dimensionality Reduction}} \\
\begin{enumerate}
\item \textbf{Initialisierung:} \noms{mean} von $\bm x$ für $\bm\mu$ verwenden, zufällige Matrix $\bm W$ generieren
\item \textbf{Expectation-Step:} Posterior, \noms{mean} und \noms{covariance} errechnen
\begin{equation} \label{eq:EM_for_dimensionality_reduction_expectation-step}
\bm\mu_{\bm z|\bm x_i} = (\bm W^T\bm W + \nomeq{variance}\nomeq{identity_matrix})^{-1}\bm W^T(\bm x_i-\bm\mu),\qquad
\nomeq{covariance}_{\bm z|\bm x_i} = \nomeq{variance}(\bm W^T\bm W + \nomeq{variance}\nomeq{identity_matrix})^{-1}
\end{equation}
\begin{itemize}
\item $\bm z_i\sim\nomeq{gaussian_distribution}(\bm\mu_{\bm_z|\bm x_i},\nomeq{covariance}_{\bm q,\bm x_i})$
\end{itemize}
\item \textbf{Maximization-Step:} $\bm W$, $\bm\mu$ und \nomsym{variance} updaten
\begin{align}
\begin{bmatrix} \bm\mu\\\bm W \end{bmatrix} &= (\bm Z^T\bm Z)^{-1}\bm Z^T\bm X,\quad
\text{ mit } \bm Z = \begin{bmatrix} 1 & \bm z_1^T \\ \vdots&\vdots \\ 1 & \bm z_n^T \end{bmatrix}
\text{ und } \bm X = \begin{bmatrix} \bm x_1^T \\\vdots\\ \bm x_n^T \end{bmatrix}
\label{eq:EM_for_dimensionality_reduction_maximization-step_1} \\
\nomeq{variance} &= \frac{1}{nd}\sum_{i=1}^n\sum_{k=1}^d(y_{ik} - x_{ik})^2,\quad\text{ mit } \bm y_i = \bm W\bm z_i + \bm\mu
\label{eq:EM_for_dimensionality_reduction_maximization-step_2}
\end{align}
\end{enumerate}
\end{mybox}
\label{sec:EM for Dimensionality Reduction}
Das \gls{EM} Verfahren kann auch zur \nameref{cha:Dimensionality Reduction} (\cref{cha:Dimensionality Reduction}) verwendet werden.
Allerdings wird dieses Verfahren seit der Entdeckung der \nameref{sub:PCA} (\cref{sub:PCA}) kaum noch verwendet.
Die \nameref{cha:Dimensionality Reduction} lässt sich als \gls{latent_variable_model} formulieren:
\begin{equation} \label{eq:dimensionality_reduction_latend_variable_model}
\bm x = \bm W \bm z + \bm\mu + \bm\epsilon
\end{equation}
\begin{itemize}
\item $\bm z$ ist die latente Variable (die Repräsentation in einer kleineren Dimension)
\item $\bm W$ ist eine $D\times M$ Matrix, die eine Verbindung zwischen $\bm z\in\mathbb{R}^M$ und $\bm x\in\mathbb{R}^D$ herstellt ($M<D$)
\item $\bm\mu$ ist ein konstanter Offset-Vektor
\item $\bm\epsilon$ ist ein d-dimensionaler gaußscher Störvektor $\bm\epsilon \sim \nomeq{gaussian_distribution}(0,\nomeq{variance}\nomeq{identity_matrix})$
\end{itemize}
Die \glslink{marginal}{Marginal} Likelihood ist gegeben durch:
\begin{equation} \label{eq:EM_for_dimensionality_reduction_marginal_likelihood}
p(x|\bm\theta) = \int_{\bm z} p(\bm x|\bm z,\bm\theta)p(\bm z)d\bm z
= \int_{\bm z} \nomeq{gaussian_distribution}(\bm x|\bm W\bm z + \bm\mu,\nomeq{variance}\nomeq{identity_matrix})\nomeq{gaussian_distribution}(\bm z|0,\nomeq{identity_matrix}) d\bm z
\end{equation}
\begin{itemize}
\item Sample Latent Variable $\bm z\sim\nomeq{gaussian_distribution}(0,\nomeq{identity_matrix})$
\item Continuous Latent Variable $p(\bm z) = \nomeq{gaussian_distribution}(0,\nomeq{identity_matrix})$
\item Observation Model $p(\bm x|\bm z,\bm\theta = \nomeq{gaussian_distribution}(\bm W\bm z) + \bm\mu,\nomeq{variance}\nomeq{identity_matrix})$
\end{itemize}
\subsection{Expectation-Step}%
\label{sub:EM for Dimensionality Reduction: Expectation-Step}
\includegraphics[scale=.6]{EM_for_Dimensionality_Reduction_expectation-step.png}
\subsection{Maximization-Step}%
\label{sub:EM for Dimensionality Reduction: Maximization-Step}
Die Lower-Bound kann in Bezug auf $\bm\theta$ bestimmt werden.
\begin{align} \label{eq:EM_for_dimensionality_reduction_lower_bound}
\mathcal L(q,\bm\theta) &= \sum_i \left( \int_{\bm z} q_i(\bm z)\log p(\bm x_i,z|\bm\theta)dz - \int_{\bm z}q_i(\bm z)\log q_i(z)dz \right) \\
&= \dots\text{ Herleitung: {\color{red} Vorlesung 11 Folie 38} }\\
&= \sum_i \int_{\bm z} q_i(\bm z)\log p(\bm x_i|\bm z\bm\theta)d\bm z + \underbrace{\text{const}}_{\text{independent of $\bm\theta$}}
= \sum_i \mathbb{E}_{q_i(\bm z)}[\log p(\bm x_i|\bm z,\bm\theta)] + \underbrace{\text{const}}_{\text{independent of $\bm\theta$}}
\end{align}
Bei $\mathbb{E}_{q_i(\bm z)}$ handelt es sich um eine Approximation des Integrals auf Basis von Sample-Datenpunkten.
Hierfür wird zumeist die Monte-Carlo Abschätzung (\cref{sub:Monte-carlo estimation}) verwendet.
Hierbei ergibt sich (Herleitung: {\color{red} Vorelsung 11 Folie 40}):
\begin{align}
\begin{bmatrix} \bm\mu\\\bm W \end{bmatrix} &= (\bm Z^T\bm Z)^{-1}\bm Z^T\bm X,\quad
\text{ mit } \bm Z = \begin{bmatrix} 1 & \bm z_1^T \\ \vdots&\vdots \\ 1 & \bm z_n^T \end{bmatrix}
\text{ und } \bm X = \begin{bmatrix} \bm x_1^T \\\vdots\\ \bm x_n^T \end{bmatrix}
\tag{\ref{eq:EM_for_dimensionality_reduction_maximization-step_1}} \\
\nomeq{variance} &= \frac{1}{nd}\sum_{i=1}^n\sum_{k=1}^d(y_{ik} - x_{ik})^2,\quad\text{ mit } \bm y_i = \bm W\bm z_i + \bm\mu
\tag{\ref{eq:EM_for_dimensionality_reduction_maximization-step_2}}
\end{align}
\subsection{Probabilistic \glstopshort{PCA} vs. \glstopshort{PCA}}%
\label{sub:Probabilistic PCA vs. PCA}
In den meisten Fällen ist das normale \gls{PCA} Verfahren (\cref{sub:PCA}) der Anwendung von \say{\gls{EM} for Dimensionality Reduction} (a.k.a. Probabilistic \gls{PCA}) vorzuziehen,
vor allem, da \gls{PCA} ein sehr recheneffizientes Verfahren ist.
Nur wenn eine Dichteabschätzung benötigt wird,
ist die Anwendung der der \say{\gls{EM} for Dimensionality Reduction} sinnvoll.

View File

@ -217,3 +217,16 @@ In diesem Zusammenhang berechnet sich die \gls{MLE} durch:
\log\text{lik}(\bm{\theta};D) = \sum_i \log p_{\bm{\theta}}(y_i|x_i) \log\text{lik}(\bm{\theta};D) = \sum_i \log p_{\bm{\theta}}(y_i|x_i)
\end{equation} \end{equation}
{\color{red} Erklärung: siehe Folien 21 und 22 in Vorlesung 2} {\color{red} Erklärung: siehe Folien 21 und 22 in Vorlesung 2}
\section{\glstoplong{KL} Divergenz}%
\label{sec:KL-Divergenz}
Die \gls{KL} Divergenz ist ein wichtiges Ähnlichkeitsmaß für Verteilungen.
\begin{equation} \label{eq:KL-divergence}
\nomeq{kl_divergence}(q(\bm x)\|p(\bm x)) = \sum_{\bm x}\log \frac{q(\bm x)}{p(\bm x)}
\end{equation}
Die \gls{KL} Divergenz hat folgende Eigenschaften:
\begin{itemize}
\item nicht negativ:\tabto{9cm}$\nomeq{kl_divergence}(q\|p)\ge0$
\item falls sie 0 ist, sind beide Verteilungen identisch:\tabto{9cm}$\nomeq{kl_divergence}(q\|p)=0\Leftrightarrow q=p$
\item nicht symmetrisch: $\nomeq{kl_divergence}(q\|p)\ne\nomeq{kl_divergence}(p\|q)$
\end{itemize}

View File

@ -15,7 +15,7 @@ sondern im zeitlichen Sinne zu verstehen (mehrere Eingaben\slash\,Ausgaben hinte
\centering \centering
\includegraphics[width=0.5\linewidth]{vanilla_rnn.png} \includegraphics[width=0.5\linewidth]{vanilla_rnn.png}
\caption{Vanilla \texorpdfstring{\glsxtrshort{RNN}}{\glsfmtshort{RNN}}} \caption{Vanilla \texorpdfstring{\glsxtrshort{RNN}}{\glsfmtshort{RNN}}}
\label{fig:} \label{fig:vanilla_rnn}
\end{wrapfigure} \end{wrapfigure}
\glspl{RNN} unterscheiden sich vor allem darin von \glspl{CNN}, \glspl{RNN} unterscheiden sich vor allem darin von \glspl{CNN},
dass sie zu jedem Zeitpunkt einen festen Zustand $h$ haben. dass sie zu jedem Zeitpunkt einen festen Zustand $h$ haben.

Binary file not shown.

After

Width:  |  Height:  |  Size: 633 KiB

BIN
images/EM_for_GMM.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB