\chapter{Clustering}
    \section{Definition}
        Allgemein gesagt bestimmt ein Clustering-Verfahren, ob zwei Elemente ähnlich bzw. unähnlich sind.\\
        \includegraphics[width = .6\textwidth]{clustering_definition.png}\\
        Ein Cluster ist eine Partition einer Datenstruktur in einem unbekannten Bereich.
        Damit das Clustering funktioniert müssen folgende Bedingungen gegeben sein:
        \begin{enumerate}
            \item Elemente in einem Cluster sind so ähnlich wie möglich\\
                (qualitativ bewertendende Features sollten möglichst große Ähnlichkeiten erzeugen)
            \item der Unterschied von Elementen in unterschiedlichen Clustern sollte so groß wie möglich sein\\
                (quantitativ bewertende Features sollten möglichst große Unähnlichkeiten erzeugen)
            \item die Messung der Ähnlichkeit bzw. Unähnlichkeit muss klar definiert sein und sollte einen praktischen Ursprung haben
        \end{enumerate}
    \section{Standardverfahren}
        \begin{enumerate}
            \item \textbf{Feature extraction and selection:} Auswahl der repräsentativsten Merkmale aus dem Datensatz
            \item \textbf{Clustering algorithm design:} Entwurf des Clustering Algorithmus in Abhängigkeit von den Eigenschaften des vorliegenden Problems
            \item \textbf{Result evaluation:} Aus- und Bewertung der Rückgabe des Clustering Algorithmus
            \item \textbf{Result explanation:} Erklärung der Ergebnisse des Clusterings
        \end{enumerate}

    \section{Abstandsbestimmung}
        Für den Abstand zwischen Elementen gelten 2 grundlegende Regeln:
        \begin{itemize}
            \item Triangle inequality: $d(x_i,x_j)\le d(x_i,x_j) + d(x_j,x_k) ~\forall x_i,x_j,x_k\in S$
            \item $d(x_i,x_j) = 0 \Rightarrow x_i = x_j ~\forall x_i,x_j\in S$
        \end{itemize}

        \subsection{Minkowski Abstand}
            $$ \left(\sum^d_{i=1}|x_{il}-x_{jl}|^n\right)^{\frac{1}{n}} $$
            Hieraus leiten sich genauer definierte Abstandsfunktionen ab:
            \begin{itemize}
                \item $n=1$: City-block distance
                \item $n=2$: Euclidean distance
                \item $n\rightarrow\infty$: Chebyshev distance
            \end{itemize}

    \section{Ähnlichkeitsbestimmung}
        Die allgemeine Schreibweise für die Ähnlichkeitsfunktion (similarity function) ist $s(x_i,x_j)$.
        Alle Ähnlichkeitsfunktionen haben gemeinsam, dass sie symmetrisch sind ($s(x_i,x_j) = s(x_j,x_i)$).
        Meist sind die Funktionen so aufgebaut, dass sie die Ähnlichkeit im Intervall $[0,1]$, $[0,\infty]$ oder $[-\infty,\infty]$ angeben.
        
        \subsection{Cosine distance}
            $$1-\cos \alpha = \frac{x_i^T x_j}{||x_i|| ||x_j||}$$
            Eigenschaften:
            \begin{itemize}
                \item unabhängig von der Rotation der Daten
            \end{itemize}

        \subsection{Pearson correlation distance}
            $$ 1-\frac{\text{Cov}(x_i,x_j)}{\sqrt{D(x_i)}\sqrt{D(x_j)}} $$
            Eigenschaften:
            \begin{itemize}
                \item $\text{Cov}=$ Covarianz
                \item $D = $ Varianz
                \item Misst den Abstand in Abhängigkeit von der linearen Korelation
            \end{itemize}

        \subsection{Mahalanobis distance}
            $$ \sqrt{(x_i-x_j)^T S^{-1}(x_i-x_j)} $$
            \begin{itemize}
                \item $S =$ Covarianz Matrix innerhalb des Clusters
                \item hohe rechnerische Komplexität
            \end{itemize}

        \subsection{Jaccard similarity}
            $$ J (A,B) = \frac{|A\cap B|}{|A\cup B|} $$
            \begin{itemize}
                \item Misst die Ähnlichkeit von zwei Sets 
                \item $|X|=$ Anzahl der Elemente in einem Set
                \item $\text{Jaccard distance} = 1-\text{Jaccard similarity}$
            \end{itemize}

        \subsection{Hamming similarity}
            \say{minimale Anzahl von Substitutionen um einen Datenpunkt in einen anderen zu transformieren}

    \section{Bewertung des Clustering Algorithmus}
        Die Bewertung eines Clustering Algorithmus ist nur sehr schwer objektiv Möglich.
        Aufgrund dessen sind die meisten Bewertungen abhängig von den Kriterien des Bewertenden.
        Allgmein wird zwischen internen Bewertungskriterien (internal evaluation indicators) und externen Bewertungskriterien (external evaluation indicators) unterschieden.\\
        Beispiele für interne Bewertungskriterien sind die \say{intra-cluster homogenity} und die \say{inter-cluster separability}.
        Diese lassen sich allerdings auch kombinieren.
        Alle internen Bewertungskriterien haben gemein, dass sie keine Informationen ausserhalb der Datenbasis in dei Bewertung einschließen.\\
        Externe Bewertungskriterien vergleichen meist extern bekannte Beziehungen mit den vom Clustering Algorithmus ermittelten.
        Ein Beispiel für ein externes Bewertungskriterium ist der \say{Rand indicator}:
        $$ RI = \frac{TP+TN}{TP+FP+FN+TN} $$
        
