This repository has been archived on 2026-06-23. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
cas-pml/NSL/notizen/L1_Notizen.md
T
2026-06-18 11:31:12 +02:00

7.0 KiB

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)