PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Maschinelles Lernen und Datenanalyse

In der Soziologie

PD Stefan Bosse

Universität Bremen - FB Mathematik und Informatik

1 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Daten- und Dimensionalitätsreduktion

Datenreduktion ist ein wichtiger Schritt in der Datenvorverarbeitung für ML

Ziel: Reduktion der Datenvariablen (Attribute) → Dimensionalitätsreduktion pro Instanz

Ziel: Reduktion der Dateninstanzen (durch kleine Anzahl von Repräsentanteninstanzen) → Datenvolumenreduktion

2 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Motivation für Datenreduktion

  1. Die Daten sind sowohl hinsichtlich Dimensionalität des Eingabevektors x als auch hinsichtlich der Anzahl von Dateninstanzen |D| sehr groß

  2. Es gibt Redundanzen

    • a. Von Datenvariablen (lineare Abhängigkeit)
    • b. Von Dateninstanzen (Redundanz und Überlappung)
    • Aber: Reduktion bei b. kann die geforderte Datenvarianz verschlechtern!
  3. Trennung von wenig aussagekräftigen (schwachen) von aussagekräftigen (starken) Variablen

3 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Wenn die Dimensionalität der Eingabedaten x zunimmt, wird jedes Lernproblem immer schwieriger und rechenintensiver!

  • Beispielsweise werden in regelmäßigen Abständen 5 Punkte von [0,1] abgetastet.
    • Das sammeln von Proben auf die gleiche Weise im d-dimensionalen Raum erfordert 5d-Punkte, die exponentiell in Bezug auf d wachsen.

4

4 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Ein weiteres Problem bei hochdimensionalen Daten ist, dass unsere geometrische Interpretation von Daten irreführend sein kann.

  • Betrachtet man zum Beispiel die ausfüllende Hypersphäre des Einheishyperwürfels im d-dimensionalen Raum
    • Wenn d = 1 ist, ist das Volumen einer eingepassten Hypersphäre 1, was dem Hyperwürfel entspricht.
    • Wenn d auf 2 und 3 erhöht wird, ist das Volumen des Hyperkubus immer noch 1, aber das Volumen der Hypersphäre ist ungefähr 0,79 bzw. 0,52.

4

5 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

  • Unsere geometrische Intuition ist falsch,
    • da obwohl die eingepasste Hypersphäre kleiner als der Hyperwürfel ist, ist die Hypersphäre nicht extrem klein.
    • Wenn jedoch d weiter erhöht wird, ist das Volumen des Hyperkubus immer noch 1, aber das Volumen der ausfüllenden Hypersphäre neigt zu 0.
    • Dies bedeutet, dass, wenn d groß ist, die Hypersphäre fast vernachlässigbar ist.
6 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Verfahrem und Methoden

Lineare Algebra

  • Bestimmung von Eigenvektoren und Hauptkomponenten mit der Principle Component Analysis
    • Abbildung des Eingabedatenraums auf einen niedrigdimensionaleren Datenraum unter Beibehaltung der Datenrepräsentation
    • Ziel: Reduktion der Attribute, Beibehaltung der Dateninstanzen
7 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Clustering

  • Bestimmung von Gruppen von Dateninstanzen (mit geometrischer Gemeinsamkeit durch "Nähe") durch dichtebasierte Clusteringverfahren (DBSCAN)

    • Ziel: Reduktion der Instanzmenge durch wenige repräsentative Instanzen; Beibehaltung der Datenvariablen
8 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Lineare Dimensionalitätsreduktion

Lineare Dimensionalitätsreduktion transformiert die ursprünglichen m Dateninstanzen {xi}m in nieder dimensionalere Ausdrücke {zi}m durch eine lineare Transformation T ∈ ℝm×d

zi=Txi

  • T ist die Transformationsmatrix, z der reduzierte Datenvektor (pro Dateninstanz i) und x der ursprüngliche Datenvektor.
9 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

