generated from TH_General/Template_Summary
added clustering algorithms and changed acronyms
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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}
|
||||
@@ -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.
|
||||
@@ -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}
|
||||
|
||||
|
||||
114
chapters/Unsupervised Learning/Clustering Algorithms.tex
Normal file
114
chapters/Unsupervised Learning/Clustering Algorithms.tex
Normal 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}
|
||||
Reference in New Issue
Block a user