added clustering algorithms and changed acronyms

This commit is contained in:
paul-loedige 2021-01-28 16:22:16 +01:00
parent e5cb5ef2f4
commit 93b3f58029
17 changed files with 142 additions and 57 deletions

View File

@ -2,9 +2,10 @@
% list of acronyms
%%
\begin{acronym}
\acro{vc-dimension} [VC-Dimension] {Vapnik-Chervonenkis-Dimension}
\acro{srm} [SRM] {Structural Risk Minimisation}
\acro{svm} [SVM] {Support Vector Machine}
\acro{kkt} [KKT] {Karush-Kuhn-Tucker}
\acro{rbf} [RBF] {Radial Basis Function}
\acro{VC-Dimension} {Vapnik-Chervonenkis-Dimension}
\acro{SRM} {Structural Risk Minimisation}
\acro{SVM} {Support Vector Machine}
\acro{KKT} {Karush-Kuhn-Tucker}
\acro{RBF} {Radial Basis Function}
\acro{DBSCAN} {Density-Based Spatial Clustering of Applications with Noise}
\end{acronym}

View File

@ -26,7 +26,7 @@ rightsub = \grq%
\usepackage{xcolor}
\usepackage{listings}
%acronyms
\usepackage{acronym}
\usepackage[printonlyused]{acronym}
%header and footer
\usepackage{fancyhdr}
%custom font sizes

View File

@ -43,8 +43,8 @@
\say{Semantical classes} werden aufgrund der inhaltlichen Äquivalenz der Pattern gebildet.
Hierbei werden die Klassen selber meist durch einen menschlichen Experten definiert.
Die Aufgabe ist dann ein System zu erstellen, welche die Pattern in die vordefinierten Klassen einordnet.
Man spricht hierbei vom \textbf{Supervised Learning}.
Man spricht hierbei vom \textbf{Supervised Learning} (\ref{supervised learning}).
\paragraph{Natural classes}
\say{Natural classes} werden auf Basis mathematischer Formalismen gebildet.
Hierfür wird z.B. der mathematische Abstand eines bestimmten Patterns zu einem anderen für die Klassifikation verwendet.
Diese Art Klassen wird vor allem im Bereich der \say{numerical classification} verwendet, welche ein Beispiel für ein \textbf{Unsupervised Learning} Verfahren ist.
Diese Art Klassen wird vor allem im Bereich der \say{numerical classification} verwendet, welche ein Beispiel für ein \textbf{Unsupervised Learning} (\ref{unsupervised learning}) Verfahren ist.

View File

@ -1,30 +0,0 @@
\chapter{Hierachische Verfahren}
\includegraphics[width = \textwidth]{hierachische Verfahren.png}
Eine hierarchische Clusterung lässt sich mithilfe eines Dendogramms darstellen:\\
\includegraphics[width=.6\textwidth]{dendogramm.png}
\section{Algorithmus}
\begin{enumerate}
\item erzeuge für jeden Punkt aus dem Datensatz ein separates Cluster
\item Berechne den Abstand zwischen allen Clustern
\item Verschmelze die beiden Cluster, die den geringsten Abstand zueinander haben
\item Aktualisiere die Distanzen zwischen den Clustern bis alle Punkte in dem gleichen Cluster liegen
\item goto 3.
\end{enumerate}
Meistens wird in den Algorithmus eine Abbruchbedingung eingebaut, damit nicht alle Elemente in dem gleichen Cluster zusammengefasst werden.
Diese Abbruchbedingung definiert sich über den maximalen Abstand der Elemente in einem Cluster.
\section{Abstand zwischen Clustern}
Es gibt mehrer Möglichkeiten um den Abstand zwischen zwei Clustern festzustellen
\paragraph{Single Link}\mbox{}\\
\includegraphics[width=.8\textwidth]{single-link.png}
\paragraph{Complete Link}\mbox{}\\
\includegraphics[width=.8\textwidth]{complete-link.png}
\paragraph{Average Link}\mbox{}\\
\includegraphics[width=.8\textwidth]{average-link.png}
\paragraph{Abstand der Zentroide der beiden Cluster}\mbox{}\\
\includegraphics[width=.8\textwidth]{centroid-distance.png}