4 (a) Lineare Dimensionalitätsreduktion (b) Projektion von Daten auf einen linearen Subraum

10 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Zentrierung von Daten

  • Verschiebung der Daten in Richtung "Koordinatenursprung"

xixi1/njxj

4

11 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Unüberwachte Dimensionsreduktion

Hauptkomponentenanalyse (PCA)

  • Reduktion der Datendimesionalität unter Beibehaltung der intrinsischen Information der Daten und der Datenstruktur

4 PCA: (a) Reduktion der Dimensionalität 3 → 2 unter Beibehaltung der ursprünglichen geometrischen Eigenschaften der Punkte zueinander (Position) und der Gruppenzugehörigkeit (b)

12 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

  • Das bedeutet dass zi eine orthogonale Projektion von xi ist

    • D.h. T TT = Im mit Im als Identitätsmatrix und aT die transponierte Matrix
  • Die "Distanz" zwischen x und z kann aber (als Fehler) nicht unmittelbar bestimmmt werden

    • Daher wird z wieder in den ursprünglich d-dimensionalen Datenraum durch TT zurück transformiert
  • Die euklidische Distanz ist dann gegeben durch die totale statistische Streumatrix C und der Spur einer Matrix tr:

j||TTTxixi||2=tr(TCTT)+tr(C)

13 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

  • mit:

C=jxjxTj

  • D.h. PCA ist ein Optimierungsproblem mit:

maxTtr(TCTT)

  • Es gibt eine globale Lösung:

T=(e1,...,em)T

  • mit ei als Eigenvektor der Matrix C mit den Eigenwerten λ1 ≥ λ2 ≥ .. ≥ λd ≥ 0.
14 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

  • D.h. es gilt:

Ce=λe

  • Es wird "kleine" und "große" Eigenvektoren geben

Die Transformationsmatrix T der PCA ist also eine orthogonale Projektion in einen Subraum der durch die "großen" Eigenvektoren aufgespannt wird,

  • Die kleinen Eigenvektoren werden daher entfernt

  • Und: PCA transformierte Variablen sind unkorreliert!

15 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

  • PCA liefert aber i.A. keine Struktureigenschaften wie Cluster

17 label Weiteres Beispiel von PCA: Die Analyse der Hauptkomponenten zentriert die Dateninstanzen und dreht dann die Achsen, um Sie mit den Richtungen der höchsten Varianz in Einklang zu bringen. Wenn die Varianz auf z2 klein ist, kann Sie ignoriert werden und wir haben eine Dimensionalitätsreduktion von zwei auf eins.

16 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

ML.pca

  • Das ML Framework stellt ein PCA Modul zur Verfügung:

  • Die Daten D müssen in Matrixform vorliegen (keine Recordtabellen)

  1. Eigenvektoren berechnen
ML.pca.getEigenVectors = function(data:number [][]) → {
eigenvalue: number, vector: number []
} [];
17 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

  1. Transformation der Datentabelle berechnen
ML.pca.computeAdjustedData =
function (data:number [][],
eigenVector1:{},eigenVector2?:{},..)
→ {
adjustedData: number [][],
formattedAdjustedData: number [][],
avgData: number [][],
selectedVectors: number [][]
}
  • Achtung: Das Datenformat von adjustedData ist transponiert und muss für eine Tabelle rekonstruiert werden
18 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

  1. Rekonstruktion der Datentabelle aus der reduzierten Tabelle
ML.pca.computeOriginalData = function(
formattedAdjustedData,
selectedVectors,
avgData) → {
formattedOriginalData,
}
19 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

PCA Beispiel

20 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Lokalitätsbewahrende Projektion

  • Ähnlichkeit zwischen Instanzen xi und xj wird untersucht und mit einem Wert 0 ≤ Wi,j ≤ 1 ausgedrückt.

Ähnlichkeitsfunktionen

Gaußfunktion

Wi,j=exp(||xixj||22t2)

