PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
In der Mess- und Prüftechnik
PD Stefan Bosse
Universität Bremen - FB Mathematik und Informatik
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: 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
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
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
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!
4
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.
4
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
Bestimmung von Gruppen von Dateninstanzen (mit geometrischer Gemeinsamkeit durch "Nähe") durch dichtebasierte Clusteringverfahren (DBSCAN)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und 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
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
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
xi←xi−1/n∑jxj
4
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
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)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
Das bedeutet dass zi eine orthogonale Projektion von xi ist
Die "Distanz" zwischen x und z kann aber (als Fehler) nicht unmittelbar bestimmmt 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)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
C=∑jxjxTj
maxTtr(TCTT)
T=(e1,...,em)T
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
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!
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
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.
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
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 []} [];
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
ML.pca.computeAdjustedData = function (data:number [][], eigenVector1:{},eigenVector2?:{},..)→ { adjustedData: number [][], formattedAdjustedData: number [][], avgData: number [][], selectedVectors: number [][] }
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
ML.pca.computeOriginalData = function( formattedAdjustedData, selectedVectors, avgData) → { formattedOriginalData,}
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
Wi,j=exp(−||xi−xj||22t2)
(t ist ein Anpassungsparameter)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
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)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
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)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
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
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
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.
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
www.kdnuggets.com/2020/04/dbscan-clustering-algorithm-machine-learning.html
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)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
Jede Data Mining Aufgabe hat das Problem der Parameterwahl.
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul G: Daten- und Dimensionalitätsreduktion
Datenreduktion ist ein wichtiger Schritt in der Datenvorverarbeitung
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