forked from TH_General/Template_Summary
Dimensionality Reduction hinzugefügt.
This commit is contained in:
parent
6bb66b91cd
commit
efcd027d12
@ -61,6 +61,7 @@
|
||||
% {{{ acronyms%
|
||||
\setabbreviationstyle[acronym]{long-short}
|
||||
|
||||
\newacronym{PCA}{PCA}{Principal Component Analysis}
|
||||
\newacronym{GRU}{GRU}{Gated Recurrent Units}
|
||||
\newacronym{LSTM}{LSTM}{Long-term Short-term Memory}
|
||||
\newacronym{BPTT}{BPTT}{Backpropagation through time}
|
||||
@ -142,6 +143,7 @@
|
||||
\newnom{gaussian_process}{Gaußscher Prozess}{\mathcal{GP}}{}
|
||||
\newnom{hyper_parameters}{Hyper"~Parameter}{\bm{\beta}}{}
|
||||
\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}}
|
||||
% }}} %
|
||||
|
||||
\shorthandoff{"}
|
||||
|
@ -18,38 +18,39 @@
|
||||
\def \DATE{\today}
|
||||
|
||||
\includeonly{
|
||||
%Einleitu%ng
|
||||
% %Einleitung
|
||||
%chapters/Einleitung,
|
||||
%%Classical_Supervised_Learning
|
||||
% %Classical_Supervised_Learning
|
||||
%chapters/Classical_Supervised_Learning/Linear_Regression,
|
||||
%chapters/Classical_Supervised_Learning/Linear_Classification,
|
||||
%chapters/Classical_Supervised_Learning/Model_Selection,
|
||||
%chapters/Classical_Supervised_Learning/k-Nearest_Neighbors,
|
||||
%chapters/Classical_Supervised_Learning/Trees_and_Forests,
|
||||
%%Kernel_Methods
|
||||
% %Kernel_Methods
|
||||
%chapters/Kernel_Methods/Kernel-Regression,
|
||||
%chapters/Kernel_Methods/Support_Vector_Machines,
|
||||
%chapters/Bayesian_Learning/Bayesian_Learning,
|
||||
%chapters/Bayesian_Learning/Bayesian_Regression_Algorithms,
|
||||
%Neural_Networks
|
||||
chapters/Neural_Networks/Basics,
|
||||
chapters/Neural_Networks/Gradient_Descent,
|
||||
chapters/Neural_Networks/Regularization,
|
||||
chapters/Neural_Networks/Practical_Considerations,
|
||||
chapters/Neural_Networks/CNN,
|
||||
chapters/Neural_Networks/RNN,
|
||||
%Classical%_Unsupervised_Learning
|
||||
%chapters/Classical_Unsupervised_Learning/Dimensionality_Reduction_and_Clustering,
|
||||
%chapters/Classical_Unsupervised_Learning/Density_Estimation_and_Mixture_Models,
|
||||
%chapters/Classical_Unsupervised_Learning/Variational_Auto-Encoders,
|
||||
%%Mathematische_Grundlagen
|
||||
% %Neural_Networks
|
||||
%chapters/Neural_Networks/Basics,
|
||||
%chapters/Neural_Networks/Gradient_Descent,
|
||||
%chapters/Neural_Networks/Regularization,
|
||||
%chapters/Neural_Networks/Practical_Considerations,
|
||||
%chapters/Neural_Networks/CNN,
|
||||
%chapters/Neural_Networks/RNN,
|
||||
% %Classical_Unsupervised_Learning
|
||||
chapters/Classical_Unsupervised_Learning/Dimensionality_Reduction,
|
||||
chapters/Classical_Unsupervised_Learning/Clustering,
|
||||
chapters/Classical_Unsupervised_Learning/Density_Estimation_and_Mixture_Models,
|
||||
chapters/Classical_Unsupervised_Learning/Variational_Auto-Encoders,
|
||||
% %Mathematische_Grundlagen
|
||||
%chapters/Mathematische_Grundlagen/Lineare_Algebra,
|
||||
%chapters/Mathematische_Grundlagen/Probability_Theory,
|
||||
%chapters/Mathematische_Grundlagen/Kernel_Basics,
|
||||
%chapters/Mathematische_Grundlagen/Sub-Gradients,
|
||||
%chapters/Mathematische_Grundlagen/Constraint_Optimization,
|
||||
%chapters/Mathematische_Grundlagen/Gaussian_Identities,
|
||||
%%Anhang
|
||||
% %Anhang
|
||||
%Appendix
|
||||
}
|
||||
|
||||
@ -96,7 +97,8 @@
|
||||
|
||||
\part{Classical Unsupervised Learning}
|
||||
\label{part:Classical Unsupervised Learning}
|
||||
\include{chapters/Classical_Unsupervised_Learning/Dimensionality_Reduction_and_Clustering.tex}
|
||||
\include{chapters/Classical_Unsupervised_Learning/Dimensionality_Reduction.tex}
|
||||
\include{chapters/Classical_Unsupervised_Learning/Clustering.tex}
|
||||
\include{chapters/Classical_Unsupervised_Learning/Density_Estimation_and_Mixture_Models.tex}
|
||||
\include{chapters/Classical_Unsupervised_Learning/Variational_Auto-Encoders.tex}
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
##TODO:
|
||||
- [ ] Folien aus der Vorlesung, auf die in der Zusammenfassung verwiesen werden einfach in den Anhang packen
|
||||
- [ ] für alle \nameref prüfen, ob eine richtige Referenz nachfolgen sollte.
|
||||
|
||||
## Notice
|
||||
Requires you to enable [--shell escape](https://tex.stackexchange.com/questions/516604/how-to-enable-shell-escape-or-write18-visual-studio-code-latex-workshop)
|
||||
|
3
chapters/Classical_Unsupervised_Learning/Clustering.tex
Normal file
3
chapters/Classical_Unsupervised_Learning/Clustering.tex
Normal file
@ -0,0 +1,3 @@
|
||||
\chapter{Clustering}%
|
||||
\label{cha:Clustering}
|
||||
|
@ -0,0 +1,123 @@
|
||||
\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 \nameref{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 \nameref{cha:Constraint Optimization} (\cref{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}
|
@ -1,3 +0,0 @@
|
||||
\chapter{Dimensionality Reduction and Clustering}%
|
||||
\label{cha:Dimensionality Reduction and Clustering}
|
||||
|
@ -88,3 +88,13 @@
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\section{Eigenwerte und Eigenvektoren}%
|
||||
\label{sec:Eigenwerte und Eigenvektoren}
|
||||
Jede positiv definite, symmetrische Matrix ($\bm v^T \bm A \bm v > 0 \forall \bm v\ne0\in\mathbb{R}^n$) lässt sich in ihre Eigendekomposition zerlegen.
|
||||
\begin{equation} \label{eq:eigendecomposition}
|
||||
\bm C = \bm U\bm\Lambda\bm U^T
|
||||
= \underbrace{\begin{bmatrix} \bm u_1 & \cdots & \bm u_D \end{bmatrix}}_{Eigenvektoren}
|
||||
\underbrace{\begin{bmatrix} \lambda_1 & & \\ &\ddots & \\ & & \lambda_D \end{bmatrix}}_{Eigenwerte}
|
||||
\begin{bmatrix} \bm u_1^T\\\vdots\\\bm u_D^T \end{bmatrix}
|
||||
\end{equation}
|
||||
{\color{red} Berechnung: siehe Zusammenfassung Mathe 3}
|
||||
|
Loading…
x
Reference in New Issue
Block a user