# Notizen NSL Lektion 1 > Thema: Unsupervised Learning > Datum: 18.06.2026 > Dozentin: Matthias Dehmer # Recap ## Supervised Learning - Input: Arbeitet auf Daten (Feature Vektoren) mit Labels - Output: Modell für Prediction - Regression: - Daten $X$ (Features) gegeben -> man will $Y$ (Zielgrösse) vorhersagen - Gesucht ist eine Funktion $f$ mit $\hat{y} = f(x)$ für eine Vorhersage - Klassifikation - Binär - Multiclass - Applications - Spam Filtering - Image Classification - Gesture Recognition - Fraud Detection ## Unsupervised Learning - Input: Arbeitet auf Daten (Feature Vektoren) ohne Labels - Output: Model discovering underlying data structure of the data - Methoden - Clustering - Dimension Reduction - Association Rules - Anwendungen - Exploratory Data Analysis - Outlier Detection - Data Compression - Denoising ## Reinforcement Learning - Input: Current observed State from Environment and reward score - Output: Agent chooses next action - Methoden: - Control - Q-Learning - Applications - Games (Chess, Go) ## Recap: Supervised Learning - Viele Machine Learning Probleme lassen sich in einfache Optimierungsprobleme überführen - Fehlerquadratsumme (Methode der kleinsten Quadrate) ## Recap: Lineare Regression - Problem: Wir wollen eine gute Approximation der Daten durch eine Gerade (Linearitätsforderung) - Vorgehen: Gerade in die Punktwolke legen und Parameter solange anpassen bis Fehler (Epsilon) minimal sind - Wobei Epsilon: $\epsilon_i = y_i - \hat{y}_i$ - Wir suchen eine Gerade, mit der Bedingung, dass die quadratische Summe aller Epsilon minimal wird - $\min \sum_{i=1}^{n} \epsilon_i^2 = \min \sum_{i=1}^{n} (y_i - \hat{y}_i)^2$ - Zur Analyse immer einen Scatterplot machen - Dabei sieht man von Auge bereits ob eine Linearität vorhanden ist # Unsupervised Learning - Keine Labels - Es gibt keine Outcome Variable - Wie kann man sich das vorstellen - Data is generated by some unknown process - Unsupervised learning finds patterns in the data - Methoden - Clustering (k-Means, Hierarchical, DBSCAN) - Density Estimation: Gaussian Mixture Models - Dimensionality Reduction - Neural Networks - Autoencoder - Generative Adversarial Models - Restricted Boltzman Machines # Clustering - Clustering ist der Prozess der eine Gruppe in Untergruppen aufteilt - Elemente in Untergruppen sind sich ähnlich - Schwierig ist es ein Ähnlichkeitsmass (measure) zu finden - Die Anzahl der Cluster hängt von der Anwendung ab - intra-cluster measure -> tightness (Homogenität) of the cluster - inter-cluster measure -> Daten sollen so gewählt werden, dass sie sich nicht überlappen - Hauptproblem des Clusterings - Wir haben einen Datensatz D den wir clustern wollen - D enthält Altersangaben - Wir schicken D durch einen Clusteringalgorithmus - Wir erhalten C1-3 - C1: 20-30 - C2: 40-50 - C3: 60-80 - K-Means braucht eine Angabe wieviele Cluster zu erzeugen sind - Wieviele Cluster sind denn aber sinnvoll? - Zwei wesentliche Forderungen beim Clustern 1. Cluster sollen homogen sein (gleich verteilte Abstände innerhalb des Clusters) 2. Cluster sollen heterogen getrennt sein (nicht überlappen) - Wir sehen: Die Anzahl der Cluster ist nicht eindeutig - C1,C2: Schreibweise $|C| = 2$ "Die Grösse der Cluster C ist 2" - Wie messen wir die Homogenität in folgendem Fall? - c1 = {2,4,6} - c2 = {2,15,80} - Man könnte sich die Abstände zum Centroiden anschauen - Hom(C1) > Hom(C2) ## Anwendung von Clustering - Ähnlichkeit von Kunden, Krankheiten, Produkte - Betrugserkennung - Bspw. Intrusion Detection in Netzwerken - Vergleich session duration zu transmitted bytes - ssh -> lange Session Zeit aber nicht viel Daten - web traffic -> kurze Session Zeit aber viele Daten - Alle Verbindungen, die nicht in diese Cluster passen, sind "verdächtig" # Dimensionsreduktion von Datensets - Warum soll man Dimensionen reduzieren? - Man fischt sich diejenigen Dimensionen heraus, welche für die gewünschte Information wichtig sind - Alle ohne nützliche Information werden eliminiert (Projektion der gewünschten Dimension) - Eine Art wie man Dimensionen reduzieren kann, ist PCA - Principal Component Analysis - Vereinfacht komplexe Datensets und behält dabei die wichtigsten Strukturen - Wie funktioniert eine Dimensionsreduktion dim1000 zu dim2 mit PCA? 1. PC1: Man legt eine Achse in die Richtung wo die Varianz maximal ist 2. PC2: Richtung der maximalen *verbleibenden* Varianz, die orthogonal zu PC1 steht - Bei einer (symmetrischen) Kovarianzmatrix sind die Eigenvektoren ohnehin paarweise orthogonal - Allgemein: PC$_k$ = Eigenvektor zum $k$-grössten Eigenwert der Kovarianzmatrix ## Begriffe in der Dimensionsreduktion - Varianz - Streuung um den Mittelwert - Population vs. Stichprobe (Bessel-Korrektur mit $n-1$): $$ \sigma^2 = \frac{1}{n}\sum_{i=1}^{n}(x_i - \bar{x})^2 \qquad s^2 = \frac{1}{n-1}\sum_{i=1}^{n}(x_i - \bar{x})^2 $$ - Kovarianz - Mass für das *gemeinsame* Streuen zweier Variablen (steigen sie zusammen oder gegenläufig?) - Hinweis: Kovarianz ist *nicht* die Steigung — die Regressionssteigung ist $\beta = \mathrm{Cov}(X,Y)/\mathrm{Var}(X)$ - Ist nicht begrenzt im Gegensatz zur Korrelation ($\rho = \mathrm{Cov}(X,Y)/(\sigma_X \sigma_Y) \in [-1, 1]$) $$ \mathrm{Cov}(X,Y) = \frac{1}{n}\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y}) $$ - Kovarianz-Matrix - Für zentrierte Datenmatrix $X_c \in \mathbb{R}^{n \times d}$ (Mittelwert pro Spalte abgezogen): $$ \Sigma = \frac{1}{n}\, X_c^{\top} X_c \qquad \Sigma_{jk} = \mathrm{Cov}(X_j, X_k) $$ - $d \times d$, symmetrisch, positiv semidefinit - Diagonale = Varianzen, off-diagonal = Kovarianzen - Eigenwert-Problem (Lambda) - Korrektur: die *Eigenwerte* $\lambda$ sind die Nullstellen des charakteristischen Polynoms (nicht die Eigenvektoren) - $A\mathbf{v} = \lambda \mathbf{v} \iff (A - \lambda I)\mathbf{v} = \mathbf{0}$ - Nicht-triviale Lösung existiert nur, wenn: $$ \det(A - \lambda I) = 0 \quad \text{(charakteristisches Polynom)} $$ - Vorgehen: 1) $\lambda$ aus dem char. Polynom bestimmen, 2) je $\lambda$ den Eigenvektor $\mathbf{v}$ aus $(A - \lambda I)\mathbf{v} = \mathbf{0}$ lösen - In der PCA: Eigenwert $\lambda_i$ = Varianz entlang PC$_i$; Gesamtvarianz $= \mathrm{tr}(\Sigma) = \sum_i \lambda_i$; erklärter Varianzanteil $= \lambda_i / \sum_j \lambda_j$ ## PCA Vorgehen 1. Daten zentrieren (Mittelwert pro Feature abziehen); bei unterschiedlichen Skalen zusätzlich standardisieren (auf Einheitsvarianz) 2. Kovarianzmatrix $\Sigma$ berechnen 3. Eigenwert-Problem lösen -> Eigenwerte $\lambda_i$ und zugehörige Eigenvektoren $\mathbf{v}_i$ 4. Endkoordinatensystem bestimmen: Eigenvektoren nach Eigenwerten absteigend sortieren, die Top-$k$ als neue Achsen wählen und die Daten darauf projizieren ($Z = X_c W$, mit $W$ = Matrix der Top-$k$ Eigenvektoren)