In der Mess- und Prüftechnik PD Stefan Bosse
Universität Bremen - FB Mathematik und Informatik
Stefan Bosse - Maschinelles Lernen - 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
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Motivation für Datenreduktion
Die Daten sind sowohl hinsichtlich Dimensionalität des Eingabevektors x als auch hinsichtlich der Anzahl von Dateninstanzen |D| sehr groß
Es gibt Redundanzen
Trennung von wenig aussagekräftigen (schwachen) von aussagekräftigen (starken) Variablen
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Motivation für Datenreduktion
Wenn die Dimensionalität der Eingabedaten x zunimmt, wird jedes Lernproblem immer schwieriger und rechenintensiver!
4
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Motivation für Datenreduktion
Ein weiteres Problem bei hochdimensionalen Daten ist, dass unsere geometrische Interpretation von Daten irreführend sein kann.
4
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Motivation für Datenreduktion
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Verfahren und Methoden
Die PCA führt selber keine Reduktion durch! Transformation mit den Hauptkomponenten kann zur Reduktion führen.
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Verfahren und Methoden
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
Repräsentative Instanzen können (aber müssen nicht) mehrheitlich die Instanzen der Gruppe mit einem bestimmten Wert der Zielvariable (sofern kategortisch oder intervallkodiert) verknüpfen
Hohe Zielvariablenwertdiversität in Gruppen zeigt schwache Korrelation von x mit y!
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Lineare Dimensionalitätsreduktion
Lineare Dimensionalitätsreduktion transformiert die ursprünglichen d-dimensionalen Dateninstanzen {xi}n in nieder m-dimensionale Ausdrücke {zi}n durch eine lineare Transformation T ∈ ℝm×d
zi=Txi
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Lineare Dimensionalitätsreduktion
4 (a) Lineare Dimensionalitätsreduktion (b) Projektion von Daten auf einen linearen Subraum
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Lineare Dimensionalitätsreduktion
xi←xi−1/n∑jxj
4
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Unüberwachte Dimensionsreduktion
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)
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Unüberwachte Dimensionsreduktion
Das bedeutet dass zi eine orthogonale Projektion von xi ist
Die "Distanz" zwischen x und z kann aber (als Fehler) nicht unmittelbar bestimmt werden
Die euklidische Distanz ist dann gegeben durch die totale statistische Streumatrix C und der Spur einer Matrix tr:
∑j||TTTxi−xi||2=−tr(TCTT)+tr(C)
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Unüberwachte Dimensionsreduktion
C=∑jxjxTj
maxTtr(TCTT)
T=(e1,...,em)T
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Unüberwachte Dimensionsreduktion
Ce=λe
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!
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Unüberwachte Dimensionsreduktion
17 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.
Stefan Bosse - Maschinelles Lernen - 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)
ML.pca.getEigenVectors = function(data:number [][]) → { eigenvalue: number, vector: number []} [];
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - ML.pca
ML.pca.computeAdjustedData = function (data:number [][], eigenVector1:{},eigenVector2?:{},..)→ { adjustedData: number [][], formattedAdjustedData: number [][], avgData: number [][], selectedVectors: number [][] }
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - ML.pca
ML.pca.computeOriginalData = function( formattedAdjustedData, selectedVectors, avgData) → { formattedOriginalData,}
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - PCA Beispiel
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Lokalitätsbewahrende Projektion
Wi,j=exp(−||xi−xj||22t2)
(t ist ein Anpassungsparameter)
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Lokalitätsbewahrende Projektion
Wij={1,(xi∈Nk(xj)∨xj∈Nk(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)
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Lokalitätsbewahrende Projektion
minT∑i,jWij||Txi−Txj||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,(i≠j)
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Dichtebasiertes Clustering
kNN kann ebenso als ein ML Clusterer mit Inferenz auf unbekannten Dateninstanzen eingesetzt werden
Dichtebasierte Clusteringmethoden können primär für die Datenreduktion eingesetzt werden
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Dichtebasiertes Clustering
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.
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Dichtebasiertes Clustering
www.kdnuggets.com/2020/04/dbscan-clustering-algorithm-machine-learning.html
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Dichtebasiertes Clustering
Algorithmische Schritte für DBSCAN Clustering
Der Algorithmus iteriert über alle Punkte indem er willkürlich einen Punkt im Datensatz auswählt (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: Clustering von Bildpunkten)
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Dichtebasiertes Clustering
Jede Data Mining Aufgabe hat das Problem der Parameterwahl.
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Dichtebasiertes Clustering
Aufgrund minPts Randbedingung werden u.U. nicht alle Instanzen gruppiert!
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Dichtebasiertes Clustering
Stefan Bosse - Maschinelles Lernen - Daten- und Dimensionalitätsreduktion - Zusammenfassung
Datenreduktion ist ein wichtiger Schritt in der Datenvorverarbeitung
PCA ist geeignet um numerische Eingabedaten in ihrer Dimensionalität zu reduzieren (Reduktion der Datenvariablen und Ersatz mit transformierten unter Verwendung der Hauptkomponentenvektoren aus der PCA!)
DBSCAN ist geeignet um Gruppen von Dateninstanzen zu finden um schliesslich repräsentative Instanzen daraus zu ermitteln