View File

@ -63,8 +63,8 @@
\subsection{Beispiel: symmetrischer Lernalgorithmus}
\includegraphics[width=.8\textwidth]{Perzeptron_Lernalgorithmus_symmetrisch.png}
\section{\acs{vc-dimension}}\label{vc-dimension}
Die \acl{vc-dimension} gibt ein Maß für die \say{learning power} einer Klassifizierung.
\section{\acs{VC-Dimension}}\label{vc-dimension}
Die \acl{VC-Dimension} gibt ein Maß für die \say{learning power} einer Klassifizierung.
\subsection{Shattering}
\say{Here we will only consider functions that correspond to the two-class pattern recognition case, so that $g(\bm{m}, y) \in \{-1, 1\}\forall x, y$.
@ -135,7 +135,7 @@
\begin{itemize}
\item $N$: Anzahl der Trainingsdatenpunkte
\item $\kappa$: das \say{confidence level}, $0\le\kappa\le1$
\item $h$: \acs{vc-dimension} (\ref{vc-dimension})
\item $h$: \acs{VC-Dimension} (\ref{vc-dimension})
\end{itemize}
\includegraphics[width=.8\textwidth]{risk-bound.png}
@ -149,8 +149,8 @@
Das Strukturelle Risiko wird durch das empirische Risiko $R_{emp}(\bm{w})$ (\ref{empirical risk}) und den Kapazitätsterm $\varepsilon(N,\kappa,h)$ (\ref{capacity term}) definiert.\\
\includegraphics[width=.6\textwidth]{structural_risk.png}
\subsubsection{\acl{srm}}
\subsubsection{\acl{SRM}}
Das strukurelle Risiko kann entweder dadurch reduziert werden,
dass das empirische Risiko (\ref{empirical risk}) bei gleichbleibenden $\varepsilon$ (\ref{capacity term}) reduziert wird,
oder durch eine Reduzierung von $\varepsilon$ bei gleichbleibenden empirishen Risiko.
Letzteres ist der Ansatz den die \acs{svm}s (\ref{svm}) verfolgen.
Letzteres ist der Ansatz den die \acs{SVM}s (\ref{svm}) verfolgen.

View File

@ -1,5 +1,5 @@
\chapter{\acl{svm}}\label{svm}
\acs{svm}s können als lineare (\ref{linear machines}) oder nicht-lineare Maschinen aufgebaut werden.\\
\chapter{\acl{SVM}}\label{svm}
\acs{SVM}s können als lineare (\ref{linear machines}) oder nicht-lineare Maschinen aufgebaut werden.\\
\begin{tabular}{|p{.475\textwidth}|p{.475\textwidth}|}
\hline
\textbf{Vorteile} & \textbf{Nachteile}\\
@ -16,7 +16,7 @@
\hline
\end{tabular}
\section{lineare \acl{svm}}
\section{lineare \acl{SVM}}
\begin{wrapfigure}{h}{.6\textwidth}
\vspace{-10mm}
\includegraphics[width=.6\textwidth]{svm_base.png}
@ -63,7 +63,7 @@
\frac{\delta L_\alpha}{\delta w_0} &= 0 \Rightarrow \sum^N_{i=1}\alpha_i \cdot g_i = 0\\
\frac{\delta L_\alpha}{\delta \bm{w}} &= 0 \Rightarrow \bm{w} - \sum^N_{i=1}\alpha_i \cdot \bm{m}_i \cdot g_i = 0 \rightarrow \bm{w} = \sum^N_{i=1}\alpha_i \cdot g_i \cdot \bm{m}_i
\end{align*}
Hieraus ergeben sich die \acl{kkt} Bedingungen
Hieraus ergeben sich die \acl{KKT} Bedingungen
\begin{align*}
(\bm{w}^T\bm{m}_i + w_0)\cdot g_i - 1 &\ge 0 \\
\alpha_i &\ge 0 \\
@ -72,10 +72,10 @@
Jeder Datenpunkt, für den $\alpha_i>0$ gilt, ist ein \say{support vector}.
\subsubsection{Sparsity}
\acs{svm}s sind \say{sparse learning machines}, da Sie meist nur von wenigen Support Vektoren abhängen.
\acs{SVM}s sind \say{sparse learning machines}, da Sie meist nur von wenigen Support Vektoren abhängen.
\section{nicht-lineare \acl{svm}}\label{non linear svm}
\acs{svm}s können auch dafür benutzt werden, nicht-linear-trennbare Cluster zu teilen.
\section{nicht-lineare \acl{SVM}}\label{non linear svm}
\acs{SVM}s können auch dafür benutzt werden, nicht-linear-trennbare Cluster zu teilen.
Hierfür müssen einige mathematischen Tricks angewandt werden.
\subsection{Dual Representation **}
@ -118,14 +118,14 @@
\subsection{Polynomialer Kernel}
\includegraphics[width=.8\textwidth]{kernel_trick_polynomial_kernel.png}
\subsubsection{Beispiel: Gausian \acl{rbf} Kernel}
\subsubsection{Beispiel: Gausian \acl{RBF} Kernel}
$$K(\bm{m}_i,\bm{m}_j) = \exp\left(-\frac{||\bm{m}_1-\bm{m}_2||^2}{2\sigma^2}\right)$$
\includegraphics[width=\textwidth]{kernel_trick_example.png}
\section{Soft Margin}
Falls Daten vorliegen, die nicht \say{einfach} (\ref{occam's razor}) separierbar sind ist es zwar möglich den Feature Space so zu transformieren, dass er linear separierbar wird,
allerdings ist dies wenig sinnvoll.
Hierbei ist die \acs{vc-dimension} sehr hoch, weshalb auch die Gefahr für Overfitting sehr hoch ist.
Hierbei ist die \acs{VC-Dimension} sehr hoch, weshalb auch die Gefahr für Overfitting sehr hoch ist.
Dieses Problem kann umgangen werden, indem mittels \say{soft margins} zugelassen wird, dass eine geringe Anzahl an Datenpunkten auf der falschen Seite der Diskriminanten liegt.\\
\includegraphics[width=.6\textwidth]{soft_margin.png}

View File

@ -0,0 +1,114 @@
\chapter{Clustering Algorithms}\label{clustering algorithms}
\includegraphics[width = .6\textwidth]{clustering_algorithms.png}
\section{partition based algorithms}
Partitionsbasierte Clustering Algorithmen starten mit einer vordefinierten Partitionierung.
Anschließend werden die Elemente so lange zwischen den Partitionen verschoben, bis das optimale Ziel erreicht ist.
Die meisten dieser Algorithmen erfordern, dass die Anzahl der angestrebten Partitionen vorgegeben ist.\\
\begin{tabular}{|p{.475\textwidth}|p{.475\textwidth}|}
\hline
\textbf{Vorteile} & \textbf{Nachteile}\\
\hline
\begin{itemize}
\item geringe Komplexität
\item hohe Recheneffizienz
\end{itemize}&
\begin{itemize}
\item nicht geeignet für nicht-konvexe Daten
\item stark durch Ausreißer beeinflusst
\item Anzahl der Cluster muss bekannt sein
\item Ergebnis ist abhängig von der Anzahl der Cluster
\end{itemize}\\
\hline
\end{tabular}
\paragraph{Zeitliche Komplexität}\mbox{}\\
\includegraphics[width = \textwidth]{partition_based_clustering_complexity.png}
\subsection{Verfahren}
\includegraphics[width = .6\textwidth]{partition_based_clustering.png}
\subsection{k-means}
\begin{itemize}
\item Anzahl der angestrebten Cluster ist bekannt
\item Das Zentrum der Cluster entspricht dem Zentrum der jeweiligen Datenpunkte
\item Das Das zuvor beschriebene Verfahren wird so lange wiederholt, bis ein Konvergenzkriterium erreicht wurde
\end{itemize}
\subsubsection{Beispiel}
\includegraphics[width = .9\textwidth]{k-means.png}
\section{Hierachische Verfahren}
\includegraphics[width = \textwidth]{hierachische Verfahren.png}\\
\begin{tabular}{|p{.475\textwidth}|p{.475\textwidth}|}
\hline
\textbf{Vorteile} & \textbf{Nachteile}\\
\hline
\begin{itemize}
\item für Datensätze mit beliebiger Form und Typ geeignet
\item Erkennung von hierarchischen Zusammenhängen ist einfach
\item gut skalierbar
\end{itemize}&
\begin{itemize}
\item Hohe zeitliche Komplexität
\end{itemize}\\
\hline
\end{tabular}
\paragraph{Zeitliche Komplexität}\mbox{}\\
\includegraphics[width = .5\textwidth]{hierarchical_clustering_complexity.png}
\paragraph{Dendogramm}\mbox{}\\
\includegraphics[width=.6\textwidth]{dendogramm.png}
\subsection{Algorithmus}
\begin{enumerate}
\item erzeuge für jeden Punkt aus dem Datensatz ein separates Cluster
\item Berechne den Abstand zwischen allen Clustern
\item Verschmelze die beiden Cluster, die den geringsten Abstand zueinander haben
\item Aktualisiere die Distanzen zwischen den Clustern bis alle Punkte in dem gleichen Cluster liegen
\item goto 3.
\end{enumerate}
Meistens wird in den Algorithmus eine Abbruchbedingung eingebaut, damit nicht alle Elemente in dem gleichen Cluster zusammengefasst werden.
Diese Abbruchbedingung definiert sich über den maximalen Abstand der Elemente in einem Cluster.
\subsection{Abstand zwischen Clustern}
Es gibt mehrer Möglichkeiten um den Abstand zwischen zwei Clustern festzustellen
\paragraph{Single Link}\mbox{}\\
\includegraphics[width=.8\textwidth]{single-link.png}
\paragraph{Complete Link}\mbox{}\\
\includegraphics[width=.8\textwidth]{complete-link.png}
\paragraph{Average Link}\mbox{}\\
\includegraphics[width=.8\textwidth]{average-link.png}
\paragraph{Abstand der Zentroide der beiden Cluster}\mbox{}\\
\includegraphics[width=.8\textwidth]{centroid-distance.png}
\begin{tabular}{|p{.475\textwidth}|p{.475\textwidth}|}
\hline
\textbf{Vorteile} & \textbf{Nachteile}\\
\hline
\begin{itemize}
\item hocheffizientes Clustering
\item geeignet für viele verschiedene Clusterformen
\end{itemize}&
\begin{itemize}
\item schlechte Qualität bei ungleichmäßiger Dichte der Datenpunkte in einem Cluster
\item hoher Speicherplatzbedarf bei großer Datenmenge
\item starke Abhängigkeit von den Parametern
\end{itemize}\\
\hline
\end{tabular}
\paragraph{Zeitliche Komplexität}\mbox{}\\
$O(n\cdot \log n)$
\section{density based clustering}
Algorithmen, die davon ausgehen, dass die Elemente in einem Cluster nach einer bestimmbaren Funktion normalverteilt um ein Zentrum liegen werden als \acs{DBSCAN} bezeichnet.
Hierfür benötigt der \ac{DBSCAN} Algorithmus 2 Parameter:\\
\includegraphics[width = .8\textwidth]{dbscan-parameters.png}\\
Für eine gute Auswahl der Parameter ist Vorwissen über den Datensatz erforderlich.\\
\includegraphics[width = .6\textwidth]{eps_minPts_estimation.png}
\subsection{Beispiele}
\includegraphics[width = \textwidth]{dbscan_examples.png}

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
images/dbscan_examples.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
images/k-means.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -1,5 +1,4 @@
\part{Supervised Learning}
\part{Supervised Learning}\label{supervised learning}
\input{chapters/Supervised Learning/Occam's Razor.tex}
\input{chapters/Supervised Learning/Linear Machines.tex}
\input{chapters/Supervised Learning/SVM.tex}
\input{chapters/Supervised Learning/Hierachische Verfahren.tex}

View File

@ -1,3 +1,4 @@
\part{Unsupervised Learning}
\part{Unsupervised Learning}\label{unsupervised learning}
\input{chapters/Unsupervised Learning/Clustering.tex}
\input{chapters/Unsupervised Learning/Clustering Algorithms.tex}