forked from TH_General/Template_Summary
124 lines
6.5 KiB
TeX
124 lines
6.5 KiB
TeX
\chapter{Dimensionality Reduction}%
|
|
\label{cha:Dimensionality Reduction}
|
|
Das Ziel der Dimensionality Reduction ist es,
|
|
einen Datensatz mit vielen Features (hohe Dimensionalität) zu vereinfachen.
|
|
Dies ist vor allem dann hilfreich,
|
|
wenn die Daten visualisiert werden.
|
|
Zudem ist es ein guter Preprocessing Schritt für andere ML-Algorihmen.
|
|
Ein Beispiel hierfür ist die \dref{cha:Linear Regression},
|
|
bei welcher eine Invertierung einer Matrix von nöten ist,
|
|
deren Größe von der Dimension der Datenpunkte abhängt.
|
|
Ist diese Dimension reduziert ergibt sich daraus logischerweise ein geringerer Rechenaufwand.
|
|
|
|
\section{Linear Dimensionality Reduction}%
|
|
\label{sec:Linear Dimensionality Reduction}
|
|
Bei der Linear Dimensionality Reduction wird versucht,
|
|
Features zu entfernen,
|
|
indem diese durch Linearkombinationen anderer Features ersetzt\slash\,approximiert werden.
|
|
|
|
Es ist also das Ziel ein lineares Mapping zu finden,
|
|
dass einen Datenpunkt $\bm x_i\in D$ auf einen neuen Datenpunkt $\bm z_i\in M$ abbildet ($D>>M$)
|
|
\begin{equation}
|
|
\label{eq:linear_dimensionality_reduction}
|
|
\bm z_i = \bm W \bm x_i\text{ mit }\bm W \in \mathbb{R}^{M\times D}
|
|
\end{equation}
|
|
Wir wissen,
|
|
dass sich jeder Vektor $\bm x$ in Bezug zu einem Orthonormal Basis Coordinate System definieren lässt.
|
|
Hierbei ergibt sich der Vektor durch
|
|
\begin{equation} \label{eq:orthonormal_basis_representation}
|
|
\bm x \sum_{i=1}^D z_i\bm u_i
|
|
\end{equation}
|
|
\begin{itemize}
|
|
\item $\bm u_i$ sind Basisvektoren
|
|
\item $\bm u_i^T\bm u_j = \nomeq{dirac_delta}_{ij}$
|
|
\item Das Produkt von zwei Basisvektoren ist 0
|
|
\item die Norm eines Basisvektors ist 1
|
|
\item $z_i$ ist der Scalar Coefficient und kann durch die Projektion von $\bm x$ auf den jeweiligen Basisvektor ermittelt werden
|
|
\begin{equation} \label{eq:scalar_coefficient}
|
|
z_i = \bm u_i^T\bm x
|
|
\end{equation}
|
|
\end{itemize}
|
|
Um die Dimensionalität zu reduzieren ist es nun entscheidend,
|
|
nur die Basisvektoren zu verwenden,
|
|
die den geringsten Einfluss auf $\bm x$ haben
|
|
\begin{equation} \label{eq:linear_dimensionality_reduction_decomposition}
|
|
\bm x = \underbrace{\sum_{i=1}^M z_i\bm u_i}_{\tilde{\bm x}\approx\bm x} + \underbrace{\sum_{j=M+1}^D z_j\bm u_j}_{\text{wird gestrichen}}
|
|
\end{equation}
|
|
Anders gesagt,
|
|
es wird die Teilmenge von Basisvektoren gesucht,
|
|
die den geringsten Reproduction Error haben.\\(hier: Mean Squared Reproduction Error)
|
|
\begin{equation} \label{eq:mean_squared_reproduction_error}
|
|
\argmin_{\bm u_1,\dots,\bm u_M} E(\bm u_1,\dots,\bm u_M) = \argmin_{\bm u_1,\dots,\bm u_M}\sum_{i=1}^N \|\bm x_i - \tilde{\bm x_i}\|^2
|
|
\end{equation}
|
|
|
|
\section{Minimizing the Error}%
|
|
\label{sec:Minimizing the Error}
|
|
Für einen einzelnen Basisvektor $\bm u_i$ ist lässt sich der Error durch
|
|
\begin{align} \label{eq:single_basis_vector_error}
|
|
E(\bm u_1) &= \sum_{i=1}^N \| \bm x_i - \tilde{\bm x_i} \|^2 \\
|
|
&= \dots\text{ {\color{red} Herleitung in Gesamtfoliensatz Folie 650} } \\
|
|
&= \sum_{i=1}^N\bm x_i^T\bm x_i - z_{i1}^2\\
|
|
&\Rightarrow \argmin_{\bm u_1}E(\bm u_1)
|
|
= \argmax_{\bm u_1}\sum_{i=1}^N z_{i1}^2
|
|
= \argmax_{\bm u_1} \sum_{i=1}^N(\bm u_1^T\bm x_i)^2
|
|
\end{align}
|
|
Hierdurch wird gezeigt,
|
|
dass die Minimierung des Errors,
|
|
wenn $\nomeq{mean} = 0$,
|
|
gleichbedeutend mit der Maximierung der Varianz der Projektion ist.
|
|
$\nomeq{mean}=0$ kann sichergestellt werden,
|
|
indem $\bm x$ durch $\overline{\bm x}_i = \bm x_i -\bm\mu$ ersetzt wird.
|
|
|
|
\subsection{\texorpdfstring{\glsxtrfull{PCA}}{\glsfmtfull{PCA}}}%
|
|
\label{sub:PCA}
|
|
\begin{mybox}
|
|
\textbf{\Large \glsxtrfull{PCA}}\\
|
|
\begin{enumerate}
|
|
\item Daten zentrieren (Durchschnitt berechnen und von den Daten subtrahieren)
|
|
\item \noms{covariance} errechnen, in Eigendekomposition zerlegen und die $M$ größten Eigenwerte und zugehörigen Eigenvektoren ermitteln
|
|
\item Die ermittelten Eigenvektoren sind die Basisvektoren der neuen Darstellung
|
|
\item Projektion mithilfe von $\bm W = \begin{bmatrix} \bm u_1 & \cdots & \bm u_M \end{bmatrix}$
|
|
\begin{itemize}
|
|
\item zur kleinen Dimension: \tabto{3cm}$\bm z_i = \bm W^T(\bm x_i - \bm\mu)$
|
|
\item zur großen Dimension: \tabto{3cm}$\bm \tilde{\bm x}_i = \bm\mu + \bm W\bm z_i$
|
|
\end{itemize}
|
|
\end{enumerate}
|
|
\end{mybox}
|
|
Das Verfahren zur Ermittlung der Basisvektoren welche die Varianz Maximieren wird als \gls{PCA} bezeichnet
|
|
und ist ein sehr bekannter Algorithmus,
|
|
welcher vor allem zur Datenvorverarbeitung für andere ML-Algorithmen verwendet wird.
|
|
Der erste Basisvektor,
|
|
welcher auch als \say{first principal direction} bezeichnet wird,
|
|
ist definiert als
|
|
\begin{equation} \label{eq:PCA}
|
|
\bm u_1 = \argmax_{\bm u}\frac{1}{N}\sum_{i=1}^N (\bm u^T \underbrace{(\bm x_i -\bm\mu)}_{\overline{\bm x}_i})^2
|
|
\end{equation}
|
|
Die \say{second principal direction} ist der Basisvektor,
|
|
welcher als orthogonales Komplement des ersten Basisvektor die Varianz maximiert.
|
|
|
|
Das Maximierungsproblem kann in eine \dref{cha:Constraint Optimization} umgeschrieben werden (Herleitung: {\color{red} Gesamtfoliensatz Folie 653}).
|
|
\begin{equation} \label{eq:PCA_constrained_optimization}
|
|
\bm u_1 = \argmax_{\bm u} \bm u^T\nomeq{covariance}\bm u
|
|
\end{equation}
|
|
Mithilfe der Lagrangian Optimization (\ref{sec:Lagrangian Multipliers}) ergibt sich hieraus der Optimale Zustand für $\bm u$
|
|
\begin{equation} \label{eq:PCA_optimal_condition}
|
|
\nomeq{covariance}\bm u = \lambda\bm u
|
|
\end{equation}
|
|
Hierbei handelt sich um ein Eigenwertproblem,
|
|
bei dem der der größte Eigenwert die maximale Varianz und der zugehörige Eigenvektor (\cref{sec:Eigenwerte und Eigenvektoren}) den Basisvektor mit der maximalen Varianz vorgibt.
|
|
Alle Eigenwerte $\lambda_k\approx 0$ sind hierbei die Dimensionen,
|
|
die ohne signifikante Änderung der Daten weggelassen werden können.\\
|
|
(Annahme: nach Größe sortierte Eigenwerte und $k>M$)
|
|
\begin{equation} \label{eq:PCA_solution}
|
|
\bm x_i - \bm\mu = \underbrace{\sum_{j=1}^M z_{ij}\bm u_j}_{\tilde{\bm x}} + \underbrace{\sum_{j=M+1}^D z_{ij}\bm u_j}_{\approx 0}
|
|
\Rightarrow \bm x_i\approx \bm\mu + \sum_{j=1}^M z_{ij}\bm u_j
|
|
\end{equation}
|
|
Die Schwelle $M$ kann hierbei Wahlweise durch Ausprobieren oder durch eine Schwelle für die minimale Varianz (z.B. $\eta = 0.9$) gewählt werden.
|
|
\begin{equation} \label{eq:M_selection}
|
|
\text{wähle $M$, sodass }\sum_{i=1}^M \lambda_i = \eta\sum_{i=1}^D\lambda_i
|
|
\end{equation}
|
|
|
|
\subsubsection{Anwendungsbeispiele}%
|
|
\label{ssub:PCA:Anwendungsbeispiele}
|
|
{\color{red} Gesamtfoliensatz Folien 661 - 667}
|