18.04.2014 Aufrufe

Visualisierung hochdimensionaler Daten

Visualisierung hochdimensionaler Daten

Visualisierung hochdimensionaler Daten

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!