(t ist ein Anpassungsparameter)

21 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

k-Nächster Nachbar (kNN)

Wij={1,(xiNk(xj)xjNk(xi))0

  • Nk(x) ist die Menge aller Nachbarschaftsinstanzen (k ist die Anzahl der Menge)

  • k ist ein Anpassungsparameter der die Lokalität einstellt (Reichweite)

22 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Transformation

minTi,jWij||TxiTxj||2

  • Problem: T=0 ist eine Lösung, aber nutzlos!

  • Daher weitere Randbedingung für die Minimierung (Anpassung von T):

TXDXTTT=ImX=(x1,..,xn),Dij=kWik,(i=j)0,(ij)

23 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Dichtebasiertes Clustering

  • kNN kann ebenso als ein ML Clusterer mit Inferenz auf unbekannten eingesetzt werden

  • Dichtebasierte Clusteringmethoden können primär für die Datenreduktion eingesetzt werden

    • Reduktion von einer Menge von Dateninstanzen auf Gruppen (wobei die Instanzen erhalten bleiben, aber in jeder Gruppe reduziert werden können)
24 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

DBSCAN

Dichtebasiertes Räumliches Clustering mit Rauschen (DBSCAN) ist ein Basisalgorithmus. Es kann Cluster unterschiedlicher Formen und Größen aus einer großen Datenmenge entdecken, die Rauschen und Ausreißer enthält.

25 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

www.kdnuggets.com/2020/04/dbscan-clustering-algorithm-machine-learning.html

26 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Algorithmische Schritte für DBSCAN Clustering

  • Der Algorithmus iteriert über alle Punkte indem er willkürlich einen Punkt im Datensatz aufnimmt (bis alle Punkte besucht wurden)

  • Wenn es mindestens minPoint - Punkte in einem radius von ε bis zu dem Punkt gibt, werden alle diese Punkte als Teil desselben Clusters betrachet.

  • Die Cluster werden dann erweitert, indem die Nachbarschaftsberechnung für jeden Nachbarpunkt rekursiv wiederholt wird.

  • Eventuell gibt es Beschränkungen bezüglich der Dimension der Dateninstanzen (typisch 2)

27 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Wahl der Parameter

Jede Data Mining Aufgabe hat das Problem der Parameterwahl.

  • Jeder parameter beeinflusst den Algorithmus auf bestimmte Weise. Für DBSCAN werden die Parameter ε und minPts benötigt.
minPts
Das Minimum von minPts aus der Dimension des Datensatzes *D abgeleitet werden, so dass minPts ≥ D + 1.
28 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

ε
Der Wert für ε kann dann unter Verwendung eines k-Rntfernungsgraphen ausgewählt werden, der den Abstand zum k = minPts-1 nächsten Nachbarn zeichnet, der vom größten zum kleinsten Wert geordnet ist.
  • Bei guten Werten von ε zeigt dieses Diagramm einen "Ellenbogen": wenn ε viel zu klein gewählt wird, wird ein großer Teil der Daten nicht gruppiert, während für einen zu hohen Wert von ε Cluster zusammengeführt werden und sich die Mehrheit der Objekte im selben cluster befindet.
29 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Beispiel DBSCAN

30 / 31

PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion

Zusammenfassung

  • Datenreduktion ist ein wichtiger Schritt in der Datenvorverarbeitung

    • Datenreduktion bedeutet die Reduktion der Datenmenge und/oder ihrer Dimensionalität
    • Datenreduktion ist bereits eine Merkmalsselektion (Reduktion auf wesentliche Attribute und Werte)
  • PCA ist geeignet um numerische Eingabedaten in ihrer Dimensionalitä zu reduzieren (Reduktion der Datenvariablen und Ersatz mit transformierten)

  • DBSCAN ist geeignet um Gruppen von Dateninstanzen zu finden um schliesslich repräsentative Instanzen daraus zu ermitteln

31 / 31