Visualisierung hochdimensionaler Daten
Visualisierung hochdimensionaler Daten
Visualisierung hochdimensionaler Daten
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong><br />
Hauptseminar SS11<br />
Michael Kircher
Inhalt<br />
<br />
Einführung zu hochdimensionalen <strong>Daten</strong><br />
<br />
<strong>Visualisierung</strong>smöglichkeiten<br />
dimensionale Teilmengen<br />
dimensionale Schachtelung<br />
Achsenumgestaltung<br />
Algorithmen zur Dimensionsreduktion<br />
<br />
Zusammenfassung<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 2
Einführung zu hochdimensionalen <strong>Daten</strong><br />
<br />
<strong>Daten</strong> bestehen aus einer Menge von n-Tupel<br />
n gibt Dimension an<br />
Komponenten können nominal, ordinal oder quantitativ sein<br />
<br />
Größenordnung:<br />
<strong>Daten</strong>elemente ca. 10 6 bis 10 9<br />
Dimensionen ≤ 10 2<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 3
Rohdaten Beispiel<br />
[6]<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 4
Inhalt<br />
<br />
Einführung zu hochdimensionalen <strong>Daten</strong><br />
<br />
<strong>Visualisierung</strong>smöglichkeiten<br />
dimensionale Teilmengen<br />
dimensionale Schachtelung<br />
Achsenumgestaltung<br />
Algorithmen zur Dimensionsreduktion<br />
<br />
Zusammenfassung<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 5
Dimensionale Teilmengen – Scatterplot Matrix<br />
<br />
<br />
n 2 Matrix mit allen<br />
Kombinationen<br />
symmetrisch<br />
<br />
für große n nicht<br />
geeignet<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 6
Inhalt<br />
<br />
Einführung zu hochdimensionalen <strong>Daten</strong><br />
<br />
<strong>Visualisierung</strong>smöglichkeiten<br />
dimensionale Teilmengen<br />
dimensionale Schachtelung<br />
Achsenumgestaltung<br />
Algorithmen zur Dimensionsreduktion<br />
<br />
Zusammenfassung<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 7
Dimensionale Schachtelung – Dimension Stacking<br />
3 - 4 5 - 6 7 - 8<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 8
Dimensionale Schachtelung – Dimension Stacking<br />
3 - 4 5 - 6 7 - 8<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 9
Dimensionale Schachtelung – Dimension Stacking<br />
3 - 4 5 - 6 7 - 8<br />
Cylinders:<br />
MPG:<br />
Horsepower:<br />
Weight:<br />
Acceleration:<br />
Year<br />
6<br />
20.2<br />
88.0<br />
3060.0<br />
17.1<br />
81<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 10
Dimension Stacking<br />
<br />
<br />
geeignet für wenige <strong>Daten</strong>punkte<br />
wenig Werte pro Dimension<br />
<br />
<br />
nicht geeignet für große n<br />
Dimensionen schlecht ablesbar<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 11
Inhalt<br />
<br />
Einführung zu hochdimensionalen <strong>Daten</strong><br />
<br />
<strong>Visualisierung</strong>smöglichkeiten<br />
dimensionale Teilmengen<br />
dimensionale Schachtelung<br />
Achsenumgestaltung<br />
Algorithmen zur Dimensionsreduktion<br />
<br />
Zusammenfassung<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 12
Achsenumgestaltung – Parallele Koordinaten<br />
<br />
<br />
Dimensionen werden als parallele Achsen angeordnet<br />
n-Dimensionaler Punkt ergibt Linie mit n-1 Segmente<br />
Interessant sind Bereiche zwischen Achsen<br />
zeigen Korrelation<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 13
Parallele Koordinaten – Analyse<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 14
Parallele Koordinaten – Analyse<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 15
Parallele Koordinaten – Analyse<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 16
Parallele Koordinaten – Analyse<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 17
Parallele Koordinaten – Analyse<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 18
Parallele Koordinaten – Probleme<br />
<strong>Daten</strong>satz mit ≈16.000 Elemente:<br />
Doppeldeutigkeit:<br />
[1]<br />
[1]<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 19
Hierarchische Parallele Koordinaten – Clustering<br />
<br />
Gruppierung von „nahe“ beieinander liegenden Elementen<br />
<br />
Cluster sind hierarchisch geschachtelt<br />
Wurzel-Cluster enthält alle <strong>Daten</strong>elemente<br />
Blatt-Cluster enthält genau ein Element<br />
{x 0 , x 1 , x 2 , x 3 }<br />
{x 0 , x 1 } {x 2 , x 3 }<br />
{x 0 } {x 1 } {x 2 } {x 3 }<br />
Durchschnitt<br />
Min und Max<br />
pro Dimension<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 20
Hierarchische Parallele Koordinaten<br />
<br />
230.000 Elemente bei verschiedenen Clusterebenen<br />
[1]<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 21
Parallele Koordinaten<br />
<br />
<br />
Korrelationen zwischen Dimensionen gut erkennbar<br />
theoretisch keine Einschränkung auf Anzahl der Dimensionen<br />
praktisch sinnvoll bis n ≈ 12<br />
<br />
starkes Überzeichnen bei vielen <strong>Daten</strong><br />
<br />
Clustering stellt interessanten Ansatz dar<br />
→ Interaktive <strong>Visualisierung</strong><br />
Umordnen von Achsen<br />
Brushing: hervorheben von bestimmten <strong>Daten</strong>sätzen<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 22
Inhalt<br />
<br />
Einführung zu hochdimensionalen <strong>Daten</strong><br />
<br />
<strong>Visualisierung</strong>smöglichkeiten<br />
dimensionale Teilmengen<br />
dimensionale Schachtelung<br />
Achsenumgestaltung<br />
Algorithmen zur Dimensionsreduktion<br />
<br />
Zusammenfassung<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 23
Dimensionsreduktion<br />
<br />
Algorithmus bildet hochdimensionale <strong>Daten</strong> auf niedrigere<br />
Dimension ab<br />
<br />
typisch 2D oder 3D<br />
<br />
Verfahren:<br />
Self-Organizing Map (SOM)<br />
Multidimensional Scaling (MDS)<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 24
Self-Organizing Map (SOM)<br />
<br />
Map besteht aus Gitterstruktur<br />
<br />
<br />
jeder Knoten besitzt einen<br />
Gewichtungsvektor<br />
Eingabeschicht ist mit jedem<br />
Knoten verbunden<br />
<br />
Vergleich von Eingabevektor mit Gewichtungsvektoren<br />
<br />
Zuweisung zu „Gewinnerknoten“<br />
<br />
Training- und Mappingphase<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 25
Self-Organizing Map – Training<br />
<br />
Anpassung der Gewichte<br />
geringer Einfluss auf Randknoten<br />
Einflussradius nimmt pro Iteration ab<br />
r<br />
Einfluss<br />
[5]<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 26
Self-Organizing Map – Demo<br />
<br />
40 x 40 Map<br />
<br />
<br />
<strong>Daten</strong>: 3D Vektoren<br />
Rot, Grün, Blau<br />
8 Eingabevektoren<br />
[5]<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 27
Self-Organizing Map – Demo<br />
<br />
40 x 40 Map<br />
<br />
<br />
<strong>Daten</strong>: 3D Vektoren<br />
Rot, Grün, Blau<br />
8 Eingabevektoren<br />
[5]<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 28
Inhalt<br />
<br />
Einführung zu hochdimensionalen <strong>Daten</strong><br />
<br />
<strong>Visualisierung</strong>smöglichkeiten<br />
dimensionale Teilmengen<br />
dimensionale Schachtelung<br />
Achsenumgestaltung<br />
Algorithmen zur Dimensionsreduktion<br />
Self-Organizing Map (SOM)<br />
Multidimensional Scaling (MDS)<br />
<br />
Zusammenfassung<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 29
Multidimensional Scaling (MDS)<br />
<br />
versucht Abstände der <strong>Daten</strong>punkte in hoher Dimension auf niedrige<br />
Dimension zu übertragen<br />
SMACOF<br />
Dimension D = 3 Dimension L = 2<br />
<br />
Optimierungsproblem: iterative Berechnung über SMACOF<br />
<br />
Scaling by Majorizing a COmplicated Function<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 30
MDS – SMACOF<br />
<br />
Eingabe: N x N Matrix (Δ = [δ ij ]) für Unähnlichkeiten zwischen<br />
<strong>Daten</strong>punkten<br />
<br />
symmetrisch: δ ij = δ ji<br />
positiv: δ ij ≥ 0<br />
Diagonalelemente sind Null: δ ii = 0<br />
<br />
Ausgabe: Konfiguration X im niedrig dimensionalen Raum<br />
<br />
N x L Matrix<br />
<br />
Evaluation von X durch STRESS:<br />
σ ( X )= ∑<br />
i< j ⩽N<br />
w ij<br />
(d ij<br />
( X ) − δ ij<br />
) 2<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 31
SMACOF – Majorisierung<br />
[3]<br />
<br />
Eigenschaften einer Majorisierungsfunktion g(x, z):<br />
Minimum von g(x, z) sollte einfach zu finden sein<br />
ursprüngliche Funktion ist immer kleiner: f(x) ≤ g(x, z)<br />
Gleichheit am Hilfspunkt: f(z) = g(z, z)<br />
→<br />
f (x min<br />
) ⩽ g ( x min<br />
, z) ⩽ g (z , z)= f (z)<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 32
SMACOF Algorithmus<br />
Start: set initial X [0] ,<br />
compute σ [0] , k := 0<br />
<br />
Initialisierung mit Zufallswerten<br />
k := k + 1<br />
Update X [k] by<br />
Guttman transform<br />
Compute σ [k]<br />
<br />
Guttman Transformation:<br />
X [ k ] =V + B( X [ k−1] ) X [ k−1]<br />
b ij = Verhältnis δ ij / d ij (X [k-1] )<br />
v ij = Gewichte w ij<br />
no<br />
(σ [k-1] - σ [k] < ε)<br />
or (k = MAX)<br />
yes<br />
<br />
neuen STRESS Wert bestimmen<br />
End<br />
[nach 3]<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 33
Probleme des SMACOF Algorithmus<br />
<br />
<br />
<br />
Konvergenz kann beliebig lange dauern<br />
Laufzeit O(N²)<br />
Speicher O(N²)<br />
für N = 100.000 <strong>Daten</strong>punkte, 8 Byte Double-Precision für Abstände<br />
eine N x N Matrix braucht 80 GB Hauptspeicher<br />
SMACOF nutzt 6 N x N Matrizen → 480 GB Hauptspeicher<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 34
Optimierung SMACOF<br />
<br />
<br />
Matrixmultiplikation über mehrere Rechner verteilen<br />
Matrix in p Blöcke aufteilen<br />
je ein Block pro Prozess → 1/p des Speichers<br />
(Zwischen-) Ergebnisse werden über Netzwerk gesendet<br />
(N x N) (N x L) (N x L)<br />
1<br />
2<br />
3<br />
1<br />
[2]<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 35
Ergebnisse nach Optimierung<br />
<br />
<br />
<strong>Daten</strong>: chemische Strukturen mit 166 Dimensionen<br />
8.000 Iterationen<br />
<br />
Cluster<br />
32 Knoten<br />
Intel Xeon 2,4 GHz, 6 Cores<br />
→ mehr Netzwerkverkehr bei<br />
steigender Parallelisierung<br />
[2]<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 36
Ergebnisse nach Optimierung<br />
<br />
<br />
<strong>Daten</strong>: chemische Strukturen mit 166 Dimensionen<br />
100.000 Elemente<br />
[2]<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 37
Inhalt<br />
<br />
Einführung zu hochdimensionalen <strong>Daten</strong><br />
<br />
<strong>Visualisierung</strong>smöglichkeiten<br />
dimensionale Teilmengen<br />
dimensionale Schachtelung<br />
Achsenumgestaltung<br />
Algorithmen zur Dimensionsreduktion<br />
<br />
Zusammenfassung<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 38
Zusammenfassung<br />
<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong>:<br />
<br />
Parallele Koordinaten eignen sich gut für direkte <strong>Visualisierung</strong><br />
<br />
Scatterplot Matrizen + Dimensionale Schachtelung schwierig zu lesen bei<br />
größeren Dimensionen<br />
<br />
Dimensionsreduktion eignet sich für sehr große n, um Cluster in den <strong>Daten</strong><br />
zu erkennen<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 39
Vielen Dank!
Literatur<br />
[1] Ying-Huey Fua, Matthew O. Ward and Elke A. Rundensteiner. Hierarchical Parallel<br />
Coordinates for Exploration of Large Datasets. Visualization '99 Proceedings, 1999.<br />
[2] Jong Youl Choi, Seung-Hee Bae, Xiaohong Qiu and Geoffrey Fox. High Performance<br />
Dimension Reduction and Visualization for Large High-Dimensional Data Analysis. 10th<br />
IEEE/ACM International Conference on Cluster, Cloud and Grid Computing, 2010.<br />
[3] Ingwer Borg, Patrick Groenen. Modern Multidimensional Scaling - Theory and<br />
Applications. Springer-Verlag NY, 1997.<br />
[4] R. Kosara. Parallel Coordinates. (Stand 22. Mai 2011)<br />
http://eagereyes.org/techniques/parallel-coordinates<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 41
Literatur<br />
[5] Kohonen's Self Organizing Feature Maps. (Stand 06. Juni 2011)<br />
http://www.ai-junkie.com/ann/som/som1.html<br />
[6] Harold V. Henderson, Paul F. Velleman. Building Multiple Regression Models<br />
Interactively. Biometrics Vol. 37, No. 2. Jun. 1981.<br />
<strong>Visualisierung</strong> <strong>hochdimensionaler</strong> <strong>Daten</strong> Michael Kircher 42