23.11.2014 Aufrufe

Nichtlineare Dimensionsreduktionsmethoden in der ... - DPI

Nichtlineare Dimensionsreduktionsmethoden in der ... - DPI

Nichtlineare Dimensionsreduktionsmethoden in der ... - DPI

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Nichtl<strong>in</strong>eare</strong><br />

<strong>Dimensionsreduktionsmethoden</strong><br />

<strong>in</strong> <strong>der</strong> Datenanalyse und<br />

Signalverarbeitung<br />

Diplomarbeit<br />

vorgelegt von<br />

Jörg Dittmar<br />

aus<br />

Kassel<br />

angefertigt im<br />

Dritten Physikalischen Institut<br />

<strong>der</strong> Georg–August–Universität zu Gött<strong>in</strong>gen<br />

2002


Inhaltsverzeichnis<br />

E<strong>in</strong>leitung 5<br />

1 E<strong>in</strong>führung und Überblick 7<br />

1.1 Was ist Dimensionsreduktion? . . . . . . . . . . . . . . . . . . 7<br />

1.2 Warum o<strong>der</strong> wann ist Dimensionsreduktion möglich? . . . . . 9<br />

2 Pr<strong>in</strong>cipal Component Analysis 12<br />

2.1 PCA mit Korrelationsmatrizen . . . . . . . . . . . . . . . . . 15<br />

2.2 Die Berechnung <strong>der</strong> PCA . . . . . . . . . . . . . . . . . . . . . 15<br />

2.2.1 Direkte und <strong>in</strong>direkte Berechnung . . . . . . . . . . . . 15<br />

2.2.2 Näherungsweise Berechnung <strong>der</strong> Hauptachsen . . . . . 17<br />

3 Kern-PCA 18<br />

3.1 PCA im Merkmalsraum . . . . . . . . . . . . . . . . . . . . . 19<br />

3.2 Die Berechnung von Skalarprodukten im Merkmalsraum . . . 21<br />

3.3 Beispiele für Kern-Funktionen . . . . . . . . . . . . . . . . . . 24<br />

3.3.1 Homogener polynomieller Kern . . . . . . . . . . . . . 24<br />

3.3.2 Inhomogener polynomieller Kern . . . . . . . . . . . . 24<br />

3.3.3 Gauß’scher Kern . . . . . . . . . . . . . . . . . . . . . 25<br />

3.3.4 Sigmoi<strong>der</strong> Kern . . . . . . . . . . . . . . . . . . . . . . 25<br />

3.4 Aufwand zur Berechnung <strong>der</strong> Kern-PCA . . . . . . . . . . . . 25


INHALTSVERZEICHNIS 3<br />

4 Multidimensional Scal<strong>in</strong>g 27<br />

4.1 Metrisches MDS . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

4.1.1 Klassisches MDS . . . . . . . . . . . . . . . . . . . . . 29<br />

4.1.2 An<strong>der</strong>e Varianten von metrischem MDS . . . . . . . . 34<br />

4.2 Nichtmetrisches MDS . . . . . . . . . . . . . . . . . . . . . . . 36<br />

5 Isomap 38<br />

5.1 Die ursprüngliche Version von Isomap . . . . . . . . . . . . . . 40<br />

5.2 E<strong>in</strong>e neuere Variante von Isomap . . . . . . . . . . . . . . . . 41<br />

6 Locally L<strong>in</strong>ear Embedd<strong>in</strong>g 47<br />

6.1 Die Berechnung <strong>der</strong> Gewichtsmatrix . . . . . . . . . . . . . . . 48<br />

6.2 Die Berechnung <strong>der</strong> E<strong>in</strong>bettungskoord<strong>in</strong>aten . . . . . . . . . . 53<br />

6.3 Weiteres zum LLE-Algorithmus . . . . . . . . . . . . . . . . . 57<br />

7 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze 60<br />

7.1 Der Swiss Roll Datensatz . . . . . . . . . . . . . . . . . . . . . 61<br />

7.1.1 PCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

7.1.2 Kern-PCA . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />

7.1.3 Isomap . . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />

7.1.4 LLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />

7.2 Bildanordnung I: Webcam-Bil<strong>der</strong> . . . . . . . . . . . . . . . . 73<br />

7.2.1 PCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />

7.2.2 Kern-PCA . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />

7.2.3 Isomap . . . . . . . . . . . . . . . . . . . . . . . . . . . 76<br />

7.2.4 LLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78<br />

7.3 Bildanordnung II: Kavitationsblasen . . . . . . . . . . . . . . 79<br />

7.3.1 PCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80


4 INHALTSVERZEICHNIS<br />

7.3.2 Kern-PCA . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />

7.3.3 Isomap . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />

7.3.4 LLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86<br />

7.4 E<strong>in</strong>bettung von Sprachsignalen . . . . . . . . . . . . . . . . . 86<br />

8 Zusammenfassung und Ausblick 93<br />

A Ergänzungen zur Theorie 96<br />

A.1 Stochastische Grundlagen . . . . . . . . . . . . . . . . . . . . 96<br />

A.2 Etwas Graphentheorie . . . . . . . . . . . . . . . . . . . . . . 98<br />

A.2.1 Der Algorithmus von Dijkstra . . . . . . . . . . . . . 101<br />

A.2.2 Der Floyd-Warshall-Algorithmus . . . . . . . . . . . . 104<br />

Literaturverzeichnis 108


E<strong>in</strong>leitung<br />

In Technik und Wissenschaft steht man oft vor <strong>der</strong> Aufgabe, sehr große<br />

Datenmengen verarbeiten zu müssen. E<strong>in</strong> Beispiel aus <strong>der</strong> Hochenergiephysik<br />

s<strong>in</strong>d die Experimente an Teilchenbeschleunigern wie dem CERN <strong>in</strong> Genf, bei<br />

denen auf <strong>der</strong> Suche nach neuen Elementarteilchen gigantische Datenmengen<br />

anfallen, die irgendwie elektronisch verarbeitet werden müssen. E<strong>in</strong> an<strong>der</strong>es<br />

Beispiel ist die Beobachtung astronomischer Objekte, wo mit elektronisch<br />

gesteuerten Teleskopen automatisch die Spektren sehr vieler Himmelskörper<br />

gemessen werden, die anschließend verarbeitet werden müssen.<br />

Die gemessenen Daten kann man sich als Punkte <strong>in</strong> e<strong>in</strong>em sehr hochdimensionalen<br />

Raum vorstellen, <strong>in</strong> dem je<strong>der</strong> Richtung e<strong>in</strong>e Messgröße o<strong>der</strong> Variable<br />

entspricht. Weiterh<strong>in</strong> haben solche Daten die Eigenschaft, dass sie nicht re<strong>in</strong><br />

statistischer Natur s<strong>in</strong>d, son<strong>der</strong>n ihnen unterliegt e<strong>in</strong>e gewisse Struktur, d.h.<br />

die e<strong>in</strong>zelnen Messgrößen s<strong>in</strong>d nicht unabhängig vone<strong>in</strong>an<strong>der</strong>. Es herrschen<br />

also Korrelationen zwischen den Variablen, die dazu führen, dass die Daten<br />

nicht den gesamten hochdimensionalen Raum ausfüllen, son<strong>der</strong>n auf e<strong>in</strong>er<br />

Untermannigfaltigkeit niedrigerer Dimension liegen. Vielfach s<strong>in</strong>d die Korrelationen<br />

sehr stark; es herrschen viele gegenseitige Abhängigkeiten unter den<br />

Variablen, die dazu führen, dass die Dimension <strong>der</strong> Untermannigfaltigkeit<br />

sehr viel niedriger ist als die Raumdimension und sich die Untermannigfaltigkeit<br />

somit durch relativ wenige Parameter beschreiben lässt. Solche Parameter<br />

zu f<strong>in</strong>den ist die Aufgabe <strong>der</strong> Dimensionsreduktion: Man sucht nach<br />

kompakten Repräsentationen hochdimensionaler Daten, die die wesentliche<br />

Struktur dieser Daten erhalten.<br />

Die vorliegende Arbeit beschäftigt sich mit verschiedenen Verfahren zur Dimensionsreduktion,<br />

von denen e<strong>in</strong>ige bereits zu Beg<strong>in</strong>n des Zwanzigsten Jahrhun<strong>der</strong>ts<br />

entwickelt wurden und an<strong>der</strong>e Gegenstand aktueller Forschung s<strong>in</strong>d.<br />

Die Arbeit ist folgen<strong>der</strong>maßen organisiert: Im ersten Kapitel wird e<strong>in</strong>e E<strong>in</strong>führung<br />

<strong>in</strong> die Konzepte <strong>der</strong> Dimensionsreduktion gegeben. Die nachfolgenden<br />

Kapitel behandeln dann e<strong>in</strong>ige Algorithmen im Detail: Im zweiten Kapitel<br />

wird die sog. Pr<strong>in</strong>cipal Component Analysis o<strong>der</strong> kurz PCA vorgestellt,


6 INHALTSVERZEICHNIS<br />

die e<strong>in</strong> klassisches, l<strong>in</strong>eares Verfahren ist. Das dritte Kapitel behandelt e<strong>in</strong>e<br />

nichtl<strong>in</strong>eare Erweiterung <strong>der</strong> PCA, die Kern-PCA, die auf Methoden<br />

<strong>der</strong> Funktionalanalysis beruht. Im vierten Kapitel wird e<strong>in</strong> weiteres klassisches,<br />

l<strong>in</strong>eares Verfahren vorgestellt, das Multidimensional Scal<strong>in</strong>g (MDS).<br />

Die nächsten beiden Kapitel behandeln zwei neue Algorithmen zur nichtl<strong>in</strong>earen<br />

Dimensionsreduktion: Isomap als nichtl<strong>in</strong>eare Erweiterung von MDS wird<br />

im fünften Kapitel vorgestellt und <strong>der</strong> Locally L<strong>in</strong>ear Embedd<strong>in</strong>g-Algorithmus<br />

wird im sechsten Kapitel behandelt. Im siebten Kapitel werden die Methoden<br />

dann anhand e<strong>in</strong>iger Beispieldatensätze getestet und verglichen. Zuerst<br />

werden alle Methoden auf die sog. Swiss Roll angewendet, e<strong>in</strong>e zweidimensionale,<br />

gekrümmte Mannigfaltigkeit, die <strong>in</strong> den dreidimensionalen euklidischen<br />

Raum e<strong>in</strong>gebettet ist. Anschließend erfolgt e<strong>in</strong>e Anwendung auf Bilddaten,<br />

wo untersucht wird, ob die Algorithmen s<strong>in</strong>nvolle Anordnungen <strong>der</strong> Bilddaten<br />

<strong>in</strong> e<strong>in</strong>em niedrigdimensionalen Raum f<strong>in</strong>den können. Zuletzt werden<br />

die Algorithmen dann noch auf Sprachdaten angewendet. Das achte Kapitel<br />

enthält dann e<strong>in</strong>e Zusammenfassung <strong>der</strong> Ergebnisse und e<strong>in</strong>en Ausblick auf<br />

noch offene Fragen. Als Ergänzung bef<strong>in</strong>det sich am Ende <strong>der</strong> Arbeit noch e<strong>in</strong><br />

Anhang, <strong>in</strong> dem statistische Grundbegriffe und Elemente <strong>der</strong> Graphentheorie<br />

behandelt werden, die <strong>in</strong> <strong>der</strong> Arbeit zum E<strong>in</strong>satz kommen.


Kapitel 1<br />

E<strong>in</strong>führung und Überblick<br />

1.1 Was ist Dimensionsreduktion?<br />

Die Dimensionsreduktion lässt sich <strong>in</strong> den Kontext <strong>der</strong> statistischen Lerntheorie<br />

e<strong>in</strong>ordnen, die das Ziel hat, automatisch Repräsentationen o<strong>der</strong> Modelle<br />

für (große) Datenbestände zu f<strong>in</strong>den [12]. Die statistische Lerntheorie<br />

spielt e<strong>in</strong>e wichtige Rolle <strong>in</strong> vielen Bereichen von Forschung, Wissenschaft<br />

und Industrie. Es werden dort z.B. Probleme behandelt wie die automatische<br />

Erkennung handgeschriebener Zeichen, (biometrische) Gesichtserkennung<br />

o<strong>der</strong> die Vorhersage des wie<strong>der</strong>holten Auftretens e<strong>in</strong>es Herz<strong>in</strong>farkts anhand<br />

von kl<strong>in</strong>ischen und demographischen Daten und Ernährungsgewohnheiten<br />

<strong>der</strong> Patienten. Weitere Probleme, die <strong>in</strong> den Bereich <strong>der</strong> statistischen<br />

Lerntheorie fallen, s<strong>in</strong>d z.B. die Navigation autonomer Roboter o<strong>der</strong> die automatische<br />

Qualitätskontrolle <strong>in</strong> <strong>in</strong>dustriellen Produktionsanlagen anhand<br />

bestimmter Kriterien. Man unterscheidet dabei zwischen beaufsichtigtem<br />

Lernen (Supervised Learn<strong>in</strong>g) und unbeaufsichtigtem Lernen (Unsupervised<br />

Learn<strong>in</strong>g). Im ersten Fall versucht man, die freien Parameter des (Lern-)<br />

Algorithmus so zu wählen, dass sie für e<strong>in</strong>e Menge von Tra<strong>in</strong><strong>in</strong>gsdaten optimale<br />

Ergebnisse liefern. Übertragen z.B. auf das Problem <strong>der</strong> Qualitätskontrolle,<br />

wo im e<strong>in</strong>fachsten Fall e<strong>in</strong>e Klassifikation <strong>der</strong> erzeugten Güter <strong>in</strong><br />

” brauchbar“ und unbrauchbar“ erfolgen soll, bedeutet das, dass man dem<br />

”<br />

Algorithmus e<strong>in</strong>e Menge von Tra<strong>in</strong><strong>in</strong>gsdaten {(x, y)} vorgibt, wobei im Vektor<br />

x jeweils die Größen e<strong>in</strong>er Messung zusammengefasst s<strong>in</strong>d, anhand <strong>der</strong>er<br />

die Klassifikation erfolgen soll. Die (hier e<strong>in</strong>dimensionale) Größe y enthält<br />

h<strong>in</strong>gegen jeweils den richtigen Klassifikationswert, <strong>der</strong> z.B. von menschlichen<br />

Kontrolleuren ermittelt wird. Der Klassifikationsalgorithmus enthält gewisse<br />

zunächst freie Parameter, die nun so gewählt werden, dass die aus den E<strong>in</strong>-


8 E<strong>in</strong>führung und Überblick<br />

gangsdaten x gebildeten Vorhersagen möglichst gut den richtigen Werten y<br />

entsprechen. Die Hoffnung ist dann, dass <strong>der</strong> Algorithmus auch für an<strong>der</strong>e<br />

als die Tra<strong>in</strong><strong>in</strong>gsdaten richtige Ergebnisse liefert.<br />

Beim unsupervised learn<strong>in</strong>g hat man ke<strong>in</strong>e Tra<strong>in</strong><strong>in</strong>gsdaten zur Verfügung, anhand<br />

<strong>der</strong>er man die Lernalgorithmen tra<strong>in</strong>ieren kann. Es stehen e<strong>in</strong>zig und<br />

alle<strong>in</strong> die E<strong>in</strong>gangsdaten selbst zur Verfügung, aus denen wichtige Merkmale<br />

extrahiert werden sollen. Wie diese Merkmale aussehen o<strong>der</strong> was sie<br />

beschreiben, ist je nach Datensatz a priori völlig unbekannt. Das Ziel dabei<br />

ist, dass z.B. Masch<strong>in</strong>en mit sehr vielen Sensoren für unterschiedliche<br />

Messgrößen die riesigen Mengen an anfallenden Sensor-Rohdaten verarbeiten<br />

können und kompakte Repräsentationen dafür f<strong>in</strong>den, ähnlich wie dies auch<br />

(meist unbewusst) <strong>der</strong> Mensch tut. Die Dimensionsreduktion ist e<strong>in</strong>e Form<br />

des unsupervised learn<strong>in</strong>g, die automatisch niedrigdimensionale Repräsentationen<br />

für hochdimensionale Daten f<strong>in</strong>den soll. Dabei soll e<strong>in</strong>e möglichst<br />

starke Reduzierung <strong>der</strong> Dimension unter gleichzeitiger Erhaltung <strong>der</strong> wesentlichen<br />

Merkmale o<strong>der</strong> Strukturen erreicht werden, wobei diese Merkmale<br />

alle<strong>in</strong> aus den Daten selbst extrahiert werden müssen, also ohne irgendwelche<br />

äußeren Informationen o<strong>der</strong> sonstigen Hilfen.<br />

Die Dimensionsreduktion f<strong>in</strong>det also e<strong>in</strong>e Abbildung f vom Raum <strong>der</strong> E<strong>in</strong>gangsdaten<br />

R D (E<strong>in</strong>gaberaum o<strong>der</strong> Input Space) <strong>in</strong> e<strong>in</strong>en niedrigdimensionalen<br />

Merkmalsraum R d (Feature Space), wobei d < D und oft d ≪ D. Je<strong>der</strong><br />

Punkt x i ∈ R D aus dem E<strong>in</strong>gaberaum wird dabei auf e<strong>in</strong>en Punkt y i ∈ R d<br />

aus dem Merkmalsraum abgebildet: y i = f(x i ). Die meisten Algorithmen<br />

führen diese Abbildung nur implizit aus, d.h. sie berechnen die Bil<strong>der</strong> <strong>der</strong><br />

E<strong>in</strong>gangsdaten, ohne f irgendwie explizit zu bestimmen o<strong>der</strong> gar zurückzuliefern.<br />

Man spricht <strong>in</strong> diesem Zusammenhang auch von e<strong>in</strong>er E<strong>in</strong>bettung<br />

<strong>der</strong> E<strong>in</strong>gangsdaten <strong>in</strong> den Merkmalsraum. Der Merkmalsraum wird dann oft<br />

auch E<strong>in</strong>bettungsraum genannt.<br />

Anwendungen <strong>der</strong> Dimensionsreduktion s<strong>in</strong>d z.B. die Visualisierung hochdimensionaler<br />

Daten, bei <strong>der</strong> man e<strong>in</strong>e niedrigdimensionale E<strong>in</strong>bettung <strong>der</strong><br />

Daten berechnet und diese graphisch darstellt <strong>in</strong> <strong>der</strong> Hoffnung, dass <strong>in</strong> diesem<br />

Graphen die wesentliche Struktur <strong>der</strong> Daten enthalten ist. Weiterh<strong>in</strong><br />

eignen sich diese Methoden sehr gut als Vorverarbeitung für Algorithmen zur<br />

Klassifikation, <strong>in</strong>dem die Daten s<strong>in</strong>nvoll nach Merkmalen sortiert im E<strong>in</strong>bettungsraum<br />

angeordnet werden, was die Komplexität des Klassifizierungsalgorithmus’<br />

wesentlich reduzieren kann [27]. An<strong>der</strong>e Anwendungen s<strong>in</strong>d die<br />

Kompression von Daten durch Beseitigung von Redundanzen und die Interpolation,<br />

Erzeugung und Entrauschung von Daten [24]. Neben den hier<br />

vorgestellten Algorithmen existieren noch e<strong>in</strong>ige weitere wie z.B. die Self


1.2 Warum o<strong>der</strong> wann ist Dimensionsreduktion möglich? 9<br />

Organiz<strong>in</strong>g Maps (SOM, [17]) o<strong>der</strong> auf Neuronalen Netzen basierende Algorithmen.<br />

E<strong>in</strong>en Überblick über verschiedene, zum Teil hier nicht behandelte<br />

Algorithmen zur Dimensionsreduktion f<strong>in</strong>det man <strong>in</strong> [6].<br />

1.2 Warum o<strong>der</strong> wann ist Dimensionsreduktion<br />

möglich?<br />

Um diese Frage zu beantworten, ist es günstig, das folgende Beispiel zu betrachten.<br />

Abb. 1.1 zeigt e<strong>in</strong>e Ansammlung von Graustufenbil<strong>der</strong>n, die mit<br />

dem Computer generiert wurden und e<strong>in</strong>en menschlichen Kopf zeigen, <strong>der</strong><br />

<strong>in</strong> verschiedenen W<strong>in</strong>keln gedreht und geneigt ist und außerdem aus unterschiedlichen<br />

Richtungen beleuchtet wird. 1 Gezeigt ist hier nur e<strong>in</strong> kle<strong>in</strong>er<br />

Abbildung 1.1: Computergenerierte Graustufenbil<strong>der</strong> e<strong>in</strong>es <strong>in</strong> verschiedenen W<strong>in</strong>keln<br />

gedrehten und geneigten Kopfes, <strong>der</strong> aus unterschiedlichen Richtungen beleuchtet wird.<br />

Ausschnitt; <strong>der</strong> komplette Datensatz enthält 698 solcher Bil<strong>der</strong>. Jedes Bild<br />

hat e<strong>in</strong>e Größe von 64 × 64 Pixeln. Wie lässt sich e<strong>in</strong> solches Bild e<strong>in</strong>deutig<br />

beschreiben? Nun, man kann e<strong>in</strong> Bild auf jeden Fall e<strong>in</strong>deutig als Punkt <strong>in</strong><br />

e<strong>in</strong>em 64 2 = 4096-dimensionalen Raum darstellen, <strong>in</strong>dem man jedem Pixel<br />

e<strong>in</strong>e Richtung im Raum zuordnet, wobei sich <strong>der</strong> entsprechende Vektor z.B.<br />

durch Ane<strong>in</strong>an<strong>der</strong>hängen <strong>der</strong> Zeilen ergibt. 2 Allerd<strong>in</strong>gs unterscheiden sich<br />

doch die Bil<strong>der</strong> nur <strong>in</strong> den drei oben angesprochenen Parametern: den Drehbzw.<br />

Neigungsw<strong>in</strong>keln und den Richtungen, aus denen <strong>der</strong> Kopf beleuchtet<br />

wird. Es muss also möglich se<strong>in</strong>, die Vektoren im 4096-dimensionalen Raum<br />

1 Diese Bil<strong>der</strong> stammen aus [15].<br />

2 Dabei sei außer Acht gelassen, dass die Bil<strong>der</strong> nur diskrete Punkte <strong>in</strong> diesem Raum<br />

beschreiben können, da jedes Pixel nur e<strong>in</strong>en aus 256 Werten (Graustufen) annehmen<br />

kann.


10 E<strong>in</strong>führung und Überblick<br />

mit nur drei Parametern beschreiben zu können. Diese E<strong>in</strong>schränkung auf nur<br />

drei Freiheitsgrade rührt daher, dass die Pixel nicht zufällig verteilte Werte<br />

annehmen, son<strong>der</strong>n eben <strong>in</strong>sgesamt e<strong>in</strong> Gesicht zeigen, und zwar e<strong>in</strong> bestimmtes.<br />

Es herrschen also starke Korrelationen zwischen den Pixeln e<strong>in</strong>es Bildes<br />

und auch zwischen den Bil<strong>der</strong>n selbst. Dies führt dazu, dass die Vektoren im<br />

E<strong>in</strong>gaberaum auf e<strong>in</strong>er glatten, niedrigdimensionalen Untermannigfaltigkeit<br />

liegen, die <strong>in</strong> diesem Beispiel dreidimensional ist. Dass die Mannigfaltigkeit<br />

glatt ist, kann man sich <strong>in</strong>tuitiv so überlegen: ”<br />

Wackelt“ man nur etwas an e<strong>in</strong>er<br />

beliebigen Komponente e<strong>in</strong>es Bild-Vektors, so zeigt das Bild immer noch<br />

dieselbe Person mit <strong>der</strong>selben Pose, es gibt dann also ke<strong>in</strong>e Sprünge zwischen<br />

verschiedenen Posen o<strong>der</strong> Bil<strong>der</strong>n. Die Mannigfaltigkeit ist außerdem dünn<br />

<strong>in</strong> dem S<strong>in</strong>ne, dass sie nur e<strong>in</strong>en kle<strong>in</strong>en Teil des E<strong>in</strong>gaberaumes ausfüllt,<br />

d.h. wenn man e<strong>in</strong>en zufälligen Punkt aus dem E<strong>in</strong>gaberaum auswählt, was<br />

e<strong>in</strong>em Bild mit zufälligen Pixelwerten entspricht, so wird dieses Bild mit sehr<br />

hoher Wahrsche<strong>in</strong>lichkeit nicht den Kopf aus Abb. 1.1 zeigen.<br />

In e<strong>in</strong>em solchen Fall sollte e<strong>in</strong>e Dimensionsreduktion möglich se<strong>in</strong>, und e<strong>in</strong><br />

entsprechen<strong>der</strong> Algorithmus sollte e<strong>in</strong>e Anordnung <strong>der</strong> Punkte im E<strong>in</strong>bettungsraum<br />

f<strong>in</strong>den können, <strong>in</strong> dem bestimmte Richtungen bestimmten Än<strong>der</strong>ungen<br />

<strong>der</strong> Posen entsprechen, diese also <strong>in</strong> bestimmter Weise durch die<br />

Richtungen im E<strong>in</strong>bettungsraum parametrisiert werden. Die Wahl <strong>der</strong> Koord<strong>in</strong>aten<br />

ist dabei allerd<strong>in</strong>gs nicht e<strong>in</strong>deutig, und die von den Algorithmen<br />

gefundenen Parametrisierungen <strong>der</strong> Mannigfaltigkeit entsprechen nicht unbed<strong>in</strong>gt<br />

<strong>der</strong> Parametrisierung, die e<strong>in</strong> menschlicher Beobachter erwarten würde.<br />

Zwischen verschiedenen Parametrisierungen besteht auch nicht notwenigerweise<br />

e<strong>in</strong> l<strong>in</strong>earer Zusammenhang – man denke zum Beispiel an die Parametrisierung<br />

e<strong>in</strong>er euklidischen Ebene, die z.B. durch kartesische Koord<strong>in</strong>aten<br />

erfolgen kann, aber auch durch Polarkoord<strong>in</strong>aten, wobei beide Parametrisierungen<br />

durch nichtl<strong>in</strong>eare Transformationen ause<strong>in</strong>an<strong>der</strong> hervorgehen.<br />

Oft s<strong>in</strong>d die den Daten unterliegenden niedrigdimensionalen Mannigfaltigkeiten<br />

nichtl<strong>in</strong>ear. E<strong>in</strong> l<strong>in</strong>earer Dimensionsreduktionsalgorithmus kann dann<br />

ke<strong>in</strong>e E<strong>in</strong>bettung <strong>in</strong> e<strong>in</strong>en euklidischen Raum f<strong>in</strong>den, dessen Dimension <strong>der</strong><br />

Dimension <strong>der</strong> Mannigfaltigkeit entspricht und <strong>der</strong>en Struktur vollständig<br />

beschreibt. Es werden dann mehr E<strong>in</strong>bettungsdimensionen benötigt als die<br />

Anzahl <strong>der</strong> Freiheitsgrade <strong>der</strong> Daten, o<strong>der</strong> aber die E<strong>in</strong>bettung kann die<br />

Mannigfaltigkeit nicht vollständig parametrisieren. L<strong>in</strong>ear bedeutet <strong>in</strong> diesem<br />

Zusammenhang, dass die Koord<strong>in</strong>aten des E<strong>in</strong>bettungsraumes durch l<strong>in</strong>eare<br />

Transformationen aus den Koord<strong>in</strong>aten des E<strong>in</strong>gaberaumes hervorgehen. E<strong>in</strong><br />

anschauliches Beispiel für e<strong>in</strong>e nichtl<strong>in</strong>eare Mannigfaltigkeit ist die <strong>in</strong> Abb.<br />

1.2 gezeigte Swiss Roll, die <strong>in</strong> [30] e<strong>in</strong>geführt wird. Die Swiss Roll stellt e<strong>in</strong>e<br />

zweidimensionale Mannigfaltigkeit dar, die <strong>in</strong> den R 3 e<strong>in</strong>gebettet ist und


1.2 Warum o<strong>der</strong> wann ist Dimensionsreduktion möglich? 11<br />

30<br />

x 3<br />

0<br />

15<br />

10<br />

5<br />

0<br />

x 1<br />

−5<br />

−10<br />

15<br />

10<br />

5<br />

x 2<br />

0<br />

−5<br />

−10<br />

Abbildung 1.2: Die Swiss Roll<br />

parametrisiert wird durch<br />

Swiss Roll = {(x 1 , x 2 , x 3 ) ∈ R 3 |<br />

x 1 = t cos(t), x 2 = t s<strong>in</strong>(t), x 3 ∈ [0, 35] | t ∈ [3π/2, 9π/2]} . (1.1)<br />

Diese Beispiel eignet sich sehr gut, um die Entwicklung nichtl<strong>in</strong>earer Dimensionsreduktionsalgorithmen<br />

zu motivieren, denn <strong>in</strong>tuitiv ist klar, dass es ke<strong>in</strong>e<br />

l<strong>in</strong>eare E<strong>in</strong>bettung <strong>der</strong> Swiss Roll <strong>in</strong> e<strong>in</strong>en zweidimensionalen euklidischen<br />

Raum geben kann, <strong>der</strong> diese Mannigfaltigkeit parametrisiert. Dieses Problem<br />

wird noch genauer <strong>in</strong> Kapitel 5 bei <strong>der</strong> E<strong>in</strong>führung des Isomap-Algorithmus’<br />

behandelt.<br />

Methoden <strong>der</strong> Dimensionsreduktion bieten sich also immer dann an, wenn<br />

<strong>in</strong> den zu verarbeitenden Daten sehr viel Redundanz steckt, die Daten also<br />

wesentlich weniger Freiheitsgrade haben als die Dimension des Raumes groß<br />

ist, <strong>in</strong> dem sie leben.


Kapitel 2<br />

Pr<strong>in</strong>cipal Component Analysis<br />

Die Pr<strong>in</strong>cipal Component Analysis (PCA, Hauptkomponentenanalyse) stellt<br />

e<strong>in</strong> Verfahren zur l<strong>in</strong>earen Dimensionsreduktion dar, das zuerst 1901 von<br />

Pearson [23] beschrieben und unabhängig davon 1931 von Hotell<strong>in</strong>g [14]<br />

entwickelt wurde.<br />

Pearsons Herleitung <strong>der</strong> PCA löst das geometrische Problem, e<strong>in</strong>e Menge<br />

von Punkten x 1 , . . . , x N ∈ R n aus e<strong>in</strong>em n-dimensionalen Raum bestmöglich<br />

l<strong>in</strong>ear auf e<strong>in</strong>en Unterraum niedrigerer Dimension q < n abzubilden. ”<br />

Bestmöglich“<br />

ist dabei im quadratischen S<strong>in</strong>ne zu verstehen, d.h. die Summe <strong>der</strong><br />

quadrierten Abstände zwischen den Punkten und ihren jeweiligen Projektionen<br />

auf den Unterraum soll m<strong>in</strong>imal werden.<br />

Hotell<strong>in</strong>g h<strong>in</strong>gegen suchte <strong>in</strong> e<strong>in</strong>er Menge von Punkten aus e<strong>in</strong>em hochdimensionalen<br />

Raum nach zue<strong>in</strong>an<strong>der</strong> orthogonalen Richtungen, <strong>in</strong> denen die<br />

Varianz <strong>der</strong> Daten möglichst groß ist. Man kann zeigen, dass beide Probleme<br />

äquivalent s<strong>in</strong>d.<br />

Es seien N mittelwertfreie Daten x 1 , . . . , x N ∈ R n <strong>der</strong> Dimension n gegeben. 1<br />

Diese Vektoren können als Messwerte o<strong>der</strong> Samples e<strong>in</strong>er Zufallsvariablen x<br />

aufgefasst werden. Aus den Samples ergibt sich die geschätzte Kovarianzmatrix<br />

C von x zu<br />

C = 1 N∑<br />

x i x T i = 1 N<br />

N XT X , (2.1)<br />

i=1<br />

wobei die Matrix X = (x 1 , . . . , x N ) T ∈ R N×n die Vektoren als Zeilen enthält.<br />

Die Lösung <strong>der</strong> obigen Probleme läuft auf e<strong>in</strong>e Hauptachsentransformation<br />

1 Ist <strong>der</strong> Mittelwert ¯x = 1/N ∑ N<br />

i=1 x i <strong>der</strong> Daten von Null verschieden, so ersetze man<br />

im Folgenden immer x i durch die mittelwertfreie Größe ˜x i = x i − ¯x, i = 1, . . . , N.


13<br />

<strong>der</strong> Kovarianzmatrix <strong>der</strong> Daten h<strong>in</strong>aus. Da C symmetrisch ist, s<strong>in</strong>d alle ihre<br />

Eigenwerte reell, und e<strong>in</strong>e solche Hauptachsentransformation ist immer<br />

möglich ([10]). Da C außerdem auch noch positiv semidef<strong>in</strong>it ist, s<strong>in</strong>d alle<br />

Eigenwerte zusätzlich nichtnegativ ([34]).<br />

Bei <strong>der</strong> Hauptachsentransformation wird die Kovarianzmatrix durch e<strong>in</strong>e orthogonale<br />

Matrix U diagonalisiert: U T C U = D, wobei die Spalten von U<br />

aus den Eigenvektoren von C bestehen und D = diag(λ 1 , . . . , λ n ) die Diagonalmatrix<br />

mit den Eigenwerten von C ist. Es gilt also<br />

C U = U D (2.2)<br />

bzw. C u i = λ i u i , i = 1, . . . , n , (2.3)<br />

wobei im Folgenden die Eigenwerte o.E.d.A. nach abfallen<strong>der</strong> Größe sortiert<br />

seien: λ 1 ≥ . . . ≥ λ n .<br />

Es zeigt sich, dass die Richtung größter Varianz gerade durch den Eigenvektor<br />

u 1 zum größten Eigenwert λ 1 von C gegeben ist. Entsprechend ist die<br />

Richtung größter Varianz im zu u 1 orthogonalen Unterraum gerade durch<br />

den Eigenvektor u 2 zum zweitgrößten Eigenwert λ 2 gegeben usw. Die Varianzen<br />

<strong>in</strong> den neuen Richtungen u i stimmen dabei mit den entsprechenden<br />

Eigenwerten λ i übere<strong>in</strong>, d.h. die Varianz <strong>der</strong> auf die Achse u i projizierten<br />

Daten ist gerade λ i . Entsprechend heißen die Eigenvektoren u i auch Hauptachsen<br />

von C. H<strong>in</strong>gegen bezeichnet man die Projektion u T k x i des Punktes x i<br />

auf die k-te Hauptachse u k als k-te Hauptkomponente (pr<strong>in</strong>cipal component,<br />

PC) von x i .<br />

Der Punkt x i besitzt im neuen gedrehten Koord<strong>in</strong>atensystem <strong>der</strong> u k die<br />

Darstellung<br />

n∑<br />

x i = (x T i u k )u k . (2.4)<br />

k=1<br />

Die eigentliche Dimensionsreduktion besteht nun dar<strong>in</strong>, nur die ersten p ≪ n<br />

PCs zur Approximation zu benutzen, d.h. den Punkt x i ∈ R n durch den<br />

Punkt y i ∈ R p zu approximieren durch<br />

p∑<br />

y i = (x T i u k )u k . (2.5)<br />

k=1<br />

Die PCA besitzt folgende Eigenschaften:<br />

• Die ersten p Hauptkomponenten (p ∈ {1, . . . , n}) enthalten mehr Varianz<br />

<strong>der</strong> E<strong>in</strong>gangsdaten x i als irgendwelche p an<strong>der</strong>en zue<strong>in</strong>an<strong>der</strong> orthogonalen<br />

Richtungen.


14 Pr<strong>in</strong>cipal Component Analysis<br />

• Die Varianz <strong>der</strong> Daten <strong>in</strong> Richtung <strong>der</strong> k-ten Hauptachse stimmt mit<br />

dem Eigenwert λ k <strong>der</strong> Kovarianzmatrix übere<strong>in</strong>:<br />

Var[Xu k ] = λ k . (2.6)<br />

• Der mittlere quadratische Fehler bei <strong>der</strong> Projektion <strong>der</strong> Daten auf die<br />

ersten p Hauptachsen ist m<strong>in</strong>imal bezüglich aller orthogonalen Projektionen<br />

auf e<strong>in</strong>en p-dimensionalen Unterraum.<br />

• Die PCs s<strong>in</strong>d unkorreliert.<br />

25<br />

20<br />

15<br />

y 2<br />

10<br />

5<br />

0<br />

−5<br />

−10 −5 0 5 10 15 20 25<br />

y 1<br />

Abbildung 2.1: Die Hauptachsen für e<strong>in</strong>e normalverteilte Punktwolke<br />

Abb. 2.1 zeigt e<strong>in</strong>e Punktwolke aus N = 2000 Datenpunkten mit den zugehörigen<br />

Hauptachsen. Die x 1 - und x 2 -Komponenten bestehen jeweils aus<br />

normalverteilten Zufallszahlen mit Standardabweichung σ 1 = 6.05 bzw. σ 2 =<br />

3.60 und Mittelwert ¯x = (6, 7) T . Die Projektion auf die erste Hauptachse<br />

enthält dabei 98.0% <strong>der</strong> Gesamtvarianz <strong>der</strong> Daten, die zweite Hauptachse<br />

enthält die übrigen 2%.


2.1 PCA mit Korrelationsmatrizen 15<br />

2.1 PCA mit Korrelationsmatrizen<br />

Die bisherige Behandlung <strong>der</strong> PCA zielte immer auf e<strong>in</strong>e Diagonalisierung<br />

<strong>der</strong> Kovarianzmatrix ab. Dies ist auch s<strong>in</strong>nvoll, wenn die verschiedenen Komponenten<br />

(Variablen) <strong>der</strong> E<strong>in</strong>gangsdaten Messwerte gleicher E<strong>in</strong>heiten s<strong>in</strong>d<br />

und die Messfehler <strong>der</strong> Komponenten <strong>in</strong> <strong>der</strong> gleichen Größenordnung liegen.<br />

Oft ist diese Annahme aber nicht erfüllt. Man stellt dann z.B. fest, dass die<br />

Hauptkomponenten von Datensätzen, <strong>der</strong>en Variablen sehr unterschiedliche<br />

Varianzen besitzen, fast vollständig von den Variablen mit den größten Varianzen<br />

bestimmt werden. In e<strong>in</strong>em solchen Fall kann es s<strong>in</strong>nvoll se<strong>in</strong>, die<br />

e<strong>in</strong>zelnen Variablen auf ihre Standardabweichung h<strong>in</strong> zu normieren. Man dividiert<br />

dann jeweils die j-te Komponente des E<strong>in</strong>gabevektors x i durch die aus<br />

den j-ten Komponenten aller E<strong>in</strong>gabedaten berechnete Standardabweichung.<br />

Aus <strong>der</strong> Matrix X = (x 1 , . . . , x N ) T <strong>der</strong> E<strong>in</strong>gabedaten bekommt man also die<br />

Matrix X ⋆ <strong>der</strong> auf Standardabweichung E<strong>in</strong>s normierten Daten durch<br />

X ⋆ = (x ⋆ ij) , x ⋆ ij = x ij /σ j , i = 1, . . . , N, j = 1, . . . , n , (2.7)<br />

wobei σ j die Standardabweichung <strong>der</strong> j-ten Spalte von X ist. Die Kovarianzmatrix<br />

<strong>der</strong> so normierten Daten ist dann nach (A.13) gerade die Korrelationsmatrix<br />

C ⋆ = 1 N X⋆T X ⋆ (2.8)<br />

<strong>der</strong> E<strong>in</strong>gabedaten x i . Die Berechnung <strong>der</strong> Hauptkomponeten läuft dann völlig<br />

analog zum vorigen Abschnitt mit dem e<strong>in</strong>zigen Unterschied, dass man jetzt<br />

die Hauptachsen aus <strong>der</strong> Diagonalisierung <strong>der</strong> Korrelationsmatrix bekommt.<br />

2.2 Die Berechnung <strong>der</strong> PCA<br />

2.2.1 Direkte und <strong>in</strong>direkte Berechnung<br />

Bei <strong>der</strong> Berechnung <strong>der</strong> PCA hat man das Eigenwertproblem (2.3) zu lösen.<br />

Dabei tritt die Kovarianzmatrix C = 1/N X T X auf. Den Normierungsfaktor<br />

1/N braucht man bei <strong>der</strong> Lösung des Eigenwertproblems nicht zu berücksichtigen,<br />

denn die Eigenvektoren von C und X T X stimmen übere<strong>in</strong>. Für die<br />

Eigenwerte h<strong>in</strong>gegen gilt: Ist µ i Eigenwert von X T X zum Eigenvektor u i , so<br />

ist λ i = 1/N µ i Eigenwert von C zum gleichen Eigenvektor. Um die Notation<br />

im Folgenden zu vere<strong>in</strong>fachen, wird die Matrix ˜C durch<br />

˜C := X T X (2.9)


16 Pr<strong>in</strong>cipal Component Analysis<br />

def<strong>in</strong>iert, d.h. es gilt C = 1/N ˜C.<br />

Wie oben beschrieben, besteht die Matrix X <strong>der</strong> E<strong>in</strong>gangsdaten aus N Zeilenvektoren<br />

<strong>der</strong> Dimension n, C ist also e<strong>in</strong>e n × n-Matrix. Besteht nun <strong>der</strong><br />

Datensatz aus relativ wenigen Punkten sehr hoher Dimension (n ≫ N), so<br />

ist die Anzahl n 2 <strong>der</strong> Elemente <strong>der</strong> Kovarianzmatrix sehr groß im Vergleich<br />

zur Anzahl nN <strong>der</strong> Elemente von X. In e<strong>in</strong>em solchen Fall ist es s<strong>in</strong>nvoll,<br />

statt <strong>der</strong> Kovarianzmatrix C die Skalarproduktmatrix S = XX T ∈ R N×N <strong>der</strong><br />

E<strong>in</strong>gangsdaten zu betrachten, die nur aus N 2 Elementen besteht.<br />

Sei µ > 0 e<strong>in</strong> Eigenwert von S zum Eigenvektor v ∈ R N \{0}. Dann gilt:<br />

Sv = XX T v = µv ≠ 0<br />

⇒ (X T X)X T v = µX T v ≠ 0<br />

(2.10)<br />

X T v ∈ R n ist also e<strong>in</strong> Eigenvektor von ˜C zum Eigenwert µ > 0. Da die<br />

paarweise orthogonalen Eigenvektoren von ˜C e<strong>in</strong> Orthonormalsystem bilden<br />

und damit die Länge 1 haben sollen, müssen sie noch normiert werden 3 .<br />

Bezeichnet man den zum Eigenwert µ gehörenden normierten Eigenvektor<br />

mit u, so folgt mit dem Ansatz u = ηX T v für die Normierungskonstante η<br />

1 ! = u T u =η 2 v T XX T v = η 2 µ<br />

⇒ η = 1/ √ µ .<br />

(2.11)<br />

Nach [34] stimmen die echt positiven Eigenwerte von XX T und X T X übere<strong>in</strong><br />

und haben die gleiche geometrische Vielfachheit 2 . Die Eigenvektoren von ˜C<br />

zu diesen Eigenwerten lassen sich e<strong>in</strong>fach aus den Eigenvektoren von S gew<strong>in</strong>nen:<br />

Insgesamt gilt also: Hat man die Skalarproduktmatrix S = XX T diagonalisiert<br />

und e<strong>in</strong> Orthonormalsystem aus Eigenvektoren v 1 , . . . , v N und zugehörigen<br />

Eigenwerten µ 1 ≥ . . . ≥ µ r > µ r+1 = . . . = µ N = 0 gefunden 4 , so ergeben<br />

sich daraus die r größten, echt positiven Eigenwerte λ und zugehörigen Eigenvektoren<br />

u <strong>der</strong> Kovarianzmatrix C zu<br />

λ i = 1 N µ i (2.12)<br />

u i = 1 √<br />

µi<br />

X T v i , i = 1, . . . , r . (2.13)<br />

2 D.h. die Dimensionen ihrer Eigenräume s<strong>in</strong>d gleich.<br />

3 Obwohl die v e<strong>in</strong> Orthonormalsystem bilden, s<strong>in</strong>d die X T v nicht notwendigerweise<br />

normiert, da X i.A. nicht spaltenorthogonal ist.<br />

4 Dabei ist r = rang(S) = rang(C) ≤ N, also die Anzahl <strong>der</strong> echt positiven Eigenwerte.<br />

Es gibt immer m<strong>in</strong>destens e<strong>in</strong>en echt positiven Eigenwert, sofern nicht alle E<strong>in</strong>gangsdatenpunkte<br />

identisch s<strong>in</strong>d.


2.2 Die Berechnung <strong>der</strong> PCA 17<br />

Zusammenfassend bietet sich die folgende Strategie zur Berechnung <strong>der</strong> PCA<br />

an:<br />

• Ist die Anzahl N <strong>der</strong> Datenpunkte größer als <strong>der</strong>en Dimension n, so<br />

berechnet man die Hauptkomponenten direkt aus <strong>der</strong> Diagonalisierung<br />

<strong>der</strong> Kovarianzmatrix C.<br />

• Ist h<strong>in</strong>gegen die Anzahl <strong>der</strong> Datenpunkte kle<strong>in</strong>er als ihre Dimension,<br />

so empfielt es sich aus numerischen Gründen, die Hauptkomponenten<br />

<strong>in</strong>direkt mit Hilfe von (2.12) und (2.13) aus <strong>der</strong> Diagonalisierung <strong>der</strong><br />

Skalarproduktmatrix S zu berechnen.<br />

Die Größe des Eigenwertproblems ist damit auf das M<strong>in</strong>imum <strong>der</strong> beiden<br />

Größen n und N beschränkt. Dies betrifft allerd<strong>in</strong>gs nur den benötigten Speicherplatz<br />

für die Kovarianz- bzw. Skalarproduktmatrix. Es ist natürlich nicht<br />

nötig, alle Eigenwerte und Eigenvektoren von C o<strong>der</strong> S zu berechnen. Da<br />

man ja sowieso nur an den ersten d Hauptachsen <strong>in</strong>teressiert ist, genügt es,<br />

ausschließlich die d größten Eigenwerte und zugehörigen Eigenvektoren zu<br />

berechnen. Dazu existieren spezielle Verfahren, von denen viele z.B. <strong>in</strong> [1]<br />

beschrieben werden.<br />

2.2.2 Näherungsweise Berechnung <strong>der</strong> Hauptachsen<br />

Im vorigen Abschnitt wurde erläutert, wie man die PCA berechnen kann,<br />

wenn nur e<strong>in</strong> Parameter – die Dimension n o<strong>der</strong> die Anzahl N <strong>der</strong> Datenpunkte<br />

– sehr groß ist. Was macht man aber, wenn beide Parameter sehr<br />

groß s<strong>in</strong>d? In diesem Fall kann man versuchen, die Hauptachsen näherungsweise<br />

aus e<strong>in</strong>er kle<strong>in</strong>eren Untermenge des Datensatzes zu berechnen. Wenn<br />

man sich nämlich z.B. die Punktwolke mit zugehörigen Hauptachsen <strong>in</strong> Abb.<br />

2.1 anschaut, die aus N = 2000 Datenpunkten besteht, so kann man erwarten,<br />

dass sich <strong>in</strong> guter Näherung die gleichen Hauptachsen ergeben, wenn<br />

man aus den 2000 Punkten e<strong>in</strong>e kle<strong>in</strong>ere Untermenge von z.B. 200 Punkten<br />

auswählt, sofern diese die Struktur <strong>der</strong> Gesamtdatenmenge h<strong>in</strong>reichend<br />

gut approximieren. Die Berechnung <strong>der</strong> Hauptachsen erfolgt dann <strong>in</strong>direkt<br />

aus <strong>der</strong> Skalarproduktmatrix <strong>der</strong> Untermenge wie im vorigen Abschnitt beschrieben.<br />

Auf die so erhaltenen geschätzten Hauptachsen kann man dann<br />

den gesamten Datensatz projizieren.


Kapitel 3<br />

Kern-PCA<br />

Die Kern-PCA ist e<strong>in</strong>e nichtl<strong>in</strong>eare Verallgeme<strong>in</strong>erung <strong>der</strong> l<strong>in</strong>earen PCA.<br />

Die dah<strong>in</strong>ter stehende Idee ist bestechend e<strong>in</strong>fach: Man transformiert die<br />

E<strong>in</strong>gangsdaten durch e<strong>in</strong>e nichtl<strong>in</strong>eare Abbildung Φ <strong>in</strong> e<strong>in</strong>en möglicherweise<br />

sehr hochdimensionalen Merkmalsraum F und führt dort e<strong>in</strong>e l<strong>in</strong>eare PCA<br />

durch. Die Hoffnung besteht hier dar<strong>in</strong>, dass die E<strong>in</strong>gangsdaten bei geeigneter<br />

Wahl <strong>der</strong> Abbildung im hochdimensionalen Merkmalsraum entfaltet“ o<strong>der</strong><br />

”<br />

ausgebreitet“ werden und auf e<strong>in</strong>er l<strong>in</strong>earen Untermannigfaltigkeit sehr viel<br />

”<br />

niedrigerer Dimension liegen. Die orthogonalen Richtungen größter Varianz,<br />

die durch Anwendung <strong>der</strong> PCA <strong>in</strong> F gefunden werden, entsprechen dabei<br />

nichtl<strong>in</strong>earen Richtungen im E<strong>in</strong>gaberaum 1 . Die eigentliche Nichtl<strong>in</strong>earität<br />

bei <strong>der</strong> Kern-PCA steckt also nur <strong>in</strong> <strong>der</strong> Abbildung <strong>in</strong> den Merkmalsraum.<br />

Was so bestechend e<strong>in</strong>fach kl<strong>in</strong>gt, wirft <strong>in</strong> <strong>der</strong> Praxis jedoch e<strong>in</strong> Problem<br />

auf: die Dimension von F , die je nach Φ sehr groß, durchaus sogar unendlich<br />

groß se<strong>in</strong> kann. In <strong>der</strong> Bil<strong>der</strong>kennung hat es sich z.B. als nützlich erwiesen,<br />

Produkte o<strong>der</strong> Monome d-ter Ordnung von Pixeln e<strong>in</strong>es Bildes zu betrachten,<br />

d.h. das Produkt von jeweils d Bildpunkten. Für e<strong>in</strong> Bild, das aus N Pixeln<br />

besteht, gibt es<br />

(N + d − 1)!<br />

N F = (3.1)<br />

d!(N − 1)!<br />

verschiedene solcher Monome d-ter Ordnung [27]. Die Abbildung Φ : R N →<br />

F des Bildes <strong>in</strong> den Raum aller möglichen Monome 5-ter Ordnung hat also<br />

selbst für M<strong>in</strong>i-Bil<strong>der</strong> von 16 × 16 Pixeln e<strong>in</strong>e Dimension von 10 10 , was es<br />

unmöglich macht, diese Abbildung explizit zu berechnen. Die Frage ist nun,<br />

wie man trotzdem mit vertretbarem Aufwand die Kern-PCA berechnen kann.<br />

1 Sofern die verwendete Abbildung nichtl<strong>in</strong>ear ist.


3.1 PCA im Merkmalsraum 19<br />

3.1 PCA im Merkmalsraum<br />

Zunächst soll gezeigt werden, dass man zur Berechnung <strong>der</strong> PCA im Merkmalsraum<br />

die Bil<strong>der</strong> Φ(x) <strong>der</strong> E<strong>in</strong>gangsdaten x gar nicht explizit benötigt,<br />

son<strong>der</strong>n nur Skalarprodukte zwischen diesen Bil<strong>der</strong>n. Dies wird sich später<br />

als äußerst nützlich erweisen. Gegeben seien also zentrierte E<strong>in</strong>gangsdaten<br />

x i ∈ R n , i = 1, . . . , N, ∑ N<br />

i=1 x i = 0, und die Abbildung<br />

Φ : R n → F,<br />

x ↦→ x ′ (3.2)<br />

<strong>der</strong> E<strong>in</strong>gangsdaten <strong>in</strong> den Merkmalsraum 2 . Zur Vere<strong>in</strong>fachung <strong>der</strong> Notation<br />

wird angenommen, dass auch die Φ-Bil<strong>der</strong> zentriert s<strong>in</strong>d: ∑ N<br />

i=1 Φ(x i) = 0 3 .<br />

Dann ist die Kovarianzmatrix C ′ <strong>der</strong> Bil<strong>der</strong> <strong>der</strong> E<strong>in</strong>gangsdaten gegeben durch<br />

C ′ = 1 N<br />

N∑<br />

Φ(x i )Φ(x i ) T . (3.3)<br />

Analog zu (2.3) muss man wie<strong>der</strong> das Eigenwertproblem<br />

i=1<br />

C ′ v ′ = λv ′ (3.4)<br />

lösen, also Eigenwerte λ ≥ 0 von C ′ und e<strong>in</strong> zugehöriges Orthonormalsystem<br />

aus Eigenvektoren v ′ ∈ F \ {0} f<strong>in</strong>den, die C ′ diagonalisieren. Wegen<br />

C ′ v ′ = 1 N<br />

N∑<br />

(Φ(x i ) · v ′ ) Φ(x<br />

} {{ } i ) (3.5)<br />

∈R<br />

i=1<br />

liegen alle Lösungen v ′ mit λ ≠ 0 <strong>in</strong> span{Φ(x 1 ), . . . , Φ(x N )}. In diesem Fall<br />

ist (3.4) äquivalent zu dem Gleichungssystem<br />

(Φ(x k ) · C ′ v ′ ) = λ (Φ(x k ) · v ′ ) ∀k = 1, . . . , N . (3.6)<br />

Außerdem existieren Koeffizienten α 1 , . . . , α N , mit denen sich die Eigenvektoren<br />

als L<strong>in</strong>earkomb<strong>in</strong>ationen <strong>der</strong> Φ-Bil<strong>der</strong> darstellen lassen:<br />

v ′ =<br />

N∑<br />

α i Φ(x i ) . (3.7)<br />

i=1<br />

2 Vektoren aus dem Merkmalsraum F werden im Folgenden mit gestrichenen Buchstaben<br />

bezeichnet. Für das Skalarprodukt zweier Vektoren x ′ , y ′ ∈ F wird wegen <strong>der</strong><br />

möglicherweise unendlich großen Dimension von F die Notation (x ′ · y ′ ) benutzt.<br />

3 Der allgeme<strong>in</strong>e Fall wird <strong>in</strong> Abschnitt 3.2 behandelt.


20 Kern-PCA<br />

Setzt man nun (3.3) und (3.7) <strong>in</strong> (3.6) e<strong>in</strong>, so erhält man das Gleichungssystem<br />

N∑<br />

i=1<br />

N∑<br />

(Φ(x k ) · Φ(x i )) (Φ(x i ) · Φ(x j )) α j =<br />

j=1<br />

= λN<br />

N∑<br />

(Φ(x k ) · Φ(x j )) α j ∀k = 1, . . . , N . (3.8)<br />

j=1<br />

Zur Abkürzung def<strong>in</strong>iert man die N × N-Matrix K = (K ij ) durch<br />

K ij := (Φ(x i ) · Φ(x j )) , i, j = 1, . . . , N , (3.9)<br />

wodurch sich (3.8) <strong>in</strong> Matrizenform schreiben lässt als<br />

K 2 α = λNKα . (3.10)<br />

Dabei ist α = (α 1 , . . . , α N ) T <strong>der</strong> Vektor <strong>der</strong> Koeffizienten α i . K wird auch<br />

Kernmatrix genannt. Interessant s<strong>in</strong>d nur Lösungen mit λ > 0, und um diese<br />

zu erhalten genügt es, anstatt (3.10) das Eigenwertproblem<br />

Kα = λNα (3.11)<br />

zu lösen. Alle Lösungen von (3.11) s<strong>in</strong>d nämlich auch Lösungen von (3.10),<br />

und man kann zeigen (vgl. [27]), dass die α, die (3.10) aber nicht (3.11)<br />

erfüllen, ke<strong>in</strong>en zusätzlichen Beitrag zur Lösungsmenge <strong>der</strong> v ′ liefern.<br />

Letztlich werden aber gar nicht die Eigenvektoren v ′ benötigt, son<strong>der</strong>n nur<br />

die Projektionen <strong>der</strong> Bil<strong>der</strong> <strong>der</strong> E<strong>in</strong>gangsdaten auf diese Eigenvektoren. Um<br />

diese zu erhalten, löst man das Eigenwertproblem (3.11) und erhält für Nλ<br />

die nichtnegativen Eigenwerte λ 1 ≥ . . . ≥ λ p > λ p+1 = . . . = λ N = 0 und e<strong>in</strong><br />

zugehöriges Orthogonalsystem des R N aus den Eigenvektoren α 1 , . . . , α N . p<br />

ist dabei die Anzahl <strong>der</strong> von Null verschiedenen Eigenwerte, also <strong>der</strong> Rang<br />

von K. Dieser ist immer größer als Null, sofern Φ nicht alle E<strong>in</strong>gangsdaten auf<br />

Null abbildet. Die α 1 , . . . , α p werden so normiert, dass die entsprechenden<br />

Eigenvektoren v ′ 1, . . . , v ′ p aus F die Länge E<strong>in</strong>s haben:<br />

(v ′ k · v ′ k) = 1 ∀k = 1, . . . , p . (3.12)<br />

Mit (3.7) und (3.11) erhält man daraus e<strong>in</strong>e Normierungsbed<strong>in</strong>gung für die


3.2 Die Berechnung von Skalarprodukten im Merkmalsraum 21<br />

Vektoren α:<br />

1 ! =<br />

=<br />

N∑ N∑<br />

αkα i j k (Φ(x i) · Φ(x j ))<br />

i=1<br />

N∑<br />

j=1<br />

i=1 j=1<br />

N∑<br />

αkK i ij α j k<br />

(3.13)<br />

= α T kKα k<br />

= λ k α T kα k , k = 1, . . . , p .<br />

Um nun die nichtl<strong>in</strong>earen Hauptkomponenten e<strong>in</strong>es Testpunktes x ∈ R n zu<br />

bestimmen, muss man die orthogonale Projektion se<strong>in</strong>es Bildes x ′ = Φ(x) auf<br />

die Hauptachsen v ′ im Merkmalsraum berechnen. Die k-te Hauptkomponente<br />

als Projektion auf v ′ k ist somit gegeben durch<br />

(x ′ · v ′ k) = (Φ(x) · v ′ k) =<br />

N∑<br />

αk i (Φ(x i ) · Φ(x)) , k = 1, . . . , p .<br />

i=1<br />

(3.14)<br />

Wie bereits zu Beg<strong>in</strong>n dieses Abschnittes angedeutet, werden also nur Skalarprodukte<br />

zwischen Merkmalsvektoren <strong>in</strong> F benötigt, um die nichtl<strong>in</strong>earen<br />

Hauptkomponenten zu berechnen, nicht jedoch die Bil<strong>der</strong> selbst. Was nützt<br />

das nun für die Berechenbarkeit <strong>der</strong> Kern-PCA? Die Antwort liefert <strong>der</strong> Satz<br />

von Mercer, <strong>der</strong> im nächsten Abschnitt behandelt wird.<br />

3.2 Die Berechnung von Skalarprodukten im<br />

Merkmalsraum<br />

Seien x, y Vektoren im E<strong>in</strong>gaberaum und Φ(x), Φ(y) die entsprechenden Bil<strong>der</strong><br />

im Merkmalsraum F . Unter bestimmten Umständen, d.h. für bestimmte<br />

Abbildungen Φ, ist es möglich, das Skalarprodukt (Φ(x) · Φ(y)) zwischen<br />

den Bil<strong>der</strong>n mit Hilfe e<strong>in</strong>er Funktion k(x, y) alle<strong>in</strong> aus den Urbil<strong>der</strong>n x und<br />

y zu berechnen, also ohne explizite Kenntnis von Φ(x) und Φ(y):<br />

k(x, y) = (Φ(x) · Φ(y)) . (3.15)<br />

Solche Funktionen, die auf Vektoren aus e<strong>in</strong>em Raum operieren und das Skalarprodukt<br />

<strong>der</strong> Bil<strong>der</strong> dieser Vektoren bei <strong>der</strong> Abbildung <strong>in</strong> e<strong>in</strong>en an<strong>der</strong>en<br />

Raum darstellen, nennt man Kern-Funktionen o<strong>der</strong> kurz Kerne. Den entsprechenden<br />

Kern zu e<strong>in</strong>er gegebenen Abbildung Φ zu f<strong>in</strong>den, gestaltet sich


22 Kern-PCA<br />

meist als sehr schwierig. Deshalb sucht man eher nach Bed<strong>in</strong>gungen, die e<strong>in</strong>e<br />

Funktion k(x, y) erfüllen muss, damit sie Kern-Funktion zu e<strong>in</strong>er Abbildung<br />

Φ ist. Nach Mercer (vgl. [27]) ist dies dann <strong>der</strong> Fall, wenn die Bed<strong>in</strong>gung<br />

∫<br />

∀f ∈ L 2 (C) ⇒ k(x, y)f(x)f(y)dx dy ≥ 0 (3.16)<br />

C×C<br />

erfüllt ist, wobei C e<strong>in</strong>e kompakte Untermenge des R n bezeichnet.<br />

Der Trick, <strong>der</strong> die Berechnung <strong>der</strong> Kern-PCA ermöglicht, besteht nun dar<strong>in</strong>,<br />

<strong>in</strong> <strong>der</strong> Herleitung im Abschnitt 3.1 alle Skalarprodukte (Φ(x) · Φ(y)) durch<br />

die Kernfunktion k(x, y) zu ersetzen. Für die Kernmatrix (3.9) gilt dann<br />

K ij = k(x i , x j ) , i, j = 1, . . . , N , (3.17)<br />

und die k-te Hauptkomponente (3.14) von x ′ wird zu<br />

(x ′ · v ′ k) = (Φ(x) · v ′ k) =<br />

N∑<br />

αkk(x i i , x) , k = 1, . . . , p . (3.18)<br />

i=1<br />

In <strong>der</strong> bisherigen Herleitung steckt die Annahme ∑ N<br />

i=1 Φ(x i) = 0, die im Allgeme<strong>in</strong>en<br />

jedoch nicht zulässig ist. Für die E<strong>in</strong>gangsdaten ist e<strong>in</strong>e Zentrierung<br />

zwar ohne Weiteres möglich, aber dadurch werden nicht notwendigerweise<br />

auch ihre Bil<strong>der</strong> zentriert. Da die Φ(x i ) meist nicht explizit berechnet werden<br />

können, kann somit auch ihr Schwerpunkt 1 N<br />

∑ N<br />

i=1 Φ(x i) nicht explizit<br />

bestimmt werden.<br />

Es stellt sich aber heraus, dass dies auch gar nicht erfor<strong>der</strong>lich ist, son<strong>der</strong>n<br />

implizit geschehen kann. Man def<strong>in</strong>iert<br />

˜Φ(x i ) := Φ(x i ) − 1 N<br />

N∑<br />

Φ(x j ) i = 1, . . . , N . (3.19)<br />

j=1<br />

Dann gilt ∑ N ˜Φ(x i=1 i ) = 0. Mit diesen neuen zentrierten Bil<strong>der</strong>n läuft die<br />

weitere Herleitung analog zu <strong>der</strong> am Anfang dieses Abschnittes: Die Eigenvektoren<br />

N∑<br />

ṽ ′ k = ˜α k i ˜Φ(x i ) (3.20)<br />

i=1<br />

<strong>der</strong> Kovarianzmatrix ˜C ′ bekommt man durch Lösen des Eigenwertproblems<br />

˜λ ˜α = ˜K ˜α (3.21)


3.2 Die Berechnung von Skalarprodukten im Merkmalsraum 23<br />

mit <strong>der</strong> Kernmatrix ˜K = ( ˜K ij ) und<br />

(<br />

˜K ij := ˜Φ(xi ) · ˜Φ(x<br />

)<br />

j )<br />

, i, j = 1, . . . , N . (3.22)<br />

˜K kann zwar nicht direkt berechnet werden, lässt sich aber durch die Kernmatrix<br />

K <strong>der</strong> unzentrierten Bil<strong>der</strong> ausdrücken:<br />

˜K = K − 1 N K − K1 N + 1 N K1 N , (3.23)<br />

wobei 1 N def<strong>in</strong>iert ist durch (1 N ) ij ≡ 1/N ∀i, j = 1, . . . , N.<br />

Man berechnet also ˜K aus K nach (3.23) und löst das Eigenwertproblem<br />

(3.21). Aus <strong>der</strong> For<strong>der</strong>ung ‖ṽ ′ ‖ = 1 an die Eigenvektoren von ˜C ′ ergibt sich<br />

analog zu (3.13) die Normierungsbed<strong>in</strong>gung für die Eigenvektoren ˜α zu den<br />

echt positiven Eigenwerten:<br />

˜λ k ˜α T k ˜α k<br />

!<br />

= 1 . (3.24)<br />

Hat man aus e<strong>in</strong>em Datensatz die Hauptachsen berechnet und möchte die<br />

Hauptkomponenten weiterer Testpunkte t 1 , . . . , t L ∈ R n bezüglich dieser<br />

Hauptachsen bestimmen, so bekommt man diese durch Projektion <strong>der</strong> zentrierten<br />

Bil<strong>der</strong> auf die Hauptachsen ṽ ′ k:<br />

(<br />

˜Φ(ti ) · ṽ k)<br />

′ =<br />

N∑<br />

j=1<br />

(<br />

˜α j k<br />

˜Φ(ti ) · ˜Φ(x<br />

)<br />

j ) =:<br />

N∑<br />

j=1<br />

˜α j k<br />

˜K<br />

test<br />

ij . (3.25)<br />

Die L × N-Matrix ˜K test enhält die Skalarprodukte <strong>der</strong> zentrierten Bil<strong>der</strong> <strong>der</strong><br />

Testdaten t mit den E<strong>in</strong>gangsdaten x. Die Zentrierung kann dabei wie<strong>der</strong><br />

implizit geschehen. ˜K test lautet nämlich ausgeschrieben<br />

(<br />

˜K ij test<br />

= ˜Φ(ti ) · ˜Φ(x<br />

)<br />

j )<br />

((<br />

) (<br />

))<br />

= Φ(t i ) − 1 N∑<br />

Φ(x k ) · Φ(x j ) − 1 N∑<br />

Φ(x k ) , (3.26)<br />

N<br />

N<br />

k=1<br />

i = 1, . . . , L, j = 1, . . . , N<br />

und lässt sich durch die direkt aus den E<strong>in</strong>gangsdaten berechenbare L × N-<br />

Matrix<br />

K test<br />

ij = (Φ(t i ) · Φ(x j )) = k(t i , x j ) , i = 1, . . . , L, j = 1, . . . , N (3.27)<br />

ausdrücken:<br />

k=1<br />

˜K test = K test − K test 1 N − 1 N ′ K + 1 N ′ K1 N . (3.28)


24 Kern-PCA<br />

Dabei ist 1 N wie<strong>der</strong> def<strong>in</strong>iert wie <strong>in</strong> (3.23) und (1 N ′ ) ij ≡ 1/N, i = 1, . . . , L,<br />

j = 1, . . . , N.<br />

Wenn man also schon Hauptachsen aus den E<strong>in</strong>gangsdaten x berechnet hat<br />

und dann die Hauptkomponenten von irgendwelchen Testpunkten t als Projektionen<br />

auf diese Achsen bestimmen möchte, berechnet man zuerst K test<br />

aus (3.27) und daraus dann ˜K test nach (3.28). Die Hauptkomponenten erhält<br />

man anschließend durch E<strong>in</strong>setzen <strong>in</strong> (3.25).<br />

3.3 Beispiele für Kern-Funktionen<br />

Oft ist es nicht leicht zu überprüfen, ob die Bed<strong>in</strong>gung von Mercer erfüllt ist<br />

([5]), da (3.16) für alle quadrat<strong>in</strong>tegrablen Funktionen f auf C gelten muss.<br />

Im Folgenden werden daher e<strong>in</strong>ige Beispiele für Mercer-Kerne angegeben, die<br />

die obige Bed<strong>in</strong>gung erfüllen. Sie stammen alle aus [29].<br />

3.3.1 Homogener polynomieller Kern<br />

Der homogene polynomielle Kern wird beschrieben durch<br />

k(x, y) = (x T y) d , d ∈ N . (3.29)<br />

Dieser Kern bildet das Skalarprodukt zwischen den Bil<strong>der</strong>n von x und y<br />

im Merkmalsraum aller Monome d-ter Ordnung. Das soll hier nur am Beispiel<br />

x = (x 1 , x 2 ) T , y = (y 1 , y 2 ) T für 2-dimensionale E<strong>in</strong>gangsvektoren und<br />

d = 2 verdeutlicht werden. Setzt man nämlich Φ : R 2 → R 3 , (x 1 , x 2 ) ↦→<br />

(x 2 1, x 2 2, √ 2x 1 x 2 ), so gilt<br />

(x ′ · y ′ ) = (x 1 y 1 ) 2 + (x 2 y 2 ) 2 + 2x 1 x 2 y 1 y 2 = (x T y) 2 = k(x, y) (3.30)<br />

mit x ′ = Φ(x) und y ′ = Φ(y).<br />

3.3.2 Inhomogener polynomieller Kern<br />

Die Kernfunktion lautet hier<br />

k(x, y) = (x T y + c) d , d ∈ N, c ∈ R, c > 0 , (3.31)<br />

wodurch alle Potenzen des Skalarproduktes bis zur d-ten Ordnung auftreten,<br />

<strong>der</strong> Merkmalsraum also von allen Monomen bis zur Ordnung d aufgespannt<br />

wird. Durch Variation des Parameters c kann man e<strong>in</strong>e unterschiedliche Gewichtung<br />

<strong>der</strong> e<strong>in</strong>zelnen Monome erreichen.


3.4 Aufwand zur Berechnung <strong>der</strong> Kern-PCA 25<br />

3.3.3 Gauß’scher Kern<br />

Dieser Kern besteht aus Gauß’schen radialen Basisfunktionen<br />

)<br />

‖x − y‖2<br />

k(x, y) = exp<br />

(− , σ > 0 (3.32)<br />

2σ 2<br />

und gehört zur Klasse <strong>der</strong> translations<strong>in</strong>varianten Kerne.<br />

3.3.4 Sigmoi<strong>der</strong> Kern<br />

Der sigmoide Kern<br />

k(x, y) = tanh(κx T y + Θ) , κ, Θ ≥ 0 (3.33)<br />

tritt auf bei Neuronalen Netzwerken.<br />

3.4 Aufwand zur Berechnung <strong>der</strong> Kern-PCA<br />

Bei <strong>der</strong> Berechnung muss die Kernmatrix (3.9) diagonalisiert werden, d.h.<br />

man hat e<strong>in</strong> N × N-Eigenwertproblem zu lösen, wobei N die Anzahl <strong>der</strong><br />

E<strong>in</strong>gabedaten bezeichnet. Dies entspricht <strong>der</strong> Diagonalisierung <strong>der</strong> Skalarproduktmatrix<br />

bei <strong>der</strong> l<strong>in</strong>earen PCA (vgl. Abschnitt 3.2), mit dem Unterschied,<br />

dass dort lediglich Skalarprodukte zwischen Vektoren berechnet werden<br />

müssen, um die Matrixe<strong>in</strong>träge zu erhalten, während die E<strong>in</strong>träge <strong>der</strong><br />

Kernmatrix durch Auswertung <strong>der</strong> Kernfunktion bestimmt werden. In den<br />

Fällen, wo k(x, y) e<strong>in</strong>fach zu berechnen ist, wie z.B. bei den Polynomkernen,<br />

ist <strong>der</strong> Mehraufwand jedoch ger<strong>in</strong>g, so dass <strong>der</strong> Aufwand für die Diagonalisierung<br />

<strong>der</strong> Kernmatrix vergleichbar ist mit dem für die l<strong>in</strong>eare PCA.<br />

Etwas an<strong>der</strong>s sieht es bei <strong>der</strong> Berechnung <strong>der</strong> Hauptkomponenten aus. Während<br />

bei <strong>der</strong> l<strong>in</strong>earen PCA die Projektion des Vektors x auf die k-te Hauptachse<br />

u k e<strong>in</strong>fach gegeben ist durch das Skalarprodukt u T kx, muss bei <strong>der</strong><br />

Kern-PCA für die Projektion (3.18) N-mal die Kernfunktion ausgewertet<br />

werden.<br />

E<strong>in</strong>e Möglichkeit, den Rechenaufwand hier zu verr<strong>in</strong>gern, ist die Approximation<br />

des Eigenvektors (3.7) durch e<strong>in</strong>en Vektor<br />

ṽ ′ =<br />

m∑<br />

β i Φ(z i ) , z i ∈ R n (3.34)<br />

i=1


26 Kern-PCA<br />

mit fest gewähltem m ≪ N, wodurch bei je<strong>der</strong> Projektion nur m Kernfunktionen<br />

ausgewertet werden müssen. Die Koeffizienten β i und die Vektoren z i<br />

werden durch die M<strong>in</strong>imierung des euklidischen Abstandes<br />

ρ = ‖v ′ − ṽ ′ ‖ (3.35)<br />

gewonnen. Dieser lässt sich auch wie<strong>der</strong> mit Hilfe <strong>der</strong> Kernfunktion ausschließlich<br />

durch Vektoren im E<strong>in</strong>gaberaum ausdrücken, denn es gilt<br />

ρ 2 = ‖v ′ ‖ 2 + ‖ṽ ′ ‖ 2 − 2<br />

N∑<br />

i=1<br />

m∑<br />

α i β j k(x i , z j ) . (3.36)<br />

In [4] wird für diese Lösung die Bezeichnung reduced set technique geprägt.<br />

Dort wird dasselbe Problem im Kontext <strong>der</strong> Supportvektor-Klassifizierer behandelt<br />

und e<strong>in</strong> gradientenbasierter Algorithmus zur M<strong>in</strong>imierung von ρ vorgeschlagen.<br />

j=1


Kapitel 4<br />

Multidimensional Scal<strong>in</strong>g<br />

Multidimensional Scal<strong>in</strong>g (MDS, multidimensionale Skalierung) ist e<strong>in</strong> Oberbegriff<br />

für verschiedene Techniken, die aus Informationen über paarweise<br />

Relationen zwischen Objekten e<strong>in</strong>e Anordnung von Punkten <strong>in</strong> e<strong>in</strong>em euklidischen<br />

Raum f<strong>in</strong>den [3]. Die euklidischen Abstände dieser Punkte stehen<br />

dabei <strong>in</strong> Beziehung zu den Relationen, und zwar so, dass sie für e<strong>in</strong>e gegebene<br />

Dimension des Raumes die Relationen <strong>in</strong> e<strong>in</strong>em bestimmten S<strong>in</strong>n optimal repräsentieren.<br />

Die Ausgangslage ist hier e<strong>in</strong>e völlig an<strong>der</strong>e als bei den an<strong>der</strong>en<br />

Verfahren zur Dimensionsreduktion. Während bei den an<strong>der</strong>en Verfahren die<br />

E<strong>in</strong>gangsdaten immer (hochdimensionale) Punkte s<strong>in</strong>d, für die e<strong>in</strong>e niedrigdimensionale<br />

E<strong>in</strong>bettung gefunden werden soll, besteht <strong>der</strong> Input beim MDS<br />

nur aus den Relationen zwischen den Objekten (die z.B. auch Punkte se<strong>in</strong><br />

können), die Objekte (o<strong>der</strong> Punkte) selbst s<strong>in</strong>d völlig unbekannt.<br />

Die Relationen zwischen den Objekten können dabei z.B. Ähnlichkeiten o<strong>der</strong><br />

Unähnlichkeiten se<strong>in</strong>, so dass durch MDS e<strong>in</strong>e Konfiguration von Punkten gefunden<br />

wird, bei <strong>der</strong> ähnliche Objekte dicht beie<strong>in</strong>an<strong>der</strong> angeordnet werden,<br />

also kle<strong>in</strong>e euklidische Abstände vone<strong>in</strong>an<strong>der</strong> haben, und unähnliche Objekte<br />

entsprechend durch Punkte repräsentiert werden, die weiter vone<strong>in</strong>an<strong>der</strong><br />

entfernt s<strong>in</strong>d. Die (Un-)Ähnlichkeiten werden <strong>in</strong> <strong>der</strong> englischen Literatur als<br />

proximities bezeichnet.<br />

Als Beispiel könnten die Objekte Städte se<strong>in</strong> und die Relationen ihre paarweisen<br />

Entfernungen vone<strong>in</strong>an<strong>der</strong>. In diesem Fall bietet es sich natürlich an,<br />

als Dimension für den euklidischen Raum d = 2 zu wählen. MDS f<strong>in</strong>det dann<br />

e<strong>in</strong>e Anordnung <strong>der</strong> Städte (Punkte) <strong>in</strong> <strong>der</strong> Ebene, die bis auf Rotationen,<br />

Translationen, Spiegelungen und l<strong>in</strong>earen Skalierungen e<strong>in</strong>er Straßenkarte<br />

entspricht.


28 Multidimensional Scal<strong>in</strong>g<br />

Man wählt die Dimension des E<strong>in</strong>bettungsraumes so niedrig wie möglich,<br />

<strong>in</strong>sbeson<strong>der</strong>e möglichst nicht größer als Drei, hofft darauf, dass sich die wesentlichen<br />

Merkmale <strong>der</strong> Daten <strong>in</strong> e<strong>in</strong>em solchen Raum darstellen lassen und<br />

nutzt dann die Fähigkeit des Menschen aus, <strong>in</strong> solchen niedrigdimensionalen<br />

Räumen sehr schnell Strukturen wie Ähnlichkeiten o<strong>der</strong> Clusterungen<br />

erfassen zu können. Auf diese Weise gew<strong>in</strong>nt man sehr viel schneller e<strong>in</strong>en<br />

Überblick über den Datensatz als aus e<strong>in</strong>er großen Zahl paarweiser Beziehungen<br />

zwischen diesen Daten.<br />

Der E<strong>in</strong>fachheit halber wird im Folgenden immer angenommen, dass die Relationen<br />

Unähnlichkeiten entsprechen. Es seien N Objekte gegeben, und die<br />

Unähnlichkeit zwischen dem i-ten und j-ten Objekt sei mit p ij bezeichnet. Die<br />

p ij werden zu e<strong>in</strong>er Unähnlichkeitsmatrix P = (p ij ), i, j = 1, . . . , N, zusammengefasst.<br />

Es sollen N Punkte y 1 , . . . , y N aus dem p-dimensionalen Raum<br />

R p gefunden werden, die die Relationen p ij möglichst gut repräsentieren. Die<br />

Art und Weise, wie die p ij <strong>in</strong> Beziehung zu den euklidischen Abständen <strong>der</strong><br />

y i gesetzt werden, wird durch die Modellfunktion f bestimmt:<br />

f : p ij → d ij (Y) , i, j = 1, . . . , N , (4.1)<br />

wobei die Punkte y i als Zeilen <strong>in</strong> <strong>der</strong> N × p-Matrix Y zusammengefasst s<strong>in</strong>d<br />

und d ij (Y) den euklidischen Abstand ‖y i −y j ‖ zwischen y i und y j bezeichnet.<br />

Die transformierten Unähnlichkeiten werden kurz mit δ ij bezeichnet: δ ij =<br />

f(p ij ). Sie lassen sich zu e<strong>in</strong>er N × N-Matrix ∆ = (δ ij ) zusammenfassen. In<br />

<strong>der</strong> englischen Literatur heißen die δ ij dissimilarities.<br />

Die verschiedenen Varianten von MDS lassen sich je nach verwendeter Modellfunktion<br />

f grob e<strong>in</strong>teilen <strong>in</strong> metric MDS und nonmetric o<strong>der</strong> ord<strong>in</strong>al<br />

MDS. Auf diese Varianten soll im Folgenden näher e<strong>in</strong>gegangen werden.<br />

4.1 Metrisches MDS<br />

Metrisches MDS kommt zum E<strong>in</strong>satz, wenn den Objekten bereits e<strong>in</strong>e räumliche<br />

Struktur unterliegt, die Unähnlichkeiten also Distanzen darstellen bzw.<br />

<strong>in</strong> wohldef<strong>in</strong>ierten Beziehungen zu Distanzen stehen, jedoch fehlerbehaftet<br />

o<strong>der</strong> unvollständig s<strong>in</strong>d. Das Ziel ist es dann, e<strong>in</strong>e E<strong>in</strong>bettung zu f<strong>in</strong>den, die<br />

diese Distanzen <strong>in</strong> e<strong>in</strong>em gewissen S<strong>in</strong>n bestmöglich erhält.


4.1 Metrisches MDS 29<br />

4.1.1 Klassisches MDS<br />

Die klassische Variante von MDS, die oft auch als classical scal<strong>in</strong>g bezeichnet<br />

wird, war das erste praktisch verfügbare MDS-Verfahren. Es geht zurück<br />

auf Torgerson ([32], [33]) und Gower ([11]), die es 1952/58 bzw. 1966<br />

entwickelt haben, und wird deshalb manchmal auch als Torgerson scal<strong>in</strong>g<br />

o<strong>der</strong> Torgerson-Gower scal<strong>in</strong>g bezeichnet.<br />

Beim klassischen MDS werden die Unähnlichkeiten p ij selbst schon als euklidische<br />

Abstände betrachtet, die Modellfunktion ist hier also die Identität:<br />

δ ij = f(p ij ) = p ij , i, j = 1, . . . , N . (4.2)<br />

Die E<strong>in</strong>bettung wird dann gefunden durch möglichst gute Approximation <strong>der</strong><br />

quadrierten Abstände ∆ (2) , wobei (∆ (2) ) ij = δ 2 ij. 1 Wie bekommt man aber<br />

aus den quadrierten Abständen zwischen Vektoren die Vektoren selbst? Sei<br />

also ∆ (2) gegeben, und seien x 1 , . . . , x N ∈ R n die entsprechenden Vektoren,<br />

d.h. δ 2 ij = ‖x i − x j ‖ 2 , i, j = 1, . . . , N. Weiterh<strong>in</strong> seien die x i zentriert, d.h.<br />

∑ N<br />

i=1 x i = 0, und als Zeilen zu e<strong>in</strong>er N ×n-Matrix X zusammengefasst. Dann<br />

gilt<br />

δ 2 ij = (x i − x j ) T (x i − x j ) (4.3)<br />

= x T i x i + x T j x j − 2x T i x j , i, j = 1, . . . , N , (4.4)<br />

⇒ ∆ (2) = c1 T + 1c T − 2XX T , (4.5)<br />

wobei c = (x T 1x 1 , . . . , x T N x N) T die Diagonale von XX T bezeichnet und 1 =<br />

(1, . . . , 1) T ∈ R N . Multipliziert man ∆ (2) von l<strong>in</strong>ks und von rechts mit <strong>der</strong><br />

Zentrierungsmatrix<br />

J = 1 − 1 N 11T (4.6)<br />

1 Die Notation mit den Klammern soll hier andeuten, dass ∆ (2) durch Quadrieren <strong>der</strong><br />

E<strong>in</strong>träge aus ∆ hervorgeht und nicht identisch mit <strong>der</strong> quadrierten Matrix ∆ 2 ist.


30 Multidimensional Scal<strong>in</strong>g<br />

und außerdem noch mit dem Faktor −1/2, so ergibt sich 2<br />

B ∆ : = − 1 2 J∆(2) J<br />

= − 1 2 J (c1T + 1c T − 2XX T ) J<br />

= − 1 2 Jc1T J − 1 2 J1cT J + JXX T J<br />

(4.7)<br />

= − 1 2 Jc0T − 1 2 0cT J + JXX T J<br />

= JXX T J<br />

= XX T .<br />

Dabei bezeichnet 0 den Vektor, <strong>der</strong> nur aus Nullen besteht. Die Anwendung<br />

von J auf ∆ (2) <strong>in</strong> (4.7) wird auch als doppelte Zentrierung bezeichnet. Mit<br />

Hilfe von J lässt sich ∆ (2) also alle<strong>in</strong> als Produkt <strong>der</strong> Koord<strong>in</strong>atenmatrizen<br />

schreiben; die Matrix <strong>der</strong> paarweisen quadrierten Abstände ist damit<br />

<strong>in</strong> e<strong>in</strong>e Matrix <strong>der</strong> paarweisen Skalarprodukte <strong>der</strong> entsprechenden Vektoren<br />

überführt worden. Aus dieser Matrix B ∆ bekommt man nun die gesuchten<br />

Vektoren x i durch Hauptachsentransformation: Sei V ∈ R N×N die Matrix<br />

mit den Eigenvektoren von B ∆ als Spalten und Λ = diag(λ 1 , . . . , λ N ) die<br />

Diagonalmatrix mit den zugehörigen nichtnegativen Eigenwerten, und sei<br />

außerdem Λ 1 2 def<strong>in</strong>iert durch Λ 1 2 := diag( √ λ 1 , . . . , √ λ N ). Dann gilt<br />

V T B ∆ V = (V T X)(V T X) T (4.8)<br />

= Λ (4.9)<br />

= Λ 1 2 Λ<br />

1<br />

2 (4.10)<br />

⇒ V T X = Λ 1 2 (4.11)<br />

⇔ X = VΛ 1 2 . (4.12)<br />

Beim klassischen MDS werden die quadrierten Abstände ∆ (2) approximiert<br />

durch M<strong>in</strong>imierung <strong>der</strong> Kostenfunktion<br />

L(Y) =<br />

∥ −1 2 J [ D (2) (Y) − ∆ (2)] 2<br />

J<br />

∥<br />

F<br />

(4.13)<br />

= ‖YY T − B ∆ ‖ 2 F ,<br />

2 Die symmetrische Matrix J ∈ R N×N ist idempotent, d.h. J T J = JJ = J. Für e<strong>in</strong>en<br />

Vektor x ∈ R N gilt Jx = x − 1/N 1 ∑ N<br />

j=1 x j = x − ¯x. Durch JX werden also die Zeilen<br />

<strong>der</strong> Matrix X zentriert und durch XJ entsprechend die Spalten von X.


4.1 Metrisches MDS 31<br />

die auch als Stra<strong>in</strong> bezeichnet wird [3], wobei für die zweite Gleichheit vorausgesetzt<br />

wird, dass die Konfiguration Y zentriert ist, d.h. ∑ N<br />

i=1 y i = 0. 3<br />

Analog zu ∆ (2) bezeichnet D (2) (Y) die Matrix mit den paarweisen quadrierten<br />

euklidischen Abständen <strong>der</strong> Zeilenvektoren von Y. Die Frobenius-Norm<br />

‖ · ‖ F ist def<strong>in</strong>iert durch<br />

∑<br />

‖A‖ F = √ N n∑<br />

|a ij | 2 . (4.14)<br />

i=1<br />

Durch das klassische MDS werden also genau genommen nicht die quadrierten<br />

Differenzen <strong>der</strong> Abstände bestmöglich approximiert, son<strong>der</strong>n die Skalarprodukte<br />

zwischen den Vektoren.<br />

Die Frage ist nun, wann zu e<strong>in</strong>er gegebenen Distanzmatrix ∆ e<strong>in</strong>e euklidische<br />

E<strong>in</strong>bettung <strong>in</strong> R k existiert. Nach [21] ist dies genau dann <strong>der</strong> Fall, wenn die<br />

folgenden Bed<strong>in</strong>gungen erfüllt s<strong>in</strong>d:<br />

1. Die Matrix ∆ ist symmetrisch und besitzt nur nichtnegative E<strong>in</strong>träge,<br />

auf <strong>der</strong> Diagonalen sogar nur Nullen:<br />

j=1<br />

δ ij = δ ji ≥ 0 und δ ii = 0 ∀i, j . (4.15)<br />

2. Die Matrix B ∆ ist positiv semidef<strong>in</strong>it, besitzt also nur nichtnegative<br />

Eigenwerte:<br />

x T B ∆ x ≥ 0 ∀x ∈ R N . (4.16)<br />

3. Für den Rang von B ∆ gilt rang(B ∆ ) ≤ k.<br />

E<strong>in</strong>e Matrix ∆, die diese Bed<strong>in</strong>gungen erfüllt, nennt man auch euklidische<br />

Distanzmatrix. Für e<strong>in</strong>e solche Matrix existiert e<strong>in</strong>e euklidische E<strong>in</strong>bettung,<br />

d.h. e<strong>in</strong>e Konfiguration Y ∈ R N×k von Punkten <strong>in</strong> e<strong>in</strong>em k-dimensionalen<br />

Vektorraum, für die <strong>der</strong> euklidische Abstand <strong>der</strong> Punkte y i und y j gerade<br />

gegeben ist durch δ ij .<br />

Um zu e<strong>in</strong>er gegebenen euklidischen Distanzmatrix ∆ die Konfiguration<br />

Y ∈ R N×k mit k-dimensionalen Vektoren y 1 , . . . , y N , k ≤ n, zu f<strong>in</strong>den, die<br />

(4.13) m<strong>in</strong>imiert, berechnet man zuerst B ∆ als doppelte Zentrierung (4.7)<br />

von ∆ (2) . Von B ∆ berechnet man die Eigenwertzerlegung (4.9) und erhält die<br />

orthonormalen Eigenvektoren v 1 , . . . , v N und die Diagonalmatrix Λ mit den<br />

3 Dies ist ke<strong>in</strong>e wirkliche E<strong>in</strong>schränkung, da es zu je<strong>der</strong> Konfiguration e<strong>in</strong>e zentrierte<br />

Konfiguration mit gleicher Distanzmatrix gibt ([21]).


32 Multidimensional Scal<strong>in</strong>g<br />

zugehörigen Eigenwerten λ 1 ≥ . . . ≥ λ N ≥ 0. Sei Λ k ∈ R k×k die Diagonalmatrix,<br />

die nur aus den ersten k Spalten von Λ besteht und V k = (v 1 , . . . , v k )<br />

die Matrix mit den zugehörigen Eigenvektoren. Nach [21] wird für beliebiges<br />

k ≤ n (4.13) m<strong>in</strong>imal für<br />

Y = V k Λ 1 2<br />

k<br />

. (4.17)<br />

Bis jetzt wurde immer angenommen, dass ∆ e<strong>in</strong>e euklidische Distanzmatrix<br />

ist. S<strong>in</strong>d die Unähnlichkeiten jedoch nicht-euklidische Distanzen, so ist die<br />

Matrix B ∆ = − 1 2 J∆(2) J aus (4.7) i.A. nicht mehr positiv semidef<strong>in</strong>it und<br />

besitzt deshalb negative Eigenwerte. Das bedeutet gleichzeitig, dass sich ∆ (2)<br />

nicht mehr als XX T mit e<strong>in</strong>er reellen Matrix X ∈ R N×n schreiben lässt.<br />

Beim klassischen MDS, bei dem trotzdem e<strong>in</strong>e euklidische E<strong>in</strong>bettung gesucht<br />

wird, werden solche negativen Eigenwerte als Fehler betrachtet und auf Null<br />

gesetzt, d.h. die Matrix Λ k <strong>in</strong> (4.17) wird ersetzt durch<br />

˜Λ k := diag(λ + 1 , . . . , λ + k ) , λ+ i := max(λ i , 0) ∀i . (4.18)<br />

In diesem Fall ist die E<strong>in</strong>bettung Ỹ, die den Stra<strong>in</strong> (4.13) m<strong>in</strong>imiert, gegeben<br />

durch<br />

1<br />

2<br />

Ỹ = V k ˜Λ<br />

k . (4.19)<br />

Äquivalenz von klassischem MDS und PCA<br />

In diesem Abschnitt soll gezeigt werden, dass die Lösung (4.17) des klassischen<br />

MDS äquivalent ist zur PCA. Die Kovarianzmatrix (2.1) lässt sich<br />

für unzentrierte Daten X ∈ R N×n mit Hilfe <strong>der</strong> Zentrierungsmatrix (4.6)<br />

schreiben als<br />

C = 1 N (JX)T (JX) = 1 N XT JJX = 1 N XT JX ∈ R n×n . (4.20)<br />

Ensprechend ist die Skalarproduktmatrix <strong>der</strong> zentrierten Konfiguration JX<br />

gegeben durch<br />

S = (JX)(JX) T = JXX T J ∈ R N×N , (4.21)<br />

und die p ≤ m<strong>in</strong>(n, N) echt positiven Eigenwerte λ 1 ≥ . . . ≥ λ p > 0 bei<strong>der</strong><br />

Matrizen stimmen übere<strong>in</strong>.<br />

Im Folgenden werden die Hauptkomponenten von X aus <strong>der</strong> Eigenwertzerlegung<br />

<strong>der</strong> Skalarproduktmatrix S berechnet. Sei v i Eigenvektor von S zum<br />

Eigenwert λ i > 0. Dann folgt aus (2.10), dass wegen<br />

(X T JJX)(X T Jv i ) = λ i X T Jv i (4.22)


4.1 Metrisches MDS 33<br />

u i := ηX T Jv i mit η ∈ R \ {0} Eigenvektor von NC zum Eigenwert λ i ist.<br />

Mit <strong>der</strong> For<strong>der</strong>ung ‖u i ‖ = 1 folgt analog zu (2.13) η = 1/ √ λ i , also<br />

u i = 1 √<br />

λi<br />

X T Jv i , i = 1, . . . , p . (4.23)<br />

Fasst man die größten p Eigenwerte von S zu e<strong>in</strong>er p × p-Matrix Λ p =<br />

diag(λ 1 , . . . , λ p ) zusammen und die zugehörigen Eigenvektoren von C bzw.<br />

S entsprechend zur N × p-Matrix U p = (u 1 , . . . , u p ) bzw. zur n × p-Matrix<br />

V p = (v 1 , . . . , v p ) und setzt Λ −1/2<br />

p := diag(1/ √ λ 1 , . . . , 1/ √ λ p ), so lässt sich<br />

U p ausdrücken durch<br />

U p = X T JV p Λ − 1 2<br />

p . (4.24)<br />

Für die Projektion Y ∈ R N×p <strong>der</strong> zentrierten Konfiguration JX auf die ersten<br />

p Hauptachsen folgt damit<br />

Y = JXU p = JXX T JV p Λ − 1 2<br />

p = SV p Λ − 1 2<br />

p = V p Λ p Λ − 1 2<br />

p = V p Λ 1 2 p . (4.25)<br />

Dies entspricht aber gerade <strong>der</strong> Lösung (4.17) des klassischen MDS. Dort<br />

wurde zwar die Eigenwertzerlegung nicht von S = JXX T J son<strong>der</strong>n von XX T<br />

berechnet, aber es wurde auch von e<strong>in</strong>er zentrierten Konfiguration X ausgegangen,<br />

für die JX = X und damit S = XX T ist.<br />

Zusammenfassend gilt also: Wendet man die PCA auf die E<strong>in</strong>gangsdaten<br />

X ∈ R N×n an und bestimmt die Projektion Y ∈ R N×p auf die ersten p<br />

Hauptachsen, so erhält man das gleiche Ergebnis wie bei <strong>der</strong> Berechnung<br />

e<strong>in</strong>er p-dimensionalen E<strong>in</strong>bettung aus <strong>der</strong> euklidischen Distanzmatrix ∆ <strong>der</strong><br />

Konfiguration X mittels klassischem MDS.<br />

Wie weiter oben bereits angedeutet, f<strong>in</strong>det das klassische MDS die Konfiguration<br />

Y so, dass die Skalarprodukte zwischen den Vektoren <strong>der</strong> Orig<strong>in</strong>aldaten<br />

bestmöglich (im quadratischen S<strong>in</strong>ne) durch die Skalarprodukte zwischen den<br />

Vektoren <strong>der</strong> E<strong>in</strong>bettung Y approximiert werden. Was bedeutet das nun für<br />

die paarweisen Abstände <strong>der</strong> y i im Vergleich zu denen <strong>der</strong> E<strong>in</strong>gangskonfiguration<br />

X?<br />

Wegen <strong>der</strong> Äquivalenz zur PCA ist Y gegeben durch e<strong>in</strong>e Orthogonalprojektion<br />

<strong>der</strong> zentrierten n-dimensionalen E<strong>in</strong>gangsdaten X auf den Unterraum<br />

R p , <strong>der</strong> von den ersten p Hauptachsen von X aufgespannt wird. In [19] wird<br />

nun gezeigt, dass für p < n unter allen Projektionen <strong>der</strong> zentrierten E<strong>in</strong>gangsdaten<br />

auf e<strong>in</strong>en p-dimensionalen Unterraum das klassische MDS e<strong>in</strong>e<br />

solche Projektion f<strong>in</strong>det, die die Größe<br />

Φ =<br />

N∑<br />

i=1<br />

N∑<br />

(δij 2 − d 2 ij) (4.26)<br />

j=1


34 Multidimensional Scal<strong>in</strong>g<br />

m<strong>in</strong>imiert. Dabei ist wie<strong>der</strong> δ ij = ‖x i − x j ‖ und d ij = ‖y i − y j ‖. Die e<strong>in</strong>zelnen<br />

Summanden s<strong>in</strong>d immer nichtnegativ, denn es gilt d ij ≤ δ ij ∀i, j wegen<br />

<strong>der</strong> Invarianz <strong>der</strong> euklidischen Norm unter orthogonalen Transformationen.<br />

Φ kann daher als e<strong>in</strong> Maß für die Übere<strong>in</strong>stimmung <strong>der</strong> Distanzen <strong>der</strong> Orig<strong>in</strong>aldaten<br />

und <strong>der</strong> E<strong>in</strong>bettung angesehen werden.<br />

4.1.2 An<strong>der</strong>e Varianten von metrischem MDS<br />

Die weiteren metrischen MDS-Varianten unterscheiden sich dadurch vom<br />

klassischen MDS, dass meist e<strong>in</strong>e an<strong>der</strong>e Kostenfunktion als <strong>der</strong> Stra<strong>in</strong> m<strong>in</strong>imiert<br />

wird und die Modellfunktion f nicht mehr die Identität ist, die Unähnlichkeiten<br />

p ij also erst transformiert und dann durch e<strong>in</strong>e euklidische E<strong>in</strong>bettung<br />

approximiert werden. Dies trägt <strong>der</strong> Tatsache Rechnung, dass Unähnlichkeiten<br />

oft negativ s<strong>in</strong>d und deshalb gar ke<strong>in</strong>e Distanzen darstellen können.<br />

Es wird aber weiterh<strong>in</strong> die Symmetrie angenommen, also p ij = p ji ∀i, j, was<br />

meist schon dadurch gesichert ist, dass nur e<strong>in</strong>er von beiden Werten vorhanden<br />

ist. Schließlich bestimmt man nicht zuerst, wie unähnlich Objekt i zu<br />

Objekt j ist, und dann, wie unähnlich Objekt j zu Objekt i ist, son<strong>der</strong>n<br />

es wird e<strong>in</strong>mal die Unähnlichkeit zwischen beiden bestimmt bzw. bei mehrfacher<br />

Messung gemittelt. Auch die Diagonale <strong>der</strong> Unähnlichkeitsmatrix P<br />

fehlt normalerweise, da natürlich die Unähnlichkeit e<strong>in</strong>es Objektes zu sich<br />

selbst nicht bestimmt werden muss.<br />

Intervall MDS<br />

S<strong>in</strong>d die Unähnlichkeiten (teilweise) negativ, so können sie ke<strong>in</strong>e Distanzen<br />

repräsentieren und müssen zuerst geeignet transformiert werden. E<strong>in</strong>e<br />

Möglichkeit dafür wird durch das Intervall MDS gegeben. Die Modellfunktion<br />

lautet hier<br />

f(p ij ) = β 0 + β 1 p ij , β 0 , β 1 ∈ R, β 1 ≠ 0. (4.27)<br />

Beim Intervall MDS werden also Verhältnisse von Differenzen von Abständen<br />

bestmöglich durch e<strong>in</strong>e euklidische E<strong>in</strong>bettung repräsentiert. Man wählt nun<br />

β 0 so groß, dass zum E<strong>in</strong>en alle E<strong>in</strong>träge <strong>in</strong> ∆ positiv s<strong>in</strong>d und zum An<strong>der</strong>en<br />

nach Nullsetzen <strong>der</strong> Diagonale<strong>in</strong>träge von ∆ noch die Dreiecksungleichung<br />

δ ij + δ jk ≥ δ ik ∀i, j, k gilt, was zusammen mit <strong>der</strong> Symmetrie ∆ zu e<strong>in</strong>er<br />

Distanzmatrix macht. β 1 wird oft auf 1 gesetzt; die Wahl dieses Parameters<br />

ist (bis auf evtl. das Vorzeichen) nur e<strong>in</strong>e Skalierungsfrage.


4.1 Metrisches MDS 35<br />

In [21] wird gezeigt, dass man durch h<strong>in</strong>reichend großes β 0 die Matrix ∆<br />

sogar zu e<strong>in</strong>er euklidischen Distanzmatrix machen kann. Für β 1 = 1 ist <strong>der</strong><br />

kle<strong>in</strong>ste Wert β ⋆ 0, <strong>der</strong> ∆ zu e<strong>in</strong>er euklidischen Distanzmatrix macht, nach [3]<br />

gegeben durch den größten reellen Eigenwert <strong>der</strong> 2N × 2N-Matrix<br />

G =<br />

−1<br />

( )<br />

0 2B∆<br />

2J∆J<br />

. (4.28)<br />

Weitere Varianten<br />

Es gibt noch viele weitere Varianten von metrischem MDS, die oft dann zum<br />

E<strong>in</strong>satz kommen, wenn die Unähnlichkeiten nicht euklidischen Abständen<br />

entsprechen. Beispiele, die sich im psychologischen Umfeld als s<strong>in</strong>nvoll erwiesen<br />

haben [3], s<strong>in</strong>d<br />

• logarithmische Funktionen <strong>der</strong> Form f(p ij ) = β 0 + β 1 log(p ij ),<br />

• exponentielle Funktionen f(p ij ) = β 0 + β 1 exp(p ij ) o<strong>der</strong><br />

• Polynome f(p ij ) = β 0 + β 1 p ij + β 2 p 2 ij.<br />

Die Parameter β i können dabei entwe<strong>der</strong> fest gewählt werden, falls man schon<br />

e<strong>in</strong>e Vorstellung davon hat, wie die Unähnlichkeiten mit Distanzen zusammenhängen,<br />

o<strong>der</strong> man betrachtet sie neben <strong>der</strong> gesuchten E<strong>in</strong>bettung ebenfalls<br />

als unbekannt und fittet sie durch M<strong>in</strong>imierung e<strong>in</strong>er Kostenfunktion<br />

an, wobei es dann meist ke<strong>in</strong>e analytische Lösung mehr wie beim klassischen<br />

MDS gibt. In diesem Fall kommen oft gradientenbasierte Algorithmen<br />

zum E<strong>in</strong>satz, die jedoch immer die Gefahr bergen, nur lokale (anstatt globale)<br />

M<strong>in</strong>ima zu f<strong>in</strong>den. Diese funktionieren im Pr<strong>in</strong>zip so, dass man mit<br />

e<strong>in</strong>er Anfangskonfiguration startet (die z.B. die Lösung des klassischen MDS<br />

se<strong>in</strong> kann) und aus dieser Konfiguration die Matrix <strong>der</strong> paarweisen Distanzen<br />

d ij (Y) berechnet. Diese Matrix wird mit <strong>der</strong> ”<br />

Zielmatrix“ ∆ verglichen.<br />

Anschließend werden die e<strong>in</strong>zelnen Punkte verschoben und wie<strong>der</strong> die Distanzmatrix<br />

berechnet, wobei die Verschiebung <strong>in</strong> jedem Schritt so erfolgt,<br />

dass die Distanzmatrizen <strong>der</strong> Zielmatrix sukzessive immer ähnlicher werden.<br />

Die wichtigsten zu m<strong>in</strong>imierenden Fehlerfunktionen <strong>in</strong> diesem Zusammen-


36 Multidimensional Scal<strong>in</strong>g<br />

hang s<strong>in</strong>d Stress und SStress, die def<strong>in</strong>iert s<strong>in</strong>d durch<br />

Stress(Y) =<br />

SStress(Y) =<br />

N∑ N∑<br />

w ij (δ ij − d ij (Y)) 2 , (4.29)<br />

i=1<br />

N∑<br />

j=1<br />

i=1 j=1<br />

N∑<br />

w ij (δij 2 − d 2 ij(Y)) 2 . (4.30)<br />

Durch die Wahl <strong>der</strong> Koeffizienten w ij kann e<strong>in</strong>e unterschiedliche Gewichtung<br />

<strong>der</strong> e<strong>in</strong>zelnen Terme erreicht werden. Außerdem kann so das Fehlen e<strong>in</strong>zelner<br />

Unähnlichkeiten berücksichtigt werden, <strong>in</strong>dem <strong>der</strong> entsprechende Koeffizient<br />

auf Null gesetzt wird. Werden alle w ij = 1 gesetzt, dann entspricht SStress<br />

dem Stra<strong>in</strong> ohne doppelte Zentrierung. Für die Lösung dieses Problems ist<br />

ke<strong>in</strong>e explizite analytische Lösung wie beim klassischen MDS bekannt ([21]).<br />

Des Weiteren kann es sehr s<strong>in</strong>nvoll se<strong>in</strong>, die gesuchte Konfiguration Y nicht<br />

als E<strong>in</strong>bettung <strong>in</strong> e<strong>in</strong>en euklidischen Raum zu bestimmen, son<strong>der</strong>n diesem<br />

Raum e<strong>in</strong>e an<strong>der</strong>e Metrik zugrunde zu legen, z.B. e<strong>in</strong>e durch die M<strong>in</strong>kowski<br />

l p -Norm ‖ · ‖ p <strong>in</strong>duzierte, die für p ≥ 1 def<strong>in</strong>iert ist durch<br />

d (p)<br />

ij (Y) = ‖y i − y j ‖ p =<br />

( k∑<br />

l=1<br />

|y il − y jl | p ) 1/p<br />

. (4.31)<br />

Genaueres zu den metrischen MDS-Verfahren wie auch Algorithmen zur<br />

M<strong>in</strong>imierung von (4.29) bzw. (4.30) f<strong>in</strong>det man <strong>in</strong> [3], [19] und [21].<br />

4.2 Nichtmetrisches MDS<br />

Beim metrischen MDS wird immer davon ausgegangen, dass den (experimentell<br />

bestimmten) Unähnlichkeiten p ij eventuell nach e<strong>in</strong>er geeigneten Transformation<br />

f(p ij ) zum<strong>in</strong>dest approximativ e<strong>in</strong> räumliches Modell zugrunde<br />

liegt, d.h. dass e<strong>in</strong>e Konfiguration Y von Punkten <strong>in</strong> e<strong>in</strong>em (euklidischen)<br />

Raum existiert, die die transformierten Unähnlichkeiten durch Abstände zwischen<br />

den Punkten repräsentiert [21]. Diese For<strong>der</strong>ung ist allerd<strong>in</strong>gs für e<strong>in</strong>ige<br />

Fälle zu restriktiv. In psychologischen Untersuchungen, wo die Probanden<br />

z.B. Ähnlichkeiten o<strong>der</strong> Unähnlichkeiten zwischen Objekten beurteilen sollen,<br />

liegen oft nur Aussagen <strong>der</strong> Form ”<br />

Objekt i ist dem Objekt k unähnlicher<br />

als Objekt j dem Objekt k“ vor. Man hat also nur Relationen wie p ik > p jk .


4.2 Nichtmetrisches MDS 37<br />

In solchen Fällen ist man dann eigentlich nur daran <strong>in</strong>teressiert, die Ordnung<br />

<strong>der</strong> (Un-)Ähnlichkeiten zu erhalten, d.h. man for<strong>der</strong>t von dem Modell<br />

f lediglich<br />

p ik > p jk ⇒ f(p ik ) ≥ f(p jk ) . (4.32)<br />

f hat dann oft gar ke<strong>in</strong>en kont<strong>in</strong>uierlichen Def<strong>in</strong>itionsbereich mehr, son<strong>der</strong>n<br />

ist oft nur noch e<strong>in</strong>e Abbildung mit diskretem Def<strong>in</strong>itionsbereich. Wegen<br />

<strong>der</strong> ordnungserhaltenden Eigenschaft nennt man die nichtmetrischen MDS-<br />

Verfahren auch ord<strong>in</strong>al MDS. Die transformierten Unähnlichkeiten werden<br />

beim nichtmetrischen MDS mit ˆd ij bezeichnet; für sie hat sich <strong>in</strong> <strong>der</strong> englischen<br />

Literatur <strong>der</strong> Begriff disparities e<strong>in</strong>gebürgert.<br />

Als Modell können im Pr<strong>in</strong>zip beliebige monotone Abbildungen verwendet<br />

werden, die (4.32) erfüllen. Manchmal erweist es sich sogar als s<strong>in</strong>nvoll, den<br />

p ij <strong>der</strong> Größe nach e<strong>in</strong>fach nur Nummern zuzuordnen, <strong>in</strong>dem das kle<strong>in</strong>ste p ij<br />

z.B. den Wert ˆd ij = 1 zugeordnet bekommt, das nächstgrößere p kl den Wert<br />

ˆd kl = 2 usw.<br />

Meistens wird das Modell jedoch nicht näher spezifiziert. Die ˆd ij werden als<br />

Parameter betrachtet und wie die E<strong>in</strong>bettung Y selbst z.B. durch M<strong>in</strong>imierung<br />

des Stress’ gefunden:<br />

Stress(ˆd, Y) =<br />

N∑ N∑<br />

w ij ( ˆd ij − d ij (Y)) 2 (4.33)<br />

i=1 j=1<br />

Dabei ist ˆd <strong>der</strong> Vektor mit den N(N − 1)/2 verschiedenen ˆd ij , die natürlich<br />

nur <strong>in</strong> gewissem Rahmen variiert werden dürfen, so dass möglichst immer<br />

(4.32) erfüllt ist. Dabei müssen degenerierte Lösungen z.B. durch E<strong>in</strong>führung<br />

e<strong>in</strong>er Normierungsbed<strong>in</strong>gung für ˆd verh<strong>in</strong><strong>der</strong>t werden, um die triviale Lösung<br />

ˆd = 0 und Y = 0 zu verh<strong>in</strong><strong>der</strong>n. Weitere nichtmetrische MDS-Verfahren und<br />

Algorithmen zur Lösung <strong>der</strong> auftretenden M<strong>in</strong>imierungsprobleme f<strong>in</strong>det man<br />

<strong>in</strong> [3] und [21].


Kapitel 5<br />

Isomap<br />

Isomap [31], [15] ist e<strong>in</strong>e nichtl<strong>in</strong>eare Erweiterung des klassischen MDS (Abschnitt<br />

4.1.1). Das klassische MDS liefert optimale niedrigdimensionale euklidische<br />

E<strong>in</strong>bettungen nur für E<strong>in</strong>gabedaten, die auf e<strong>in</strong>er l<strong>in</strong>earen Untermannigfaltigkeit<br />

des E<strong>in</strong>gaberaumes liegen. Wenn auch die Ergebnisse des klassischen<br />

MDS für schwach gekrümmte nichtl<strong>in</strong>eare Mannigfaltigkeiten noch<br />

zufriedenstellend se<strong>in</strong> mögen, so versagen diese l<strong>in</strong>earen Verfahren jedoch<br />

völlig bei Mannigfaltigkeiten mit starker Krümmung wie z.B. <strong>der</strong> Swiss Roll<br />

(1.1), von <strong>der</strong> <strong>in</strong> Abbildung 5.1(a) e<strong>in</strong> Datensatz aus 1000 zufälligen Samples<br />

gezeigt ist. MDS würde für diesen Datensatz e<strong>in</strong>e E<strong>in</strong>bettung f<strong>in</strong>den, die<br />

die euklidischen Abstände bestmöglich erhält. Diese unterscheiden sich aber<br />

für e<strong>in</strong>e solche stark gekrümmte Mannigfaltigkeit ganz erheblich von den<br />

tatsächlichen geodätischen Abständen, was man deutlich <strong>in</strong> Abb. 5.1(a) sehen<br />

kann. Die Folge ist, dass e<strong>in</strong>e zweidimensionale E<strong>in</strong>bettung mit MDS die<br />

Nachbarschaftsverhältnisse völlig zerstören würde.<br />

Der Isomap-Algorithmus geht hier e<strong>in</strong>en an<strong>der</strong>en Weg: Anstatt e<strong>in</strong>fach die<br />

paarweisen euklidischen Abstände <strong>der</strong> E<strong>in</strong>gangsdaten als Input zu nehmen<br />

und e<strong>in</strong>e diese Abstände bestmöglich erhaltende niedrigdimensionale E<strong>in</strong>bettung<br />

<strong>in</strong> e<strong>in</strong>en l<strong>in</strong>earen Raum zu bestimmen, versucht Isomap zuerst, die den<br />

Daten zugrunde liegende Geometrie zu ”<br />

lernen“. Was ist damit geme<strong>in</strong>t? E<strong>in</strong>e<br />

(niedrigdimensionale) E<strong>in</strong>bettung <strong>in</strong> e<strong>in</strong>en euklidischen Raum erhält dann<br />

die Merkmale o<strong>der</strong> wesentlichen Strukturen <strong>der</strong> Daten, wenn die Nachbarschaften<br />

<strong>der</strong> Daten erhalten bleiben. Das bedeutet, dass Punkte, die im E<strong>in</strong>gaberaum<br />

e<strong>in</strong>en kle<strong>in</strong>en Abstand vone<strong>in</strong>an<strong>der</strong> haben, auch <strong>in</strong> <strong>der</strong> euklidischen<br />

E<strong>in</strong>bettung dicht benachbart se<strong>in</strong> müssen. Entsprechend müssen aber auch<br />

Punkte mit großem Abstand auf weiter entfernte Punkte im E<strong>in</strong>bettungsraum<br />

abgebildet werden. Von ganz entscheiden<strong>der</strong> Bedeutung ist dabei, dass


39<br />

y 2<br />

x 3<br />

x 3<br />

x 2<br />

x 2<br />

x 1<br />

x 1<br />

y 1<br />

(a)<br />

(b)<br />

(c)<br />

Abbildung 5.1: Der Swiss Roll Datensatz. (a) euklidischer Abstand (Länge <strong>der</strong> gestrichelten<br />

L<strong>in</strong>ie) zweier beliebiger Punkte und ”<br />

wahrer“ Abstand <strong>in</strong> <strong>der</strong> Geometrie <strong>der</strong><br />

Mannigfaltigkeit als Länge <strong>der</strong> Geodäte (durchgezogene L<strong>in</strong>ie). (b) Nachbarschaftsgraph<br />

für N = 1000 Punkte und k = 7 Nachbarn und Approximation des geodätischen<br />

Abstandes <strong>der</strong> Punkte durch den kürzesten Weg (rot) im Graph. (c) Zweidimensionale<br />

E<strong>in</strong>bettung mit Isomap, die bestmöglich die kürzesten Wege (rot) im (überlagerten)<br />

Graph (grau) erhält. Geodätische Abstände werden nun durch euklidische Abstände<br />

(blau) im E<strong>in</strong>bettungsraum repräsentiert.<br />

die Abstände im E<strong>in</strong>gaberaum stets die geodätischen Abstände se<strong>in</strong> müssen,<br />

die sich von den euklidischen Abständen bei Mannigfaltigkeiten <strong>in</strong> nichteuklidischen<br />

Geometrien ganz erheblich unterscheiden können. Das Problem ist<br />

nun, dass man <strong>in</strong> den meisten Fällen ke<strong>in</strong>erlei Aussagen über die den Daten<br />

zugrunde liegende Geometrie machen kann, ja nicht e<strong>in</strong>mal e<strong>in</strong>e Ahnung hat,<br />

wie diese aussehen könnte.<br />

Allgeme<strong>in</strong> ist <strong>der</strong> Abstand zweier Punkte def<strong>in</strong>iert als die Länge ihrer kürzesten<br />

Verb<strong>in</strong>dung, also die Länge <strong>der</strong> Geodäte zwischen beiden Punkten. Diese<br />

bekommt man, <strong>in</strong>dem man die <strong>in</strong>f<strong>in</strong>itesimalen Wegelemente auf<strong>in</strong>tegriert. 1 Da<br />

diese <strong>in</strong> <strong>der</strong> Realität z.B. bei gemessenen Daten aufgrund fehlen<strong>der</strong> Informationen<br />

über die Geometrie nicht bekannt s<strong>in</strong>d, muss e<strong>in</strong> Ersatz für das Integral<br />

her. Die e<strong>in</strong>zigen bekannten Informationen s<strong>in</strong>d jedoch die euklidischen<br />

Abstände zwischen den Punkten im E<strong>in</strong>gaberaum. Zunächst sei angenommen,<br />

dass h<strong>in</strong>reichend viele Samples (Punkte) <strong>der</strong> Mannigfaltigkeit vorliegen,<br />

so dass diese die Geometrie und <strong>in</strong>sbeson<strong>der</strong>e die Krümmungen ausreichend<br />

gut wi<strong>der</strong>spiegeln. Etwas präziser formuliert wird gefor<strong>der</strong>t, dass für jeden<br />

beliebigen Punkt aus dem Datensatz gilt: In e<strong>in</strong>er h<strong>in</strong>reichend kle<strong>in</strong>en Umgebung<br />

um den Punkt, <strong>in</strong> <strong>der</strong> die Krümmung noch vernachlässigbar kle<strong>in</strong> ist,<br />

sollen außer dem Punkt selbst auch noch e<strong>in</strong>ige se<strong>in</strong>er nächsten Nachbarn lie-<br />

1 Es sei angenommen, dass die Mannigfaltigkeit h<strong>in</strong>reichend nette Eigenschaften besitzt,<br />

so dass dieses Integral existiert.


40 Isomap<br />

gen. Unter dieser Voraussetzung ist <strong>der</strong> euklidische Abstand zwischen e<strong>in</strong>em<br />

Punkt und e<strong>in</strong>em se<strong>in</strong>er nächsten Nachbarn e<strong>in</strong>e gute Approximation an den<br />

tatsächlichen geodätischen Abstand, weil die Mannigfaltigkeit lokal <strong>in</strong> guter<br />

Näherung l<strong>in</strong>ear ist. 2 Man kann dann als Näherung an den geodätischen<br />

Abstand zweier beliebiger Punkte x 1 und x 2 das Integral über die <strong>in</strong>f<strong>in</strong>itesimalen<br />

Wegelemente ersetzen durch e<strong>in</strong>e Summe über euklidische Abstände<br />

zwischen benachbarten Punkten, die auf o<strong>der</strong> möglichst dicht an <strong>der</strong> entsprechenden<br />

Geodätenl<strong>in</strong>ie zwischen den Punkten liegen sollen. Man bewegt<br />

sich also von x 1 zu x 2 nur über nächste Nachbarn und addiert dabei jeweils<br />

die (bekannten) euklidischen Distanzen zwischen den benachbarten Punkten<br />

auf. Als Approximation an den geodätischen Abstand setzt man dann den<br />

kürzesten möglichen Weg von x 1 zu x 2 über die Nachbarn.<br />

5.1 Die ursprüngliche Version von Isomap<br />

In <strong>der</strong> ursprünglichen Version von Isomap werden jedoch nicht alle Punkte<br />

zur Approximation <strong>der</strong> geodätischen Abstände herangezogen [30]. Stattdessen<br />

wird aus den N E<strong>in</strong>gabedaten x 1 , . . . , x N e<strong>in</strong>e zufällige Untermenge aus<br />

r < N Vektoren ausgewählt und e<strong>in</strong> Graph konstruiert, <strong>in</strong> dem jedem dieser r<br />

Vektoren e<strong>in</strong> Knoten zugeordnet wird. 3 Zwei Knoten v i und v j dieses Graphen<br />

werden genau dann durch e<strong>in</strong>e Kante mite<strong>in</strong>an<strong>der</strong> verbunden, falls es e<strong>in</strong>en<br />

Vektor x k gibt, dessen beide nächsten Nachbarn im E<strong>in</strong>gaberaum gerade die<br />

den Knoten v i und v j zugeordneten Vektoren s<strong>in</strong>d. Als Länge <strong>der</strong> Kanten wird<br />

<strong>der</strong> (bekannte) euklidische Abstand zwischen den beiden Vektoren gesetzt.<br />

In diesem Graph werden dann mit dem Floyd-Warshall-Algorithmus (vgl.<br />

Algorithmus A.2) die kürzesten Wege zwischen allen Knoten berechnet, die<br />

als Approximationen an die geodätischen Abstände dienen. Liegen genügend<br />

Samples <strong>der</strong> Mannigfaltigkeit vor und ist <strong>der</strong> Parameter r richtig gewählt,<br />

so bildet <strong>der</strong> Graph e<strong>in</strong> die Topologie <strong>der</strong> Mannigfaltigkeit repräsentierendes<br />

Netzwerk (topology represent<strong>in</strong>g network, vgl. [20]). Ist r zu kle<strong>in</strong>, so s<strong>in</strong>d die<br />

den Knoten zugeordneten Punkte im E<strong>in</strong>gaberaum relativ weit vone<strong>in</strong>an<strong>der</strong><br />

entfernt, und ihr euklidischer Abstand ist ke<strong>in</strong>e gute Näherung mehr an den<br />

tatsächlichen geodätischen Abstand. Ist r h<strong>in</strong>gegen zu groß, so fehlen viele<br />

Kanten zwischen benachbarten Knoten, da für jeden Punkt im E<strong>in</strong>gaberaum<br />

höchstens e<strong>in</strong>e Kante im Graphen ausgebildet werden kann (nämlich die zwischen<br />

se<strong>in</strong>en beiden nächsten Nachbarn, falls diese zum Graph gehören, aber<br />

2 Als Analogon betrachte man z.B. die nichtl<strong>in</strong>eare Kugelgeometrie <strong>der</strong> Erdoberfläche,<br />

die ebenfalls lokal <strong>in</strong> guter Näherung als euklidisch aufgefasst werden kann.<br />

3 Die hier verwendeten graphentheoretischen Begriffe werden <strong>in</strong> A.2 erläutert.


5.2 E<strong>in</strong>e neuere Variante von Isomap 41<br />

z.B. nicht mehr zwischen se<strong>in</strong>en beiden übernächsten Nachbarn). Laut [30]<br />

hat sich N = 10 4 und r = N/10 <strong>in</strong> <strong>der</strong> Praxis bewährt.<br />

Seien nun o.E. x 1 , . . . , x r die Punkte, die den Knoten v 1 , . . . , v r im Graph entsprechen.<br />

Diese seien als Zeilenvektoren <strong>in</strong> <strong>der</strong> Matrix X r = (x 1 , . . . , x r ) T zusammengefasst.<br />

Die approximierten paarweisen geodätischen Abstände werden<br />

<strong>in</strong> <strong>der</strong> Matrix d G (X r ) zusammengefasst, wobei d ij G (X r) die Länge des<br />

kürzesten Weges zwischen v i und v j bezeichnet. Die hier beschriebene ursprüngliche<br />

Variante von Isomap benutzt e<strong>in</strong> nichtmetrisches MDS-Verfahren,<br />

um e<strong>in</strong>e E<strong>in</strong>bettung für die approximierten Distanzen zu f<strong>in</strong>den (vgl. Abschnitt<br />

4.2). Dabei werden die d ij G (X r) als Unähnlichkeiten p ij betrachtet,<br />

die noch durch e<strong>in</strong>e monotone Transformation f, die (4.32) erfüllt, auf die<br />

disparities ˆd ij G (X r) abgebildet werden können. Die E<strong>in</strong>bettung wird dann für<br />

die disparities durch M<strong>in</strong>imierung des Stress (4.33) gefunden.<br />

Die ursprüngliche Version von Isomap f<strong>in</strong>det e<strong>in</strong>e E<strong>in</strong>bettung also nicht für<br />

alle Punkte aus dem E<strong>in</strong>gaberaum, son<strong>der</strong>n nur für die Punkte x 1 , . . . , x r ,<br />

denen Knoten im Graph entsprechen und für die somit approximierte geodätische<br />

Abstände berechnet werden. Diese Punkte werden so gewählt, dass sie<br />

die Topologie <strong>der</strong> Mannigfaltigkeit vollständig repräsentieren, soweit das anhand<br />

<strong>der</strong> Anzahl und Verteilung <strong>der</strong> E<strong>in</strong>gangsdaten möglich ist.<br />

5.2 E<strong>in</strong>e neuere Variante von Isomap<br />

Die <strong>in</strong> [31] beschriebene, aktuelle Variante von Isomap, die im Folgenden<br />

immer e<strong>in</strong>fach mit Isomap bezeichnet wird, beschreitet e<strong>in</strong>en etwas an<strong>der</strong>en<br />

Weg, um e<strong>in</strong>e E<strong>in</strong>bettung für alle E<strong>in</strong>gangsdatenpunkte zu f<strong>in</strong>den. Es werden<br />

hier für jeden Punkt x i , i = 1, . . . , N, die nächsten Nachbarn berechnet<br />

und e<strong>in</strong> Graph G aus N Knoten v 1 , . . . , v N konstruiert, so dass dem Punkt<br />

x i aus dem E<strong>in</strong>gaberaum <strong>der</strong> Knoten v i im Graph entspricht. Bei dieser<br />

Version von Isomap kann man nochmal zwischen verschiedenen Varianten<br />

unterscheiden: k-Isomap verwendet e<strong>in</strong>e konstante Anzahl von k nächsten<br />

Nachbarn für jeden Punkt x i , während ɛ-Isomap alle Punkte als Nachbarn<br />

von x i betrachtet, die <strong>in</strong>nerhalb e<strong>in</strong>er Kugel vom Radius ɛ um x i verteilt<br />

s<strong>in</strong>d. In G wird dann für alle i, j = 1, . . . , N <strong>der</strong> Knoten v i mit v j durch<br />

e<strong>in</strong>e Kante verbunden, falls x j e<strong>in</strong>er <strong>der</strong> nächsten Nachbarn von x i ist. Dabei<br />

wird als Länge <strong>der</strong> Kante zwischen v i und v j wie<strong>der</strong> <strong>der</strong> euklidische Abstand<br />

zwischen x i und x j gesetzt. k bzw. ɛ werden so gewählt, dass die geodätischen<br />

Abstände <strong>der</strong> Punkte, die im Graphen durch Kanten verbunden werden, noch<br />

gut durch die entsprechenden (bekannten) euklidischen Abstände angenähert<br />

werden.


42 Isomap<br />

In dem so konstruierten Graphen bestimmt man dann die kürzesten Wege<br />

zwischen allen Knoten, wobei hier <strong>der</strong> Algorithmus von Dijkstra zum E<strong>in</strong>satz<br />

kommt (vgl. Algorithmus A.1). Es ist |V | = N die Anzahl <strong>der</strong> Knoten<br />

<strong>in</strong> G, und für k nächste Nachbarn ist |E| = N · k die Anzahl <strong>der</strong> Kanten<br />

zwischen diesen Knoten. Die Laufzeit des Algorithmus’ lässt sich dann<br />

abschätzen durch O(N 2 (k + log N)). Für zwei beliebige Punkte x i und x j<br />

lässt sich <strong>der</strong>en geodätischer Abstand nun aproximieren durch die Länge des<br />

kürzesten Weges zwischen v i und v j im Graphen G. Die E<strong>in</strong>gabedaten werden<br />

zu e<strong>in</strong>er Matrix X = (x 1 , . . . , x N ) T mit den x i als Zeilen zusammengefasst.<br />

Weiterh<strong>in</strong> bezeichne ∆ G (X) die Matrix mit den Längen <strong>der</strong> kürzesten Wege<br />

zwischen den Daten, wobei wie<strong>der</strong> wie im vorigen Abschnitt δ ij<br />

G<br />

(X) die Länge<br />

des kürzsten Weges zwischen v i und v j bezeichnet. Def<strong>in</strong>iert man außerdem<br />

analog ∆ M (X) als Matrix <strong>der</strong> paarweisen geodätischen Distanzen <strong>der</strong> x i ,<br />

so betrachtet man also ∆ G (X) als e<strong>in</strong>e Näherung an die (unbekannte) Matrix<br />

∆ M (X). Mit Hilfe des klassischen MDS (vgl. Abschnitt 4.1.1) wird nun<br />

durch M<strong>in</strong>imierung des Stra<strong>in</strong> (4.13) e<strong>in</strong>e euklidische E<strong>in</strong>bettung für die approximierten<br />

geodätischen Distanzen ∆ G (X) berechnet. Man wendet also die<br />

doppelte Zentrierung (4.7) auf die Matrix ∆ (2) G mit (∆ (2) G) ij = (δ ij<br />

G )2 an<br />

und erhält die Matrix B ∆G . Der zu m<strong>in</strong>imierende Stra<strong>in</strong> hat dann analog zu<br />

(4.13) die Form<br />

L(Y) = ‖YY T − B ∆G ‖ 2 F . (5.1)<br />

Die Lösung Y ∈ R N×d für e<strong>in</strong>e d-dimensionale E<strong>in</strong>bettung ist nach (4.17)<br />

gerade gegeben durch<br />

Y = V d Λ 1 2<br />

d<br />

, (5.2)<br />

wobei Λ 1/2<br />

d<br />

= diag(λ 1/2<br />

1 , . . . , λ 1/2<br />

d<br />

) die Diagonalmatrix mit den Quadratwurzeln<br />

<strong>der</strong> d größten Eigenwerte λ 1 ≥ . . . ≥ λ d ≥ 0 von B ∆G ist und V d<br />

die N × d-Matrix mit den zugehörigen Eigenvektoren als Spalten bezeichnet.<br />

Isomap verwendet also e<strong>in</strong>en globalen Ansatz, bei dem die geodätischen<br />

Abstände zwischen allen E<strong>in</strong>gabedaten durch Distanzen <strong>in</strong> e<strong>in</strong>em Graphen<br />

approximiert werden und anschließend e<strong>in</strong> globales M<strong>in</strong>imum von (5.1) bestimmt<br />

wird.<br />

In Pseudocode lässt sich <strong>der</strong> Isomap-Algorithmus folgen<strong>der</strong>maßen formulieren:


5.2 E<strong>in</strong>e neuere Variante von Isomap 43<br />

Algorithmus 5.1 Der Isomap-Algorithmus<br />

Require: Matrix D ∈ R N×N <strong>der</strong> euklidischen Distanzen zwischen Nachbarn;<br />

Graph G = (V, E) mit Knotenmenge V = (v 1 , . . . , v N );<br />

1: {Initialisierung:}<br />

2: Setze E := ∅;<br />

3: {Schritt 1: Konstruktion des Graphen}<br />

4: for i = 1 to N do<br />

5: for all j ∈ {l|x l ist Nachbar von x i } do<br />

6: if (v i , v j ) ∉ E then<br />

7: füge die Kante (v i , v j ) zur Kantenmenge E h<strong>in</strong>zu;<br />

8: end if<br />

9: end for<br />

10: end for<br />

11: {Schritt 2: Bestimmung <strong>der</strong> kürzesten Wege <strong>in</strong> G}<br />

12: for i = 1 to N do<br />

13: berechne <strong>in</strong> G die kürzsten Wege von v i zu allen an<strong>der</strong>en Knoten v j , j =<br />

1, . . . , N, und speichere die Längen <strong>in</strong> <strong>der</strong> i-ten Zeile <strong>der</strong> Matrix ∆ G ∈<br />

R N×N ;<br />

14: end for<br />

15: {Schritt 3: Berechnung <strong>der</strong> E<strong>in</strong>bettung}<br />

16: berechne für ∆ G e<strong>in</strong>e d-dimensionale E<strong>in</strong>bettung Y ∈ R N×d mit dem<br />

klassischen MDS;<br />

Die Matrix D, die als Input für Isomap dient, muss dabei nicht die paarweisen<br />

euklidischen Abstände zwischen allen E<strong>in</strong>gangsdaten enthalten. Stattdessen<br />

bestimmt man zu jedem Punkt x i die nächsten Nachbarn und trägt <strong>in</strong> D<br />

<strong>in</strong> <strong>der</strong> i-ten Zeile nur die Distanzen von x i zu dessen nächsten Nachbarn<br />

e<strong>in</strong>. Man kann D deshalb <strong>in</strong> e<strong>in</strong>er dünnbesetzten (sparse) Matrix speichern,<br />

was bei großen Datensätzen zu e<strong>in</strong>er erheblichen E<strong>in</strong>sparung bezüglich des<br />

benötigten Speichers führt.<br />

Abb. 5.1(b) zeigt den zu 5.1(a) gehörenden Graph, <strong>der</strong> sich für e<strong>in</strong>en Datensatz<br />

aus 1000 zufälligen Samples <strong>der</strong> Swiss Roll und k = 7 nächste Nachbarn<br />

ergibt, zusammen mit dem kürzesten Weg zwischen den beiden e<strong>in</strong>gekreisten<br />

Punkten als Approximation an den geodätischen Abstand. Die zugehörige,<br />

von Isomap berechnete 2-dimensionale E<strong>in</strong>bettung zeigt Abb. 5.1(c). Der<br />

E<strong>in</strong>bettung wurde zusätzlich noch <strong>der</strong> Distanzgraph zusammen mit dem<br />

kürzesten Weg (roter Polygonzug) überlagert. Der euklidische Abstand im<br />

E<strong>in</strong>bettungsraum (Länge <strong>der</strong> blauen Gerade) dient nun als Approximation<br />

an den tatsächlichen geodätischen Abstand.


44 Isomap<br />

Es stellt sich nun die Frage, wie gut die Näherung <strong>der</strong> geodätischen Abstände<br />

auf <strong>der</strong> Mannigfaltigkeit durch die kürzesten Wege im Graphen ist. Abb. 5.2<br />

Distanzen im Graph<br />

100<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

0 20 40 60 80 100<br />

Distanzen auf <strong>der</strong> Mannigfaltigkeit<br />

Abbildung 5.2: Auftragung <strong>der</strong> Distanz im Graphen gegen den geodätischen Abstand<br />

für 10000 zufällig ausgewählte Punktepaare des Swiss Roll Datensatzes. Zusätzlich ist<br />

noch die W<strong>in</strong>kelhalbierende e<strong>in</strong>gezeichnet.<br />

zeigt für den Swiss Roll Datensatz aus Abb. 5.1 die Auftragung <strong>der</strong> Länge<br />

des kürzesten Weges im Graphen gegen den tatsächlichen geodätischen Abstand<br />

für 10000 zufällig ausgewählte Punktepaare (x i , x j ). Die geodätischen<br />

Abstände wurden dabei aus <strong>der</strong> Parameterdarstellung (1.1) <strong>der</strong> Swiss Roll<br />

durch Integration bestimmt: Besitzen x i und x j die Darstellungen x i =<br />

(t i cos(t i ), t i s<strong>in</strong>(t i ), z i ) T bzw. x j = (t j cos(t j ), t j s<strong>in</strong>(t j ), z j ) T , so lässt sich <strong>der</strong><br />

geodätische Abstand zwischen beiden Punkten wie folgt bestimmen. Der Fall<br />

t i = t j ist trivial; die Weglänge ist hier e<strong>in</strong>fach |z j −z i |. Im an<strong>der</strong>en Fall t i ≠ t j<br />

kann o.E. t j > t i angenommen werden. Dann muss die z-Komponente von x<br />

bei <strong>der</strong> Bewegung von x i nach x j l<strong>in</strong>ear mit dem Parameter t wachsen, kann<br />

also durch diesen <strong>in</strong> <strong>der</strong> Form z := b · t + b 0 parametrisiert werden. Setzt man<br />

für die Konstanten b := z j−z i<br />

t j −t i<br />

und b 0 := z it j −z j t i<br />

t j −t i<br />

, so gilt gerade z(t i ) = z i und<br />

z(t j ) = z j . Die Länge s <strong>der</strong> Geodäte x(t) = (x(t), y(t), z(t)) T im Intervall


5.2 E<strong>in</strong>e neuere Variante von Isomap 45<br />

[t i , t j ] ist damit gegeben durch<br />

∫ tj<br />

∫ tj<br />

√ẋ(t)2 √<br />

s =<br />

+ ẏ(t) 2 + ż(t) 2 dt = 1 + t2 + b 2 dt<br />

t i t i<br />

[ t<br />

= 1 + t2 + b<br />

2√ 2 + 1 + b2<br />

ln<br />

(t + √ ) ] t j<br />

1 + t<br />

2<br />

2 + b 2<br />

t i<br />

.<br />

(5.3)<br />

Man erkennt an Abb. 5.2, dass die geodätischen Abstände recht gut durch<br />

die Distanzen im Graph angenähert werden, wobei die Distanzen im Graph<br />

allerd<strong>in</strong>gs tendenziell immer etwas größer ausfallen. Das ist auch nicht weiter<br />

verwun<strong>der</strong>lich, da die <strong>in</strong>neren Knoten e<strong>in</strong>es kürzesten Weges im Graphen<br />

nicht immer exakt auf <strong>der</strong> entsprechenden Geodäte liegen. Dies ist sehr gut an<br />

<strong>der</strong> zweidimensionalen E<strong>in</strong>bettung <strong>in</strong> Abb. 5.1(c) zu erkennen: Der kürzeste<br />

Weg im Graph beschreibt e<strong>in</strong>en ”<br />

Zick-zack-Kurs“, während die Geodäte e<strong>in</strong>e<br />

gerade L<strong>in</strong>ie ist. Entsprechendes gilt natürlich auch im E<strong>in</strong>gaberaum (allerd<strong>in</strong>gs<br />

ist die Geodäte hier i.A. ke<strong>in</strong>e Gerade!). Dort ist allerd<strong>in</strong>gs noch e<strong>in</strong>e<br />

gegenteilige Tendenz durch die Approximation <strong>der</strong> geodätischen Abstände<br />

zwischen Nachbarn durch euklidische Distanzen vorhanden, da geodätische<br />

Abstände auf nichtl<strong>in</strong>earen Mannigfaltigkeiten immer größer s<strong>in</strong>d als die entsprechenden<br />

euklidischen Abstände.<br />

Intuitiv erwartet man, dass die Approximation <strong>der</strong> geodätischen Abstände<br />

durch die Distanzen im Graphen für e<strong>in</strong>e gegebene Mannigfaltigkeit umso<br />

besser s<strong>in</strong>d, je mehr (gleichverteilte) Samples <strong>der</strong> Mannigfaltigkeit vorliegen.<br />

In <strong>der</strong> Tat kann man zeigen, dass die aus dem Graphen bestimmten Distanzen<br />

zwischen beliebigen Knoten unter gewissen Bed<strong>in</strong>gungen gegen die tatsächlichen<br />

geodätischen Abstände konvergieren, wenn man den Grenzübergang<br />

N → ∞ macht, die Anzahl <strong>der</strong> Samples und damit die Sampl<strong>in</strong>gdichte also<br />

unendlich groß werden lässt. Genauere Bed<strong>in</strong>gungen an die Geometrie <strong>der</strong><br />

Mannigfaltigkeit und die Verteilung <strong>der</strong> Samples f<strong>in</strong>det man <strong>in</strong> [2].<br />

E<strong>in</strong> Problem bei e<strong>in</strong>em nachbarbasierten Verfahren wie Isomap entsteht,<br />

wenn die Daten im E<strong>in</strong>gaberaum sehr stark clustern. D.h. man hat N Datenpunkte<br />

<strong>in</strong> e<strong>in</strong>em hochdimensionalen Raum, die dicht <strong>in</strong> weit vone<strong>in</strong>an<strong>der</strong><br />

entfernten Clustern angehäuft s<strong>in</strong>d. Ist dann bei k-Isomap die Zahl k <strong>der</strong><br />

nächsten Nachbarn kle<strong>in</strong>er als die Anzahl <strong>der</strong> Punkte <strong>in</strong> e<strong>in</strong>em Cluster bzw.<br />

liegen bei ɛ-Isomap <strong>in</strong> <strong>der</strong> ɛ-Kugel um jeden Punkt nur Punkte <strong>in</strong>nerhalb des<br />

gleichen Clusters, so werden für jeden Punkt x i nur Nachbarn x j aus dem<br />

gleichen Cluster gefunden. Dies führt dann dazu, dass <strong>der</strong> aus den Nachbarschaftsverhältnissen<br />

aufgebaute Graph nicht zusammenhängend ist, son<strong>der</strong>n<br />

aus mehreren Zusammenhangskomponenten besteht. Es gibt dann im Graph<br />

ke<strong>in</strong>en Weg von e<strong>in</strong>er Komponente zu e<strong>in</strong>er an<strong>der</strong>en Komponente, was dazu


46 Isomap<br />

führt, dass nicht für alle Punkte des Datensatzes e<strong>in</strong>e E<strong>in</strong>bettung gefunden<br />

werden kann. Man muss sich dann für e<strong>in</strong>e Zusammenhangskomponente entscheiden,<br />

z.B. für diejenige, die die meisten Punkte enthält. Man steht hier<br />

also vor e<strong>in</strong>em Dilemma: E<strong>in</strong>erseits darf man nicht zu viele Nachbarn benutzen,<br />

da die geodätischen Abstände zwischen diesen dann zum Teil groß<br />

werden und nicht mehr gut durch ihre euklidischen Abstände approximiert<br />

werden. An<strong>der</strong>erseits möchte man natürlich verh<strong>in</strong><strong>der</strong>n, dass <strong>der</strong> Graph <strong>in</strong><br />

mehrere Komponenten zerfällt, zwischen denen es ke<strong>in</strong>e Verb<strong>in</strong>dung gibt.


Kapitel 6<br />

Locally L<strong>in</strong>ear Embedd<strong>in</strong>g<br />

Ähnlich wie Isomap ist auch locally l<strong>in</strong>ear embedd<strong>in</strong>g (LLE) e<strong>in</strong> Algorithmus,<br />

<strong>der</strong> mit Hilfe <strong>der</strong> Analyse von Nachbarschaftsbeziehungen zwischen Punkten<br />

<strong>in</strong> e<strong>in</strong>em (hochdimensionalen) Raum e<strong>in</strong>e E<strong>in</strong>bettung dieser Punkte <strong>in</strong> e<strong>in</strong>en<br />

niedrigdimensionalen Raum f<strong>in</strong>det, bei <strong>der</strong> die Nachbarschaftsbeziehungen<br />

möglichst gut erhalten bleiben. Während Isomap dazu e<strong>in</strong>en globalen Ansatz<br />

wählt und die geodätischen Abstände zwischen allen E<strong>in</strong>gangsdatenpunkten<br />

approximiert, um die Geometrie <strong>der</strong> den Daten zugrunde liegenden Mannigfaltigkeit<br />

zu ”<br />

lernen“, versucht LLE Koeffizienten zu f<strong>in</strong>den, die lokal diese<br />

Geometrie charakterisieren. Durch kollektive Analyse <strong>der</strong> Koeffizienten soll<br />

dann e<strong>in</strong>e Abbildung aller Datenpunkte <strong>in</strong> e<strong>in</strong>en euklidischen Raum gefunden<br />

werden ([18], [25], [26]).<br />

Die E<strong>in</strong>gangsdaten mögen wie<strong>der</strong> aus N Punkten x 1 , . . . , x N ∈ R D bestehen.<br />

Man kann wie <strong>in</strong> Kapitel 5 bei <strong>der</strong> Behandlung von Isomap annehmen, dass<br />

die Krümmung <strong>der</strong> den Daten zugrunde liegenden Mannigfaltigkeit <strong>in</strong> e<strong>in</strong>er<br />

Umgebung um e<strong>in</strong>en Punkt nur relativ schwach ist, diese also lokal durch e<strong>in</strong>e<br />

l<strong>in</strong>eare Hyperebene gleicher Dimension angenähert werden kann. Die x i seien<br />

gleichmäßig auf <strong>der</strong> Mannigfaltigkeit verteilt und N sei h<strong>in</strong>reichend groß,<br />

so dass <strong>in</strong> <strong>der</strong> Umgebung um jeden Punkt auch noch e<strong>in</strong>ige se<strong>in</strong>er nächsten<br />

Nachbarn liegen. Die Idee bei LLE ist dann die folgende: Man kann an die<br />

Nachbarn e<strong>in</strong>es Punktes e<strong>in</strong>e l<strong>in</strong>eare Hyperebene anfitten, von <strong>der</strong> <strong>der</strong> Punkt<br />

selbst wegen <strong>der</strong> lokalen L<strong>in</strong>earität nur e<strong>in</strong>en ger<strong>in</strong>gen Abstand hat. Näherungsweise<br />

kann man also annehmen, dass sowohl <strong>der</strong> Punkt selbst als auch<br />

se<strong>in</strong>e nächsten Nachbarn auf dieser Hyperebene liegen. So verfährt man nun<br />

für jeden Punkt aus dem E<strong>in</strong>gangsdatensatz und bekommt N l<strong>in</strong>eare Hyperebenen,<br />

wobei sich die zu benachbarten Punkten gehörenden Ebenenstücke<br />

teilweise überlappen, d.h. e<strong>in</strong> Punkt x i ist Teil mehrerer benachbarter Hyper-


48 Locally L<strong>in</strong>ear Embedd<strong>in</strong>g<br />

ebenen, die e<strong>in</strong>e gewisse Orientierung zue<strong>in</strong>an<strong>der</strong> haben, die wie<strong>der</strong>um durch<br />

die lokale Geometrie <strong>der</strong> Mannigfaltigkeit bed<strong>in</strong>gt wird. So kann man sich die<br />

ganze Mannigfaltigkeit zusammengesetzt denken aus kle<strong>in</strong>en, sich teilweise<br />

überlappenden Stücken l<strong>in</strong>earer Hyperebenen, die jeweils die gleiche Dimension<br />

haben wie die Mannigfaltigkeit selbst. Die Lage und Orientierung je<strong>der</strong><br />

Hyperebene wird durch gewisse Koeffizienten o<strong>der</strong> Gewichte W charakterisiert,<br />

auf die weiter unten <strong>in</strong> diesem Kapitel noch genauer e<strong>in</strong>gegangen wird.<br />

Die Ebenenstücke lassen sich nun durch Translationen, Rotationen und l<strong>in</strong>eare<br />

Skalierungen <strong>in</strong> e<strong>in</strong>en euklidischen Raum gleicher Dimension abbilden, wo<br />

sie passend angeordnet o<strong>der</strong> zusammengesetzt werden müssen. Woher aber<br />

weiß <strong>der</strong> LLE-Algorithmus nun, wie diese Anordnung auszusehen hat? Nun,<br />

da je<strong>der</strong> Punkt ja Teil mehrerer Hyperebenen ist, steckt diese Information<br />

schon <strong>in</strong> den Koeffizienten, die die Ebenen beschreiben. Denn hat man e<strong>in</strong>en<br />

Punkt x i , <strong>der</strong> gleichzeitig zu zwei benachbarten Ebenenstücken gehört, so<br />

müssen diese so im E<strong>in</strong>bettungsraum angeordnet werden, dass die Stellen,<br />

an denen <strong>der</strong> Punkt <strong>in</strong> beiden Ebenen sitzt, zur Deckung kommen. Diese<br />

anschaulichen Überlegungen sollen <strong>in</strong> den folgenden Abschnitten präzisiert<br />

werden.<br />

6.1 Die Berechnung <strong>der</strong> Gewichtsmatrix<br />

Die N E<strong>in</strong>gangsdaten x i <strong>der</strong> Dimension D werden wie<strong>der</strong> zu e<strong>in</strong>er Matrix X<br />

zusammengefasst, die die x i als Zeilen enthält: X = (x 1 , . . . , x N ) T ∈ R N×D .<br />

Es seien die Voraussetzungen von oben an die Daten erfüllt: Ihre Anzahl<br />

bzw. Verteilung mögen h<strong>in</strong>reichend groß bzw. gleichmäßig se<strong>in</strong>, und die Dimension<br />

<strong>der</strong> den Daten zugrunde liegenden Mannigfaltigkeit sei d ≪ D. Weiterh<strong>in</strong><br />

sei die Mannigfaltigkeit h<strong>in</strong>reichend glatt. Unter diesen Bed<strong>in</strong>gungen<br />

kann je<strong>der</strong> Punkt x i <strong>in</strong> guter Näherung lokal durch se<strong>in</strong>e k nächsten Nachbarn<br />

x i1 , . . . , x ik als L<strong>in</strong>earkomb<strong>in</strong>ation approximiert werden. Die euklidische<br />

Norm des dabei auftretenden Approximationsfehlers wird jeweils quadriert<br />

und über alle Punkte x i aufsummiert. Der Gesamtfehler ist dann durch die<br />

Kostenfunktion<br />

∥<br />

N∑<br />

k∑ ∥∥∥∥<br />

2<br />

Φ(W ) =<br />

∥ x i − w iij x ij (6.1)<br />

i=1<br />

gegeben. i j bezeichnet dabei den Index des j-ten Nachbarn von x i , und <strong>der</strong><br />

Koeffizient w iij gibt den Beitrag des i j -ten Datenpunktes zur Rekonstruktion<br />

des i-ten Datenpunktes an. Die Koeffizienten werden zur Gewichtsmatrix<br />

W = (w ij ) ∈ R N×N zusammengefasst, die <strong>in</strong> je<strong>der</strong> Zeile nur k von Null<br />

j=1<br />

2


6.1 Die Berechnung <strong>der</strong> Gewichtsmatrix 49<br />

verschiedene E<strong>in</strong>träge besitzt, nämlich gerade die zur Rekonstruktion verwendeten.<br />

Alle an<strong>der</strong>en E<strong>in</strong>träge werden auf Null gesetzt. Da gewöhnlich<br />

k ≪ N gilt, ist die Gewichtsmatrix sehr dünn besetzt. Diese Notation mit<br />

e<strong>in</strong>er N × N-Matrix W (statt e<strong>in</strong>er N × k-Matrix) hat den Vorteil, dass die<br />

Gewichte w ij<br />

” an <strong>der</strong> richtigen Stelle <strong>in</strong> W stehen“, denn <strong>der</strong> E<strong>in</strong>trag w ij<br />

ist gerade <strong>der</strong> Beitrag des j-ten Datenpunktes zur Rekonstruktion des i-ten<br />

Datenpunktes, und es ist w ij = 0, falls x j ke<strong>in</strong>er <strong>der</strong> nächsten Nachbarn von<br />

x i ist. Trotzdem sei zur Vere<strong>in</strong>fachung <strong>der</strong> Notation für die folgenden Rechnungen<br />

noch die entsprechende N × k-Matrix W ′ = (w ij) ′ mit w ij<br />

′ := w iij<br />

e<strong>in</strong>geführt, bei <strong>der</strong> somit w ij ′ den Beitrag des j-ten Nachbarn von x i zur Rekonstruktion<br />

von x i angibt. Außerdem sei w i ′ = (w ii1 , . . . , w iik ) T die i-te Zeile<br />

von W ′ als Spaltenvektor.<br />

Das Ziel ist es, die Gewichte W bzw. W ′ so zu bestimmen, dass <strong>der</strong> Wert <strong>der</strong><br />

Kostenfunktion (6.1) m<strong>in</strong>imal wird. Die M<strong>in</strong>imierung erfolgt jedoch unter<br />

<strong>der</strong> Nebenbed<strong>in</strong>gung<br />

k∑<br />

w iij =<br />

j=1<br />

k∑<br />

w ij ′ = 1 ∀i = 1, . . . , N , (6.2)<br />

j=1<br />

d.h. die Gewichte je<strong>der</strong> Rekonstruktion müssen sich zu E<strong>in</strong>s addieren. Die<br />

M<strong>in</strong>imierung von (6.1) kann dabei für jeden Summand e<strong>in</strong>zeln erfolgen, denn<br />

mit<br />

∥ Φ i (w i) ′ k∑ ∥∥∥∥<br />

2<br />

:=<br />

∥ x i − w ijx ′ ij , i = 1, . . . , N (6.3)<br />

gilt<br />

j=1<br />

Φ(W ) =<br />

2<br />

N∑<br />

Φ i (w i) ′ . (6.4)<br />

i=1<br />

Aus <strong>der</strong> Form <strong>der</strong> Kostenfunktion (6.1), genauer aus <strong>der</strong> Verwendung <strong>der</strong><br />

euklidischen Norm, und aus <strong>der</strong> Nebenbed<strong>in</strong>gung (6.2) ergeben sich e<strong>in</strong>ige<br />

Symmetrien, die essentiell für LLE s<strong>in</strong>d. Sei nämlich ˜w ′ i e<strong>in</strong> Vektor mit Gewichten,<br />

<strong>der</strong> (6.3) m<strong>in</strong>imiert und (6.2) erfüllt. Dann gilt:


50 Locally L<strong>in</strong>ear Embedd<strong>in</strong>g<br />

• Das M<strong>in</strong>imum ˜w i ′ ist <strong>in</strong>variant unter Translationen x ↦→ x + a mit dem<br />

Translationsvektor a ∈ R D :<br />

2<br />

Φ i (w i)| ′ k∑<br />

x+a<br />

=<br />

∥ x i + a − w ij(x ′ ij + a)<br />

∥<br />

j=1<br />

2<br />

2<br />

k∑<br />

k∑<br />

(6.5)<br />

=<br />

∥ x i − w ijx ′ ij + a − a · w ij<br />

′ ∥<br />

j=1<br />

= Φ i (w ′ i) , i = 1, . . . , N .<br />

• Das M<strong>in</strong>imum ˜w i ′ ist <strong>in</strong>variant unter Rotationen x ↦→ R·x, beschrieben<br />

durch die Rotationsmatrix R ∈ R D×D :<br />

[<br />

]∥ Φ i (w i)| ′ k∑ ∥∥∥∥<br />

2<br />

R·x<br />

=<br />

∥ R · x i − w ijx ′ ij<br />

(6.6)<br />

j=1<br />

2<br />

= Φ i (w i) ′ , i = 1, . . . , N ,<br />

wobei hier die Invarianz <strong>der</strong> euklidischen Norm unter orthogonalen<br />

Transformationen ausgenutzt wurde.<br />

• Schließlich ist das M<strong>in</strong>imum ˜w ′ i auch <strong>in</strong>variant unter l<strong>in</strong>earen Skalierungen<br />

x ↦→ α · x mit dem Faktor α ∈ R \ {0}:<br />

Φ i (w i)| ′ αx<br />

=<br />

∥ αx i −<br />

∥<br />

k∑ ∥∥∥∥<br />

2<br />

w ijαx ′ ij<br />

j=1<br />

= |α| 2 ∥ ∥∥∥∥<br />

x i −<br />

2<br />

∥<br />

k∑ ∥∥∥∥<br />

2<br />

w ijx ′ ij<br />

j=1<br />

j=1<br />

2<br />

= |α| 2 · Φ i (w ′ i) i = 1, . . . , N .<br />

2<br />

(6.7)<br />

Es wird also e<strong>in</strong>fach die ganze Kostenfunktion skaliert; die Lage <strong>der</strong><br />

Maxima und M<strong>in</strong>ima h<strong>in</strong>gegen wird dadurch nicht berührt.<br />

Da diese Invarianzen des M<strong>in</strong>imums von Φ i für alle i = 1, . . . , N gelten, ist<br />

natürlich <strong>in</strong>sbeson<strong>der</strong>e auch die Kostenfunktion (6.1) <strong>in</strong>variant unter Translationen,<br />

Rotationen und Skalierungen des Koord<strong>in</strong>atensystems. Die Translations<strong>in</strong>varianz<br />

kann direkt zur Berechnung <strong>der</strong> Gewichtsmatrix ausgenutzt<br />

werden, <strong>in</strong>dem man bei <strong>der</strong> M<strong>in</strong>imierung von Φ i (w ′ i) die daran beteiligten<br />

Punkte, also x i und se<strong>in</strong>e k nächsten Nachbarn, so verschiebt, dass x i im


6.1 Die Berechnung <strong>der</strong> Gewichtsmatrix 51<br />

Ursprung des Koord<strong>in</strong>atensytems liegt: x ij ← x ij − x i . Dann vere<strong>in</strong>facht sich<br />

(6.1) zu<br />

∥<br />

N∑<br />

N∑<br />

Φ(W ) = Φ i (w i) ′ k∑ ∥∥∥∥<br />

2<br />

=<br />

w ′<br />

∥<br />

ijx ij . (6.8)<br />

i=1<br />

Die Nebenbed<strong>in</strong>gung (6.2) an die Gewichte lässt sich durch die Funktion<br />

g(w ′ i) formulieren:<br />

i=1<br />

j=1<br />

g(w ′ i) := w ′ ij + · · · + w ′ ik<br />

2<br />

!<br />

= 1 . (6.9)<br />

Gesucht ist nun also das M<strong>in</strong>imum von Φ i (w ′ i) unter <strong>der</strong> Nebenbed<strong>in</strong>gung<br />

g(w ′ i) = 1. Mit dem Lagrange-Multiplikator λ führt dies auf das Gleichungssystem<br />

∇Φ i (w ′ i) = λ · ∇g(w ′ i) = λ · (1, . . . , 1) T , (6.10)<br />

g(w ′ i) = 1 . (6.11)<br />

Der Gradient von Φ i lässt sich mit <strong>der</strong> Nachbarschafts-Skalarproduktmatrix<br />

⎛<br />

⎞<br />

x T i 1<br />

x i1 . . . x T i 1<br />

x ik<br />

C = ⎜ . ⎝ . . . . ⎟<br />

⎠ (6.12)<br />

x T i k<br />

x i1 . . . x T i k<br />

x ik<br />

schreiben als ∇Φ i (w ′ i) = 2 C · w ′ i. Anstatt nun aber das resultierende Gleichungssystem<br />

2 C · w ′ i = λ · (1, . . . , 1) T , (6.13)<br />

g(w ′ i) = 1 (6.14)<br />

zu lösen, ist es praktischer, zunächst die Lösung ˜w ′ i = ( ˜w ′ i1, . . . , ˜w ′ ik )T des<br />

l<strong>in</strong>earen Gleichungssystems<br />

C · w ′ i = (1, . . . , 1) T (6.15)<br />

zu berechnen und diese anschließend so zu normieren, dass die Nebenbed<strong>in</strong>gung<br />

g(w ′ i) = 1 erfüllt ist:<br />

w ′ i := ˜w ′ i ·<br />

1<br />

∑ k<br />

j=1 ˜w′ ij<br />

. (6.16)<br />

Dies ergibt die gleiche Lösung, da <strong>der</strong> Lagrange-Multiplikator <strong>in</strong> (6.13) nur<br />

E<strong>in</strong>fluss auf die Länge von w ′ i hat, nicht aber auf dessen Richtung. E<strong>in</strong> Problem<br />

ergibt sich, wenn die k nächsten Nachbarn nicht l<strong>in</strong>ear unabhängig s<strong>in</strong>d,


52 Locally L<strong>in</strong>ear Embedd<strong>in</strong>g<br />

was bei ungünstiger Lage <strong>der</strong> Nachbarn o<strong>der</strong> für k > D <strong>der</strong> Fall ist. Dann ist<br />

rang(C) < k, und die M<strong>in</strong>imierungsaufgabe für Φ i (w ′ i) hat ke<strong>in</strong>e e<strong>in</strong>deutige<br />

Lösung mehr. In diesem Fall ist es nötig, C zu konditionieren, bevor das<br />

Gleichungssystem (6.15) gelöst wird. Dies kann z.B. durch Addition e<strong>in</strong>es<br />

kle<strong>in</strong>en Vielfachen <strong>der</strong> E<strong>in</strong>heitsmatrix geschehen:<br />

˜C := C + ɛ1 , (6.17)<br />

wobei ɛ > 0 kle<strong>in</strong> se<strong>in</strong> sollte im Vergleich zur Spur von C. 1<br />

Die normierte Lösung w i ′ enthält dann die Gewichte für die Rekonstruktion<br />

des i-ten Datenpunktes. Diese werden <strong>in</strong> W <strong>in</strong> <strong>der</strong> i-ten Zeile an die Stellen<br />

w ii1 , . . . , w iik geschrieben; <strong>der</strong> Rest <strong>der</strong> Zeile enthält nur Nullen. Durch<br />

die so gewonnenen Gewichte wird e<strong>in</strong>e l<strong>in</strong>eare Hyperebene <strong>der</strong> Dimension<br />

d ′ = m<strong>in</strong>(k − 1, d) charakterisiert, <strong>in</strong> <strong>der</strong> die Nachbarn von x i liegen. Dies<br />

sieht man wie folgt: Dass die Dimension des durch die Hyperebene gebildeten<br />

aff<strong>in</strong>-l<strong>in</strong>earen Raumes nicht größer se<strong>in</strong> kann als die Dimension D <strong>der</strong><br />

e<strong>in</strong>zelnen Vektoren, ist klar. Deshalb genügt es, den Fall k ≤ D zu betrachten.<br />

Weiterh<strong>in</strong> sei angenommen, dass die k nächsten Nachbarn von x i l<strong>in</strong>ear<br />

unabhängig s<strong>in</strong>d. Dann ist die Menge V <strong>der</strong> möglichen L<strong>in</strong>earkomb<strong>in</strong>ationen<br />

<strong>der</strong> k Nachbarn von x i mit Gewichten, die sich zu E<strong>in</strong>s addieren, gegeben<br />

durch<br />

V = {v = λ 1 x i1 + . . . + λ k x ik | λ 1 + . . . + λ k = 1}<br />

= { v = λ 1 x i1 + . . . + λ k−1 x ik−1 + (1 − λ 1 − . . . − λ k−1 )x ik |<br />

λ 1 , . . . , λ k−1 ∈ R}<br />

= { v = λ 1 (x i1 − x ik ) + . . . + λ k−1 (x ik−1 − x ik ) + x ik | λ 1 , . . . , λ k−1 ∈ R } .<br />

(6.18)<br />

Dies ist aber gerade die Gleichung e<strong>in</strong>er l<strong>in</strong>earen (k − 1)-dimensionalen Hyperebene<br />

durch die Nachbarn von x i . Durch die M<strong>in</strong>imierung <strong>der</strong> Kostenfunktion<br />

(6.3) wird dem Punkt x i nun gerade <strong>der</strong> Punkt auf <strong>der</strong> Hyperebene<br />

zugeordnet, <strong>der</strong> von x i den ger<strong>in</strong>gsten euklidischen Abstand hat. Der dabei<br />

auftretende Fehler ist jedoch ger<strong>in</strong>g, wenn h<strong>in</strong>reichend viele E<strong>in</strong>gangsdaten<br />

vorliegen, die die nichtl<strong>in</strong>eare Mannigfaltigkeit, auf <strong>der</strong> die Punkte liegen,<br />

gut modellieren. E<strong>in</strong>e solche Hyperbene wird nun bei <strong>der</strong> M<strong>in</strong>imierung <strong>der</strong><br />

Kostenfunktion (6.1) für jede Nachbarschaft berechnet, so dass schließlich<br />

alle Punkte lokal <strong>in</strong> guter Näherung auf l<strong>in</strong>earen Mannigfaltigkeiten liegen.<br />

1 Es gibt auch an<strong>der</strong>e Möglichkeiten <strong>der</strong> Konditionierung von C wie z.B. ˜c ij := (1 + ɛ ·<br />

δ ij ) c ij , ɛ > 0. Hier s<strong>in</strong>d die zur Diagonale von C addierten Werte proportional zu den<br />

entsprechenden Diagonalelementen.


6.2 Die Berechnung <strong>der</strong> E<strong>in</strong>bettungskoord<strong>in</strong>aten 53<br />

Diese müssen dann nur noch entsprechend rotiert, translatiert und eventuell<br />

l<strong>in</strong>ear skaliert werden, um sie <strong>in</strong> e<strong>in</strong> Koord<strong>in</strong>atensystem zu transformieren,<br />

das die globalen <strong>in</strong>neren Koord<strong>in</strong>aten <strong>der</strong> Mannigfaltigkeit repräsentiert. E<strong>in</strong><br />

Rotationen<br />

Translationen<br />

Skalierungen<br />

Abbildung 6.1: Transformation <strong>der</strong> Hyperebenen auf die globalen Koord<strong>in</strong>aten <strong>der</strong><br />

Mannigfaltigkeit<br />

anschauliches Beispiel hierfür zeigt Abb. 6.1, <strong>in</strong> <strong>der</strong> die Punkte e<strong>in</strong>er nichtl<strong>in</strong>earen<br />

1-dimensionalen Mannigfaltigkeit auf die globalen <strong>in</strong>neren Koord<strong>in</strong>aten<br />

<strong>der</strong> Mannigfaltigkeit transformiert werden. Da e<strong>in</strong>e Hyperebene durch<br />

k Nachbarvektoren höchstens die Dimension k − 1 besitzt ist klar, dass <strong>der</strong><br />

Algorithmus nur für d < k s<strong>in</strong>nvolle Ergebnisse liefern kann.<br />

Der LLE-Algorithmus lässt sich aber nicht nur für e<strong>in</strong>e feste Anzahl k nächster<br />

Nachbarn formulieren. Ebenso wie bei Isomap ist es auch hier möglich, als<br />

Nachbarn von x i z.B. alle Punkte <strong>in</strong>nerhalb e<strong>in</strong>er Kugel um x i mit e<strong>in</strong>em gewissen<br />

Radius ɛ aufzufassen. 2 ɛ sollte dann natürlich h<strong>in</strong>reichend groß gewählt<br />

werden, damit die Kugel genügend Punkte als Nachbarn be<strong>in</strong>haltet. Die Berechnung<br />

<strong>der</strong> Gewichte erfolgt dann genauso wie im Fall mit k nächsten<br />

Nachbarn, wobei jetzt aber die Anzahl <strong>der</strong> von Null verschiedenen Elemente<br />

<strong>in</strong> den Zeilen <strong>der</strong> Gewichtsmatrix W variabel ist. Entsprechend variiert auch<br />

die Größe des für jede Rekonstruktion zu lösenden Gleichungssystems (6.15).<br />

Die Aussage, für welche Werte von ɛ <strong>der</strong> Algorithmus s<strong>in</strong>nvolle Ergebnisse<br />

liefern kann, ist <strong>in</strong> diesem Fall allerd<strong>in</strong>gs erheblich schwieriger.<br />

6.2 Die Berechnung <strong>der</strong> E<strong>in</strong>bettungskoord<strong>in</strong>aten<br />

Im vorigen Abschnitt wurde erläutert, dass die Abbildung <strong>der</strong> E<strong>in</strong>gangsdaten<br />

auf die <strong>in</strong>neren Koord<strong>in</strong>aten <strong>der</strong> Mannigfaltigkeit durch Rotationen, Translationen<br />

und l<strong>in</strong>eare Skalierungen erfolgt. Dies s<strong>in</strong>d aber gerade solche Trans-<br />

2 Dieses ɛ hat nichts mit dem Faktor ɛ bei <strong>der</strong> Konditionierung von C <strong>in</strong> (6.17) zu tun!


54 Locally L<strong>in</strong>ear Embedd<strong>in</strong>g<br />

formationen, unter denen die Gewichte W , die die lokale Geometrie <strong>der</strong> Mannigfaltigkeit<br />

charakterisieren, <strong>in</strong>variant s<strong>in</strong>d. Weiterh<strong>in</strong> erfolgt die Abbildung<br />

<strong>in</strong> den E<strong>in</strong>bettungsraum so, dass ∀i = 1, . . . , N <strong>der</strong> Punkt x i ∈ R D auf den<br />

Punkt y i ∈ R d abgebildet wird. Das bedeutet zum e<strong>in</strong>en, dass die k nächsten<br />

Nachbarn x i1 , . . . , x ik von x i auf die k nächsten Nachbarn y i1 , . . . , y ik von<br />

y i abgebildet werden. Zum an<strong>der</strong>n wird y i sogar mit den gleichen Gewichten<br />

w ii1 , . . . , w iik bestmöglich aus se<strong>in</strong>en Nachbarn rekonstruiert, mit denen<br />

auch x i aus dessen Nachbarn rekonstruiert wird. Der Rekonstruktionsfehler<br />

im E<strong>in</strong>bettungsraum kann somit analog zu (6.1) durch die Fehlerfunktion<br />

Ψ(Y) =<br />

=<br />

∥<br />

N∑<br />

k∑ ∥∥∥∥<br />

2<br />

∥ y i − w iij y ij<br />

i=1 j=1<br />

2<br />

∥<br />

N∑<br />

N∑ ∥∥∥∥<br />

2<br />

∥ y i − w ij y j<br />

i=1<br />

j=1<br />

2<br />

(6.19)<br />

(6.20)<br />

berechnet werden, wobei Y = (y 1 , . . . , y N ) T die Matrix <strong>der</strong> (zunächst unbekannten)<br />

E<strong>in</strong>bettungsvektoren als Zeilen bezeichnet.<br />

Die E<strong>in</strong>bettungsvektoren bekommt man nun durch M<strong>in</strong>imierung von (6.20),<br />

wobei jetzt im Gegensatz zu (6.1) die Gewichte bekannt s<strong>in</strong>d und stattdessen<br />

die Koord<strong>in</strong>aten y 1 , . . . , y N gesucht werden. (6.20) besitzt jedoch ke<strong>in</strong> e<strong>in</strong>deutiges<br />

M<strong>in</strong>imum, son<strong>der</strong>n ist wegen (6.5) und (6.6) translations- und rotations<strong>in</strong>variant.<br />

Außerdem existiert die triviale Lösung Y ≡ 0. Aus diesem<br />

Grund wird die M<strong>in</strong>imierung <strong>der</strong> Kostenfunktion an zwei Nebenbed<strong>in</strong>gungen<br />

geknüpft:<br />

N∑<br />

y i = 0 (6.21)<br />

i=1<br />

und<br />

1<br />

N<br />

N∑<br />

y i yi T = 1 d . (6.22)<br />

i=1<br />

Die erste Nebenbed<strong>in</strong>gung beseitigt den Translationsfreiheitsgrad, und die<br />

zweite Nebenbed<strong>in</strong>gung for<strong>der</strong>t, dass die Kovarianzmatrix <strong>der</strong> E<strong>in</strong>bettungskoord<strong>in</strong>aten<br />

die Gestalt <strong>der</strong> E<strong>in</strong>heitsmatrix haben soll. Dies bewirkt zum<br />

e<strong>in</strong>en den Ausschluss <strong>der</strong> trivialen Lösung Y ≡ 0 und zum an<strong>der</strong>en, dass<br />

Rekonstruktionsfehler für unterschiedliche Koord<strong>in</strong>aten im E<strong>in</strong>bettungsraum<br />

gleich stark bewertet werden.


6.2 Die Berechnung <strong>der</strong> E<strong>in</strong>bettungskoord<strong>in</strong>aten 55<br />

Die Kostenfunktion (6.20) lautet ausgeschrieben<br />

(<br />

) T (<br />

)<br />

N∑<br />

N∑<br />

N∑<br />

Ψ(y 1 , . . . , y N ) = y i − w ij y j · y i − w ij y j<br />

=<br />

i=1<br />

j=1<br />

[<br />

N∑<br />

yi T y i −<br />

i=1<br />

+<br />

N∑<br />

j=1 k=1<br />

N∑<br />

w ij yi T y j −<br />

j=1<br />

]<br />

N∑<br />

w ij w ik yj T y k .<br />

j=1<br />

N∑<br />

w ji yi T y j<br />

j=1<br />

(6.23)<br />

Mit <strong>der</strong> symmetrischen, positiv semidef<strong>in</strong>iten Matrix M = (m ij ) ∈ R N×N ,<br />

die def<strong>in</strong>iert ist durch<br />

ergibt sich<br />

M = (1 − W) T (1 − W) (6.24)<br />

N∑<br />

⇔ m ij = δ ij − w ji − w ij + w ki w kj , (6.25)<br />

i=1<br />

j=1<br />

k=1<br />

[<br />

]<br />

N∑ N∑<br />

N∑<br />

Ψ(Y) = δ ij − w ij − w ji + w ki w kj yi T y j<br />

N∑<br />

=<br />

i=1 j=1<br />

N∑<br />

m ij yi T y j .<br />

k=1<br />

(6.26)<br />

Im Folgenden soll gezeigt werden, dass die M<strong>in</strong>imierung von (6.20) unter<br />

den Nebenbed<strong>in</strong>gungen (6.21) und (6.22) auf die Lösung e<strong>in</strong>es Eigenwertproblems<br />

für die Matrix M führt. Dazu ist es zweckmäßig, die mit dem Faktor<br />

1/ √ N normierte Matrix (1/ √ N)Y <strong>der</strong> E<strong>in</strong>bettungsvektoren als Matrix aus<br />

Spaltenvektoren v 1 , . . . , v d ∈ R N aufzufassen:<br />

V = (v 1 , . . . , v d ) := 1 √<br />

N<br />

(y 1 , . . . , y N ) T = 1 √<br />

N<br />

Y . (6.27)<br />

Dann lässt sich die Kostenfunktion (6.20) schreiben als<br />

Ψ(v 1 , . . . , v d ) = N<br />

= N<br />

d∑<br />

vkMv T k<br />

k=1<br />

(6.28)<br />

d∑<br />

‖(1 − W)v k ‖ 2 2 .<br />

k=1


56 Locally L<strong>in</strong>ear Embedd<strong>in</strong>g<br />

Aus <strong>der</strong> ersten Nebenbed<strong>in</strong>gung (6.21) folgt nun<br />

( N<br />

)<br />

∑<br />

0 =<br />

! y i = √ N∑<br />

N v (i)<br />

k<br />

∀k = 1, . . . , d , (6.29)<br />

i=1<br />

k<br />

i=1<br />

d.h. die Komponenten v (i)<br />

k<br />

jedes Vektors v k müssen sich zu Null addieren.<br />

Die zweite Nebenbed<strong>in</strong>gung (6.22) bedeutet<br />

1<br />

N<br />

N∑<br />

y i yi T = 1 N YT Y = V T V = ! 1 d . (6.30)<br />

i=1<br />

Die Skalarproduktmatrix <strong>der</strong> v i muss also gerade die E<strong>in</strong>heitsmatrix ergeben,<br />

was genau dann <strong>der</strong> Fall ist, wenn {v 1 , . . . , v d } e<strong>in</strong> Orthonormalsystem ist.<br />

Die Matrix M ist symmetrisch und positiv semidef<strong>in</strong>it; alle ihre Eigenwerte<br />

s<strong>in</strong>d damit reell und nichtnegativ und es existiert e<strong>in</strong>e Orthonormalbasis<br />

des R N aus den Eigenvektoren von M. Seien nun 0 ≤ λ 1 ≤ . . . ≤ λ N die<br />

Eigenwerte von M. Für den kle<strong>in</strong>sten Eigenwert gilt stets λ 1 = 0. Dies sieht<br />

man so: Weil sich die Elemente je<strong>der</strong> Zeile von W zu E<strong>in</strong>s addieren, gilt mit<br />

u := (1/ √ N, . . . , 1/ √ N) T u = W · u (6.31)<br />

⇔ 0 = (1 − W)u (6.32)<br />

⇔ 0 = u T (1 − W) T (1 − W)u (6.33)<br />

= u T Mu (6.34)<br />

⇒ M · u = 0 (6.35)<br />

Sei u 1 , . . . , u N ∈ R N e<strong>in</strong> Orthonormalsystem aus Eigenvektoren von M zu<br />

den Eigenwerten λ 1 , . . . , λ N . Dann ist nach (6.35) u 1 := u e<strong>in</strong> Eigenvektor<br />

von M zum kle<strong>in</strong>sten Eigenwert λ 1 = 0. Für alle übrigen Eigenvektoren folgt<br />

daraus<br />

u T 1u i = 1 √<br />

N<br />

N<br />

∑<br />

j=1<br />

u (j)<br />

i = 0 ∀i = 2, . . . , N , (6.36)<br />

d.h. die Komponenten <strong>der</strong> Eigenvektoren u 2 , . . . , u N addieren sich jeweils zu<br />

Null. Da sich aber je<strong>der</strong> beliebige Vektor v i ∈ R N als L<strong>in</strong>earkomb<strong>in</strong>ation<br />

<strong>der</strong> orthonormalen Eigenvektoren von M darstellen lässt, addieren sich die<br />

Komponenten von v i genau dann zu Null, wenn u 1 <strong>in</strong> <strong>der</strong> L<strong>in</strong>earkomb<strong>in</strong>ation<br />

nicht vorkommt. Damit entstammen die gesuchten Vektoren v 1 , . . . , v d , die<br />

(6.28) m<strong>in</strong>imieren, alle dem durch die Menge {u 2 , . . . , u N } aufgespannten<br />

(N − 1)-dimensionalen Unterraum des R N .


6.3 Weiteres zum LLE-Algorithmus 57<br />

Nach dem Rayleigh-Ritz-Theorem (vgl. [13]) gilt aber für e<strong>in</strong>e hermitesche<br />

Matrix A ∈ C N×N mit (reellen) Eigenwerten µ m<strong>in</strong> = µ 1 ≤ . . . ≤ µ N = µ max :<br />

µ m<strong>in</strong> x ∗ x ≤ x ∗ Ax ≤ µ max x ∗ x ∀x ∈ C N . (6.37)<br />

Zusammen mit <strong>der</strong> Spektralzerlegung<br />

M =<br />

N∑<br />

λ i u i u T i (6.38)<br />

i=1<br />

von M und mit (6.28) folgt dann, dass die Kostenfunktion (6.20) genau dann<br />

ihr globales M<strong>in</strong>imum annimmt, wenn v 1 , . . . , v d e<strong>in</strong> Orthonormalsystem aus<br />

span{u 2 , . . . , u d+1 } ist. Damit ist das Orthonormalsystem <strong>der</strong> v i und damit<br />

die y i bis auf Rotationen festgelegt. Die e<strong>in</strong>fachste Möglichkeit ergibt sich,<br />

<strong>in</strong>dem man<br />

v k := u k+1 , k = 1, . . . , d, (6.39)<br />

setzt. Dann s<strong>in</strong>d beide Nebenbed<strong>in</strong>gungen erfüllt, und <strong>der</strong> Wert <strong>der</strong> Kostenfunktion<br />

ist nach (6.28) gerade<br />

Ψ(y 1 , . . . , y N ) = N<br />

d∑<br />

λ k+1 . (6.40)<br />

k=1<br />

Als Ergebnis dieses Abschnittes lässt sich also festhalten: Um e<strong>in</strong>e d-dimensionale<br />

E<strong>in</strong>bettung y 1 , . . . , y N ∈ R d zu erhalten, müssen die (d + 1) kle<strong>in</strong>sten<br />

Eigenwerte λ 1 ≤ . . . ≤ λ d+1 von M mit zugehörigen Eigenvektoren<br />

u 1 , . . . , u d+1 berechnet werden. Der unterste Eigenvektor (d.h. <strong>der</strong> Eigenvektor<br />

u 1 zum kle<strong>in</strong>sten Eigenwert λ 1 ) wird verworfen und die übrigen als<br />

Spalten <strong>in</strong> die Matrix V ∈ R N×d geschrieben. Dann bilden die Zeilenvektoren<br />

<strong>der</strong> mit dem Faktor √ N multiplizierten Matrix V nach (6.27) gerade die<br />

gesuchten Koord<strong>in</strong>aten Y = (y 1 , . . . , y N ) T = √ N(v 1 , . . . , v d ) = √ NV.<br />

6.3 Weiteres zum LLE-Algorithmus<br />

Die wesentlichen, für die Berechnung e<strong>in</strong>er E<strong>in</strong>bettung mit LLE nötigen<br />

Schritte sollen hier zunächst noch e<strong>in</strong>mal <strong>in</strong> Pseudocode dargestellt werden.


58 Locally L<strong>in</strong>ear Embedd<strong>in</strong>g<br />

Algorithmus 6.1 Der LLE-Algorithmus<br />

Require: Matrix X = (x 1 , . . . , x N ) T ∈ R N×D <strong>der</strong> D-dimensionalen E<strong>in</strong>gabedaten<br />

als Zeilenvektoren.<br />

1: {Schritt 1: Berechnung <strong>der</strong> nächsten Nachbarn}<br />

2: for i = 1 to N do<br />

3: bestimme die nächsten Nachbarn von x i ;<br />

4: end for<br />

5: {Schritt 2: Berechnung <strong>der</strong> Gewichtsmatrix W }<br />

6: for i = 1 to N do<br />

7: berechne die Gewichte für die Rekonstruktion von x i durch M<strong>in</strong>imierung<br />

<strong>der</strong> Kostenfunktion (6.3) unter <strong>der</strong> Nebenbed<strong>in</strong>gung (6.2);<br />

8: end for<br />

9: {Schritt 3: Berechnung <strong>der</strong> E<strong>in</strong>bettungskoord<strong>in</strong>aten}<br />

10: m<strong>in</strong>imiere die Kostenfunktion (6.20) unter den Nebenbed<strong>in</strong>gungen (6.21)<br />

und (6.22);<br />

Um mit LLE e<strong>in</strong>e E<strong>in</strong>bettung für e<strong>in</strong>en Datensatz aus N Punkten zu berechnen,<br />

muss e<strong>in</strong> Eigenwertproblem <strong>der</strong> Größe N gelöst werden, denn man<br />

benötigt für e<strong>in</strong>e d-dimensionale E<strong>in</strong>bettung die (d + 1) Eigenvektoren zu<br />

den kle<strong>in</strong>sten Eigenwerten <strong>der</strong> N × N-Matrix M (6.24). Gleiches gilt für<br />

Isomap, Kern-PCA und auch die l<strong>in</strong>eare PCA (für letztere nur, falls die Dimension<br />

des E<strong>in</strong>gaberaumes größer ist als die Anzahl <strong>der</strong> Datenpunkte). Der<br />

große Vorteil bei LLE ist jedoch, dass die Matrix M nur sehr dünn besetzt<br />

ist und somit erheblich weniger Speicherplatz benötigt als e<strong>in</strong>e vollbesetzte<br />

Kovarianz- o<strong>der</strong> Skalarproduktmatrix. Für solche dünnbesetzten Matrizen<br />

existieren leistungsfähige Eigenwertrout<strong>in</strong>en (vgl. z.B. [1]) für die Berechnung<br />

e<strong>in</strong>iger Eigenwerte und -vektoren. Diese Rout<strong>in</strong>en haben auch alle die<br />

Eigenschaft, dass sie sich so formulieren lassen, dass sie die Matrix gar nicht<br />

<strong>in</strong> ihrer expliziten Form benötigen, son<strong>der</strong>n immer nur als Produkt M · x<br />

mit e<strong>in</strong>em Vektor x. Anstatt beim Aufruf e<strong>in</strong>er solchen Rout<strong>in</strong>e die komplette<br />

Matrix M zu übergeben, genügt es, <strong>der</strong> Rout<strong>in</strong>e e<strong>in</strong>e Funktion f zu<br />

übergeben, die<br />

f : R N → R N , x ↦→ M · x (6.41)<br />

erfüllt. f muss also, wenn sie mit e<strong>in</strong>em Vektor x als Parameter aufgerufen<br />

wird, gerade das Produkt von M mit diesem Vektor zurückliefern. E<strong>in</strong>e solche<br />

Funktion hat nun aber für LLE e<strong>in</strong>e sehr e<strong>in</strong>fache Gestalt: Mit Kenntnis <strong>der</strong>


6.3 Weiteres zum LLE-Algorithmus 59<br />

Gewichtsmatrix W lässt sich M · x nach (6.24) e<strong>in</strong>fach schreiben als<br />

f(x) = M · x<br />

= (1 − W) T (1 − W)x<br />

= x − W · x − W T (x − W · x) ,<br />

(6.42)<br />

lässt sich also sehr e<strong>in</strong>fach im Computer implementieren.<br />

Die Matrix M muss somit während <strong>der</strong> gesamten Berechnungsphase nie explizit<br />

berechnet o<strong>der</strong> gespeichert werden. Es genügt völlig, die Gewichtsmatrix<br />

W zu speichern.


Kapitel 7<br />

Anwendung <strong>der</strong> Algorithmen<br />

auf verschiedene Datensätze<br />

In diesem Kapitel sollen Beispiele zur Dimensionsreduktion gezeigt werden.<br />

Es drängt sich dabei immer auch die Frage nach <strong>der</strong> ”<br />

richtigen“ E<strong>in</strong>bettungsdimension<br />

auf. Außerdem stellt sich die Frage <strong>der</strong> Vergleichbarkeit <strong>der</strong> E<strong>in</strong>bettungen<br />

<strong>der</strong> verschiedenen Algorithmen. Die Möglichkeit e<strong>in</strong>es qualitativen<br />

Vergleichs ist bei niedrigdimensionalen E<strong>in</strong>bettungen bis zur Dimension d = 3<br />

gegeben, wenn im Datensatz bekannte wesentliche Merkmale enthalten s<strong>in</strong>d<br />

und man erwartet, dass die Anordnung <strong>der</strong> Punkte im E<strong>in</strong>bettungsraum diese<br />

Merkmale erhält. Von Vorteil wäre hier natürlich e<strong>in</strong> quantitatives Vergleichskriterium.<br />

Zum<strong>in</strong>dest für die l<strong>in</strong>eare PCA und für Isomap lässt sich e<strong>in</strong>e solche<br />

Größe relativ e<strong>in</strong>fach angeben: Das klassiche MDS und damit auch die l<strong>in</strong>eare<br />

PCA f<strong>in</strong>den e<strong>in</strong>e E<strong>in</strong>bettung, die die paarweisen Abstände bestmöglich<br />

erhält, wobei bestmöglich bedeutet, dass die Größe Φ <strong>in</strong> (4.26) m<strong>in</strong>imiert<br />

wird, die die Summe über die Differenzen <strong>der</strong> quadrierten Abstände angibt.<br />

Die zu approximierenden Abstände s<strong>in</strong>d bei <strong>der</strong> l<strong>in</strong>earen PCA die paarweisen<br />

euklidischen Abstände im E<strong>in</strong>gaberaum. Isomap m<strong>in</strong>imiert die gleiche<br />

Größe (4.26), versucht dabei aber, die approximierten geodätischen Abstände<br />

zu erhalten, also die aus dem Nachbarschaftsgraphen berechneten kürzesten<br />

Wege. Man kann nun für e<strong>in</strong>e gegebene E<strong>in</strong>bettungsdimension die paarweisen<br />

Abstände aller N Punkte im Merkmalsraum berechnen und zu e<strong>in</strong>em<br />

N(N − 1)-dimensionalen Vektor d M zusammenfassen. Für die PCA ist dann<br />

die Korrelation (A.13) dieses Vektors mit dem aus den paarweisen euklidischen<br />

Abständen im E<strong>in</strong>gaberaum gebildeten Vektor d E e<strong>in</strong> Maß für die<br />

Übere<strong>in</strong>stimmung von approximierten und zu approximierenden Abständen.<br />

Entsprechend berechnet man bei Isomap die Korrelation von d M mit dem aus<br />

den Abständen im Nachbarschaftsgraph gebildeten Vektor d G . Der Korrela-


7.1 Der Swiss Roll Datensatz 61<br />

tionskoeffizient r xy als Korrelation zwischen zwei Vektoren x und y nimmt<br />

dabei immer Werte im Intervall [−1, 1] an. Durch die Auftragung von<br />

ρ xy := 1 − r 2 xy = 1 −<br />

Cov(x, y)2<br />

σ 2 x · σ 2 y<br />

(7.1)<br />

mit x = d M , y = d E für PCA bzw. y = d G für Isomap gegen die E<strong>in</strong>bettungsdimension<br />

d ergibt sich so e<strong>in</strong>e für beide Algorithmen vergleichbare<br />

Größe, die den Wert E<strong>in</strong>s annimmt, wenn die Abstände im E<strong>in</strong>bettungsraum<br />

völlig unkorreliert mit den zu approximierenden Abständen s<strong>in</strong>d, und die<br />

auf Null abfällt, wenn die Abstände vollständig korreliert bzw. antikorreliert<br />

s<strong>in</strong>d. Üblicherweise fällt ρ mit <strong>der</strong> Erhöhung <strong>der</strong> E<strong>in</strong>bettungsdimension<br />

stark ab, solange noch nicht alle wesentlichen Merkmale im Merkmalsraum<br />

enthalten s<strong>in</strong>d. Bei <strong>der</strong> richtigen“ Dimension gibt es dann oft e<strong>in</strong>en Knick,<br />

”<br />

wenn man die Punkte im ρ(d)-Graph durch e<strong>in</strong>en l<strong>in</strong>earen Spl<strong>in</strong>e verb<strong>in</strong>det,<br />

da die H<strong>in</strong>zunahme weiterer E<strong>in</strong>bettungsdimensionen ke<strong>in</strong>e Verbesserung <strong>der</strong><br />

Korrelation mehr br<strong>in</strong>gt.<br />

7.1 Der Swiss Roll Datensatz<br />

Als erstes soll untersucht werden, wie gut die Methoden mit dem Swiss Roll<br />

Datensatz (1.1) zurechtkommen. Die Daten liegen hier auf e<strong>in</strong>er nichtl<strong>in</strong>earen<br />

Mannigfaltigkeit, die <strong>in</strong> sich zusammengerollt ist und daher e<strong>in</strong>e Herausfor<strong>der</strong>ung<br />

für jeden Dimensionsreduktionsalgorithmus darstellt. Der Datensatz<br />

besteht aus N = 6000 Punkten und ist <strong>in</strong> Abb. 7.1 dargestellt. Die Punkte<br />

wurden so e<strong>in</strong>gefärbt, dass sich von <strong>in</strong>nen nach außen und von unten nach<br />

oben jeweils e<strong>in</strong> Farbverlauf ergibt. So lässt sich die Qualität <strong>der</strong> von den<br />

Algorithmen berechneten E<strong>in</strong>bettungen ersehen, die ja alle jeweils ∀i den<br />

Punkt x i aus dem E<strong>in</strong>gaberaum auf den Punkt y i im Merkmalsraum abbilden.<br />

Plottet man nun y i jeweils <strong>in</strong> <strong>der</strong> gleichen Farbe wie x i , so lässt sich<br />

leicht erkennen, ob die Dimensionsreduktionsalgorithmen die Nachbarschaften<br />

erhalten, was aufgrund <strong>der</strong> Zweidimensionalität <strong>der</strong> Swiss Roll pr<strong>in</strong>zipiell<br />

natürlich schon für d = 2 möglich se<strong>in</strong> sollte.<br />

7.1.1 PCA<br />

Da die Hauptachsen bei <strong>der</strong> PCA nach e<strong>in</strong>er Verschiebung des Mittelpunktes<br />

<strong>in</strong> den Ursprung e<strong>in</strong>fach durch e<strong>in</strong>e l<strong>in</strong>eare orthogonale Transformation<br />

aus <strong>der</strong> kanonischen Basis des E<strong>in</strong>gaberaums hervorgehen, ist klar, dass die


62 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze<br />

30<br />

x 3<br />

0<br />

15<br />

10<br />

5<br />

0<br />

0<br />

−5 10<br />

x<br />

x −10<br />

2<br />

1<br />

−10<br />

Abbildung 7.1: Der Swiss Roll Datensatz, bestehend aus N = 6000 Samples.


7.1 Der Swiss Roll Datensatz 63<br />

15<br />

10<br />

5<br />

y 2<br />

0<br />

−5<br />

−10<br />

−15<br />

−20 −15 −10 −5 0 5 10 15 20<br />

y 1<br />

Abbildung 7.2: Zweidimensionale E<strong>in</strong>bettung <strong>der</strong> Swiss Roll mit l<strong>in</strong>earer PCA.


64 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze<br />

PCA hier ke<strong>in</strong>e befriedigende E<strong>in</strong>bettung f<strong>in</strong>den kann. Die Hauptachsen s<strong>in</strong>d<br />

e<strong>in</strong>fach Geraden im E<strong>in</strong>gaberaum, die e<strong>in</strong>e Ebene aufspannen, und die E<strong>in</strong>bettung<br />

ist die Projektion auf diese Ebene, zu sehen <strong>in</strong> Abb. 7.2. Die erste<br />

Hauptachse y 1 zeigt dabei <strong>in</strong> x 3 -Richtung, da <strong>in</strong> dieser Richtung die Ausdehnung<br />

<strong>der</strong> Swiss Roll am Größten ist. Durch Projektion auf diese Hauptachse<br />

bleiben 52.6% <strong>der</strong> Gesamtvarianz <strong>der</strong> E<strong>in</strong>gangsdaten erhalten; y 2 enthält<br />

noch 26.0% und y 3 den Rest von 21.4%.<br />

7.1.2 Kern-PCA<br />

Die Kern-PCA ist bei <strong>der</strong> Verwendung von nichtl<strong>in</strong>earen Kernfunktionen <strong>in</strong><br />

<strong>der</strong> Lage, auch Hauptachsen zu f<strong>in</strong>den, die durch nichtl<strong>in</strong>eare Transformationen<br />

aus den Basisvektoren des E<strong>in</strong>gaberaumes hervorgehen und damit<br />

nichtl<strong>in</strong>earen Kurven im E<strong>in</strong>gaberaum entsprechen. Die Kernfunktion sollte<br />

dabei so gewählt werden, dass die Daten durch die Transformation <strong>in</strong> den<br />

Merkmalsraum ”<br />

ausgebreitet“ werden. Im Fall <strong>der</strong> Swiss Roll bedeutet das,<br />

dass man e<strong>in</strong>en Kern sucht, <strong>der</strong> die Swiss Roll im Merkmalsraum ausrollt.<br />

Dabei stellt sich allerd<strong>in</strong>gs die Frage, wie man den richtigen Kern f<strong>in</strong>det.<br />

Es ist zunächst e<strong>in</strong>mal nämlich überhaupt nicht klar, welche Auswirkungen<br />

die Transformation <strong>in</strong> den Merkmalsraum auf die Geometrie <strong>der</strong> Daten<br />

hat, was <strong>in</strong>sbeson<strong>der</strong>e für den Gauß’schen Kern gilt, bei dem <strong>der</strong> Merkmalsraum<br />

unendlichdimensional ist. Für den Swiss Roll Datensatz konnte dann<br />

auch ke<strong>in</strong> passen<strong>der</strong> Kern gefunden werden, wobei die Standardkerne homogener<br />

Polynomkern (3.29) für d = 1, 2, 3, 4, 5, <strong>in</strong>homogener polynomieller<br />

Kern (3.31) für c = 1 und d = 2, 3, 4, 5, 6, 7, Gauß’scher Kern (3.32) für<br />

σ = 0.01, 0.1, 0.5, 1, 2, 3 und sigmoi<strong>der</strong> Kern (3.33) für κ = 0.01, 0.1, 0.5, 1, 2, 4<br />

und Θ = 0.01, 0.1, 0.5, 1, 2, 4, 8, 12 ausprobiert wurden. Die E<strong>in</strong>gangsdaten<br />

wurden dabei zuerst so normiert, dass <strong>der</strong> längste E<strong>in</strong>gabevektor die Länge<br />

E<strong>in</strong>s hat, um explodierende Werte bei <strong>der</strong> Berechnung <strong>der</strong> Kernmatrix z.B.<br />

bei den polynomiellen Kernen und sehr kle<strong>in</strong>e Werte beim Gauß’schen Kern<br />

zu vermeiden.<br />

Alle Kerne lieferten <strong>in</strong> drei E<strong>in</strong>bettungsdimensionen – also ohne Dimensionsreduktion<br />

– nur e<strong>in</strong>e mehr o<strong>der</strong> weniger starke Deformation <strong>der</strong> Swiss Roll<br />

und schafften es nicht, die Swiss Roll ”<br />

auszurollen“. Das soll hier stellvertretend<br />

für alle durchprobierten Kernfunktionen für den sigmoiden Kern gezeigt<br />

werden. Für kle<strong>in</strong>e Werte von κ und Θ liegen die Argumente des tanh noch<br />

<strong>in</strong> dessem nahezu l<strong>in</strong>earen Bereich, was dazu führt, dass die Hauptachsen<br />

quasi mit denen <strong>der</strong> l<strong>in</strong>earen PCA zusammenfallen. Für zunehmend größere<br />

Parameter kann man h<strong>in</strong>gegen an <strong>der</strong> sich e<strong>in</strong>stellenden Deformation die


7.1 Der Swiss Roll Datensatz 65<br />

Nichtl<strong>in</strong>earitäten des Kerns erkennen, und für zu große Argumente des tanh<br />

ist dieser quasi konstant E<strong>in</strong>s, was zu e<strong>in</strong>er degenerierten Lösung führt, bei<br />

<strong>der</strong> alle Punkte im Ursprung liegen. Abb. 7.3 zeigt die E<strong>in</strong>bettung <strong>in</strong> den<br />

y 3<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

−4<br />

x 10 −4<br />

−2<br />

0<br />

y 2<br />

2<br />

4<br />

x 10 −4 y 1<br />

−2 −4<br />

2 0<br />

6 4<br />

x 10 −4<br />

Abbildung 7.3: Dreidimensionale E<strong>in</strong>bettung von N = 3000 Datenpunkten <strong>der</strong> Swiss<br />

Roll mit <strong>der</strong> Kern-PCA. Es wurde <strong>der</strong> sigmoide Kern (3.33) mit κ = 4 und Θ = 12<br />

verwendet.<br />

durch die ersten drei Hauptachsen aufgespannten Raum. Die Swiss Roll ist<br />

an <strong>der</strong> Kante, bei <strong>der</strong> im E<strong>in</strong>gangsdatensatz die x 3 -Komponente Null ist,<br />

etwas aufgeweitet und ersche<strong>in</strong>t nun von <strong>der</strong> Seite kegelförmig. Dieser Effekt<br />

verstärkt sich für größer werdende Parameter. Für κ = 8 und Θ = 4 ist die<br />

Swiss Roll schließlich ganz ”<br />

aufgebogen“und besitzt gar ke<strong>in</strong>e Ausdehnung<br />

mehr <strong>in</strong> y 3 -Richtung. Die entsprechende zweidimensionale E<strong>in</strong>bettung zeigt<br />

Abb. 7.4. E<strong>in</strong>e solche E<strong>in</strong>bettung spiegelt natürlich nicht die Geometrie <strong>der</strong><br />

den Daten zugrunde liegenden Mannigfaltigkeit wi<strong>der</strong>. Die Nachbarschafts-


66 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

y 2<br />

0<br />

−0.5<br />

−1<br />

−1.5<br />

−2<br />

−2 −1 0 1 2 3<br />

y 1<br />

Abbildung 7.4: Projektion <strong>der</strong> Swiss Roll-E<strong>in</strong>bettung für κ = 8 und Θ = 4 auf die<br />

ersten beiden Hauptachsen.


7.1 Der Swiss Roll Datensatz 67<br />

verhältnisse s<strong>in</strong>d zum großen Teil zerstört, d.h. dicht benachbarte Punkte<br />

im E<strong>in</strong>bettungsraum korrespondieren zwar teilweise mit geodätisch dicht benachbarten<br />

Punkten im E<strong>in</strong>gaberaum, teilweise aber auch mit geodätisch<br />

sehr weit entfernten Punkten. Die Aussagefähigkeit e<strong>in</strong>er solchen E<strong>in</strong>bettung<br />

ist daher sehr begrenzt. Insbeson<strong>der</strong>e lassen sich den Hauptachsen <strong>in</strong> diesem<br />

Fall selbst bei bestem Willen ke<strong>in</strong>e Merkmale <strong>der</strong> E<strong>in</strong>gabedaten zuordnen. Es<br />

mag zwar se<strong>in</strong>, dass es vielleicht e<strong>in</strong>en Kern gibt, <strong>der</strong> die Swiss Roll ausrollt<br />

(dieser könnte z.B. aus L<strong>in</strong>earkomb<strong>in</strong>ationen <strong>der</strong> Standardkerne hervorgehen;<br />

e<strong>in</strong>e solche L<strong>in</strong>earkomb<strong>in</strong>ation ist dann nach [29] wie<strong>der</strong> e<strong>in</strong>e Kernfunktion),<br />

doch wie dieser Kern auszusehen hat, sche<strong>in</strong>t nicht unmittelbar klar zu se<strong>in</strong>.<br />

7.1.3 Isomap<br />

Der Swiss Roll Datensatz bereitet dem Isomap-Algorithmus ke<strong>in</strong>e Probleme.<br />

Die E<strong>in</strong>bettung zeigt Abb. 7.5. Um festzustellen, wie gut die approximierten<br />

geodätischen Distanzen zwischen den Punkten als kürzeste Wege im<br />

Nachbarschaftsgraphen mit den tatsächlichen geodätischen Abständen übere<strong>in</strong>stimmen,<br />

wurden diese gegene<strong>in</strong>an<strong>der</strong> graphisch aufgetragen. Die wahren<br />

geodätischen Abstände aller Punktepaare wurden dabei mit Hilfe <strong>der</strong> Parametrisierung<br />

(1.1) <strong>der</strong> Swiss Roll nach (5.3) berechnet. Abb. 7.6 zeigt die<br />

Auftragung <strong>der</strong> Distanzen im Graph gegen die geodätischen Distanzen für<br />

4000 zufällige Punktepaare. In die Abbildung ist zusätzlich noch die W<strong>in</strong>kelhalbierende<br />

mit e<strong>in</strong>gezeichnet, auf <strong>der</strong> die Punkte im Idealfall alle liegen<br />

sollten. Die Abstände stimmen sehr gut übere<strong>in</strong>, wobei die Distanzen<br />

im Nachbarschaftsgraph tendenziell ger<strong>in</strong>gfügig größer ausfallen. Der auf 4<br />

Nachkommastellen gerundete Korrelationskoeffizient für die Abstände <strong>der</strong><br />

4000 Punktepaare beträgt 0.9999, die approximierten Abstände s<strong>in</strong>d also mit<br />

den geodätischen Abständen nahezu vollständig korreliert. E<strong>in</strong>en Vergleich<br />

zwischen l<strong>in</strong>earer PCA und Isomap für den Abfall des Residuums ρ aus (7.1)<br />

zeigt Abb. 7.7. Es bestätigen sich die oben gemachten Beobachtungen aus<br />

den Abbildungen 7.2 und 7.5 bzw. 7.6: Während bei Isomap die Abstände<br />

bereits im zweidimensionalen E<strong>in</strong>bettungsraum erhalten bleiben, gel<strong>in</strong>gt dies<br />

<strong>der</strong> l<strong>in</strong>earen PCA erst <strong>in</strong> drei E<strong>in</strong>bettungsdimensionen.<br />

7.1.4 LLE<br />

Auch LLE f<strong>in</strong>det für die Swiss Roll e<strong>in</strong>e E<strong>in</strong>bettung, die <strong>der</strong>en <strong>in</strong>nere Geometrie<br />

repräsentiert. Die zweidimensionale E<strong>in</strong>bettung, bei <strong>der</strong> die k = 10<br />

nächsten Nachbarn jedes Datenpunktes verwendet wurden, zeigt Abb. 7.8.


68 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze<br />

15<br />

10<br />

5<br />

y 2<br />

0<br />

−5<br />

−10<br />

−15<br />

−50 −40 −30 −20 −10 0 10 20 30 40<br />

y 1<br />

Abbildung 7.5: Zweidimensionale E<strong>in</strong>bettung des Swiss Roll Datensatzes mit Isomap.<br />

Es wurden die k = 12 nächsten Nachbarn jedes E<strong>in</strong>gabevektors verwendet.


7.1 Der Swiss Roll Datensatz 69<br />

90<br />

80<br />

70<br />

Abstand im Graph<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

0 20 40 60 80<br />

Abstand auf <strong>der</strong> Mannigfaltigkeit<br />

Abbildung 7.6: Vergleich zwischen approximierten (y-Achse) und tatsächlichen<br />

geodätischen Abständen (x-Achse) für 4000 zufällig ausgewählte Punktepaare bei <strong>der</strong><br />

E<strong>in</strong>bettung <strong>der</strong> Swiss Roll mit Isomap. Zum Vergleich ist die W<strong>in</strong>kelhalbierende mit<br />

e<strong>in</strong>gezeichnet.


70 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze<br />

0.4<br />

Isomap<br />

PCA<br />

Residuum ρ<br />

0.2<br />

0<br />

1 2 3 4 5 6 7 8 9 10<br />

E<strong>in</strong>bettungsdimension<br />

Abbildung 7.7: Vergleich des Abfalles des Residuums für die l<strong>in</strong>eare PCA und für Isomap<br />

bei <strong>der</strong> E<strong>in</strong>bettung <strong>der</strong> Swiss Roll.<br />

Hier ist die Swiss Roll zwar nicht ganz so perfekt abgerollt wie bei <strong>der</strong> Isomap-<br />

E<strong>in</strong>bettung <strong>in</strong> Abb. 7.5, trotzdem bleiben die geodätischen Distanzen sehr<br />

gut erhalten. Allerd<strong>in</strong>gs reagiert LLE relativ empf<strong>in</strong>dlich auf die Anzahl <strong>der</strong><br />

verwendeten Nachbarn: Bei <strong>der</strong> E<strong>in</strong>bettung mit k = 9 ist die Swiss Roll<br />

nur zum Teil ausgebreitet, und auch für k = 11 ist die E<strong>in</strong>bettung deutlich<br />

schlechter als die für k = 10 gezeigte. Für k ≥ 12 ersche<strong>in</strong>t die e<strong>in</strong>gebettete<br />

Swiss Roll sogar teilweise <strong>in</strong> sich zusammengefaltet. Dieser Effekt <strong>der</strong><br />

Empf<strong>in</strong>dlichkeit gegenüber k tritt (<strong>in</strong> verm<strong>in</strong><strong>der</strong>ter Form) auch bei vielen<br />

an<strong>der</strong>en Datensätzen auf. LLE sche<strong>in</strong>t demnach empf<strong>in</strong>dlicher auf die Zahl<br />

<strong>der</strong> nächsten Nachbarn und auf <strong>der</strong>en Lage zu reagieren als Isomap.<br />

Für die gleiche Anzahl k = 10 nächster Nachbarn ergibt sich bei e<strong>in</strong>em größeren<br />

Datensatz aus N = 20000 Samples <strong>der</strong> Swiss Roll die <strong>in</strong> Abb. 7.9 gezeigte<br />

E<strong>in</strong>bettung, die nicht ganz so empf<strong>in</strong>dlich auf die Anzahl <strong>der</strong> Nachbarn reagiert.<br />

Hier bleiben die Nachbarschaften bis über k = 80 erhalten.


7.1 Der Swiss Roll Datensatz 71<br />

0.02<br />

0.01<br />

0<br />

y 2<br />

−0.01<br />

−0.02<br />

−0.03<br />

−0.02 0 0.02<br />

y 1<br />

Abbildung 7.8: Zweidimensionale E<strong>in</strong>bettung des Swiss Roll Datensatzes mit LLE unter<br />

Verwendung <strong>der</strong> k = 10 nächsten Nachbarn jedes Datenpunktes


72 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze<br />

0.015<br />

0.01<br />

0.005<br />

y 2<br />

0<br />

−0.005<br />

−0.01<br />

−0.015<br />

−0.015 −0.01 −0.005 0 0.005 0.01<br />

y 1<br />

Abbildung 7.9: LLE-E<strong>in</strong>bettung für N = 20000 Samples <strong>der</strong> Swiss Roll mit k = 10<br />

nächsten Nachbarn.


7.2 Bildanordnung I: Webcam-Bil<strong>der</strong> 73<br />

7.2 Bildanordnung I: Webcam-Bil<strong>der</strong><br />

In diesem Abschnitt soll gezeigt werden, wie sich Bil<strong>der</strong> mit Hilfe <strong>der</strong> Dimensionsreduktion<br />

s<strong>in</strong>nvoll nach Merkmalen sortieren lassen. Der komplette<br />

Abbildung 7.10: Der Webcam-Datensatz, bestehend aus 29 Bil<strong>der</strong>n <strong>der</strong> Größe 160×120<br />

Pixel<br />

Datensatz besteht aus N = 29 Bil<strong>der</strong>n und ist <strong>in</strong> Abb. 7.10 zu sehen. Die<br />

Bil<strong>der</strong> wurden e<strong>in</strong>zeln mit e<strong>in</strong>er Webcam aufgenommen und haben jeweils<br />

e<strong>in</strong>e Größe von 160 × 120 Pixeln. Der E<strong>in</strong>gaberaum hat also die Dimension<br />

D = 19200.<br />

7.2.1 PCA<br />

Schon die PCA f<strong>in</strong>det für diesen Datensatz e<strong>in</strong>e s<strong>in</strong>nvolle Anordnung <strong>in</strong> e<strong>in</strong>em<br />

zweidimensionalen euklidischen Raum, die <strong>in</strong> Abb. 7.11 gezeigt ist. Allerd<strong>in</strong>gs<br />

lassen sich den beiden Hauptachsen nicht direkt die Merkmale ”<br />

horizontaler<br />

Drehw<strong>in</strong>kel“ und ”<br />

vertikaler Kippw<strong>in</strong>kel“ des Kopfes zuordnen. Man sche<strong>in</strong>t<br />

eher alle Posen mehr o<strong>der</strong> weniger kont<strong>in</strong>uierlich zu durchlaufen, wenn man<br />

sich auf dem ”<br />

C“, das die Anordnung <strong>der</strong> Bil<strong>der</strong> beschreibt, im Uhrzeigers<strong>in</strong>n<br />

bewegt. Benachbarte Bil<strong>der</strong> o<strong>der</strong> Punkte zeigen dabei ähnliche Posen.<br />

Die folgende Tabelle zeigt die relativen Varianzen <strong>der</strong> ersten 8 Hauptkomponenten<br />

<strong>in</strong> Prozent <strong>der</strong> Gesamtvarianz des Datensatzes:<br />

PC 1 2 3 4 5 6 7 8<br />

relative Varianz [%] 30.3 14.8 10.6 8.76 6.06 3.58 3.02 2.56<br />

Die Varianzen <strong>der</strong> ersten beiden Hauptkomponenten machen also weniger<br />

als die Häfte <strong>der</strong> Gesamtvarianz aus, so dass die E<strong>in</strong>gabedaten wahrsche<strong>in</strong>lich<br />

entwe<strong>der</strong> auf e<strong>in</strong>er nichtl<strong>in</strong>earen, niedrigdimensionalen Mannigfaltigkeit


74 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze<br />

10<br />

8<br />

6<br />

4<br />

2<br />

y 2<br />

0<br />

−2<br />

−4<br />

−6<br />

−8<br />

−10<br />

−10 −5 0 5 10 15<br />

y 1<br />

Abbildung 7.11: Projektion <strong>der</strong> Webcam-Bil<strong>der</strong> auf e<strong>in</strong>en 2-dimensionalen Unterraum<br />

mit PCA


7.2 Bildanordnung I: Webcam-Bil<strong>der</strong> 75<br />

liegen o<strong>der</strong> aber dass sich ihre wesentliche Struktur nicht durch nur zwei Achsen<br />

parametrisieren lässt. Genaueren Aufschluss hierüber sollte man mit den<br />

nichtl<strong>in</strong>earen <strong>Dimensionsreduktionsmethoden</strong> erhalten können, wobei allerd<strong>in</strong>gs<br />

Aussagen über die Dimension <strong>der</strong> Mannigfaltigkeit, die diesen Daten<br />

zugrunde liegt, mit Vorsicht zu genießen s<strong>in</strong>d, da die Anzahl <strong>der</strong> Datenpunkte<br />

mit N = 29 doch sehr ger<strong>in</strong>g ist. Letztlich geht es aber auch lediglich<br />

darum, e<strong>in</strong>e aussagekräftige Parametrisierung <strong>der</strong> Daten <strong>in</strong> Form e<strong>in</strong>er niedrigdimensionalen<br />

euklidischen E<strong>in</strong>bettung zu f<strong>in</strong>den, und nicht darum, die<br />

genaue Dimension <strong>der</strong> Mannigfaltigkeit <strong>in</strong> Erfahrung zu br<strong>in</strong>gen.<br />

7.2.2 Kern-PCA<br />

Die visuell ”<br />

vernünftigste“Anordnung erzeugt <strong>der</strong> Gauß’sche Kern mit e<strong>in</strong>er<br />

Varianz von σ = 0.5. Abb. 7.12 zeigt die zweidimensionale E<strong>in</strong>bettung. Die<br />

1<br />

0.5<br />

0<br />

−0.5<br />

y 2<br />

−1<br />

−1.5<br />

−2<br />

−2.5<br />

−3 −2 −1 0 1 2<br />

y 1<br />

Abbildung 7.12: E<strong>in</strong>bettung <strong>der</strong> Webcam-Bil<strong>der</strong> mit <strong>der</strong> Kern-PCA. Es wurde <strong>der</strong><br />

Gauß’sche Kern mit σ = 0.5 verwendet.<br />

Daten beschreiben wie bei <strong>der</strong> l<strong>in</strong>earen PCA e<strong>in</strong> ”<br />

C“, auf dem die verschiedenen<br />

Posen mehr o<strong>der</strong> weniger kont<strong>in</strong>uierlich durchlaufen werden. Gleich-


76 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze<br />

zeitig ist aber hier auch e<strong>in</strong>e gewisse Tendenz <strong>der</strong> Anordnung bezüglich <strong>der</strong><br />

Hauptachsen zu erkennen, denn <strong>der</strong> horizontale Drehw<strong>in</strong>kel des Kopfes korreliert<br />

relativ stark mit <strong>der</strong> ersten Hauptachse: Im l<strong>in</strong>ken Teil <strong>der</strong> Abbildung<br />

schaut <strong>der</strong> Kopf mehrheitlich nach l<strong>in</strong>ks, im rechten Teil dagegen im Wesentlichen<br />

nach rechts. Gleichzeitig kann man e<strong>in</strong>e gewisse Korrelation <strong>der</strong><br />

zweiten Hauptachse mit dem W<strong>in</strong>kel <strong>der</strong> vertikalen Kippbewegung ausmachen,<br />

da <strong>der</strong> Kopf im oberen Teil <strong>der</strong> Abbildung im Wesentlichen nach unten<br />

schaut, im unteren Teil dagegen eher <strong>in</strong> waagerechte Richtung o<strong>der</strong> nach<br />

oben. Insgesamt liefert die Kern-PCA hier e<strong>in</strong>e durchaus s<strong>in</strong>nvolle Anordnung<br />

<strong>der</strong> Webcam-Bil<strong>der</strong>.<br />

7.2.3 Isomap<br />

In <strong>der</strong> von Isomap mit k = 3 nächsten Nachbarn gelieferten E<strong>in</strong>bettung <strong>in</strong><br />

Abb. 7.13 ist nun e<strong>in</strong> ganz klarer Trend auszumachen: Die erste Hauptachse<br />

parametrisiert den Drehw<strong>in</strong>kel, die zweite h<strong>in</strong>gegen den Kippw<strong>in</strong>kel. E<strong>in</strong>e<br />

20<br />

10<br />

0<br />

y 2<br />

−10<br />

−20<br />

−30<br />

−40<br />

−50<br />

−60 −40 −20 0 20 40 60<br />

y 1<br />

Abbildung 7.13: Zweidimensionale Isomap-E<strong>in</strong>bettung mit k = 3 nächsten Nachbarn<br />

ähnliche Anordnung würde wohl auch e<strong>in</strong> menschlicher Proband liefern, wenn


7.2 Bildanordnung I: Webcam-Bil<strong>der</strong> 77<br />

er die Aufgabe bekäme, diese 29 Bil<strong>der</strong> irgendwie s<strong>in</strong>nvoll <strong>in</strong> e<strong>in</strong>er Ebene anzuordnen.<br />

Die Auftragung des Residuums ρ gegen die E<strong>in</strong>bettungsdimension<br />

0.5<br />

Isomap<br />

PCA<br />

0.4<br />

Residuum ρ<br />

0.3<br />

0.2<br />

0.1<br />

0<br />

1 2 3 4 5 6 7 8 9 10<br />

E<strong>in</strong>bettungsdimension<br />

Abbildung 7.14: Auftragung von ρ gegen die E<strong>in</strong>bettungsdimension für PCA und Isomap<br />

zeigt denn auch, dass Isomap zwei Dimensionen genügen, um für den Satz aus<br />

approximierten geodätischen Abständen e<strong>in</strong>e optimale E<strong>in</strong>bettung zu f<strong>in</strong>den<br />

(optimal <strong>in</strong> dem S<strong>in</strong>ne, dass e<strong>in</strong>e betragsmäßig möglichst große Korrelation<br />

zwischen den Distanzen im Graph und den paarweisen Abständen im E<strong>in</strong>bettungsraum<br />

herrscht). Die l<strong>in</strong>eare PCA h<strong>in</strong>gegen benötigt für ihre Aufgabe,<br />

die euklidischen Abstände im E<strong>in</strong>gaberaum zu approximieren, deutlich mehr<br />

Hauptrichtungen. Das deutet darauf h<strong>in</strong>, dass es sich hier wohl um Daten<br />

auf e<strong>in</strong>er nichtl<strong>in</strong>earen Mannigfaltigkeit handelt. Wie schon im vorigen Abschnitt<br />

bei <strong>der</strong> Anwendung <strong>der</strong> Kern-PCA auf dieses Beispiel angedeutet,<br />

sollte man sich aber nicht dazu verleiten lassen zu glauben, die Mannigfaltigkeit,<br />

auf <strong>der</strong> diese Bil<strong>der</strong> liegen, sei wirklich zweidimensional. Dafür ist<br />

die Anzahl <strong>der</strong> Samples sicherlich viel zu ger<strong>in</strong>g, und es ist nicht klar, ob die<br />

Distanzen im Nachbarschaftsgraphen überhaupt e<strong>in</strong>e gute Approximation an<br />

die wirklichen Abstände auf <strong>der</strong> Mannigfaltigkeit darstellen, wie dies beim<br />

weiter oben betrachteten Beispiel <strong>der</strong> Swiss Roll <strong>der</strong> Fall ist.


78 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze<br />

7.2.4 LLE<br />

Ähnliches wie für die Isomap-E<strong>in</strong>bettung gilt auch für die <strong>in</strong> Abb. 7.15 gezeigte<br />

E<strong>in</strong>bettung mit LLE, bei <strong>der</strong> die k = 8 nächsten Nachbarn verwendet<br />

wurden. Diese Zahl kl<strong>in</strong>gt zwar recht groß im Vergleich zur Gesamtanzahl<br />

<strong>der</strong> Datenpunkte, so dass alle<strong>in</strong> hierdurch wohl schon (fäschlicherweise) e<strong>in</strong>e<br />

gewisse Glättung <strong>der</strong> Mannigfaltigkeit stattf<strong>in</strong>det, jedoch lassen sich nur für<br />

1.5<br />

1<br />

0.5<br />

0<br />

y 2<br />

−0.5<br />

−1<br />

−1.5<br />

−2<br />

−1 0 1 2<br />

y 1<br />

Abbildung 7.15: Zweidimensionale LLE-E<strong>in</strong>bettung mit k = 8 nächsten Nachbarn<br />

etwa 8 Nachbarn zwei orthogonalen Koord<strong>in</strong>atenachsen Merkmale zuordnen,<br />

die hier nicht genau y 1 und y 2 entsprechen, son<strong>der</strong>n eher ungefähr entlang<br />

<strong>der</strong> W<strong>in</strong>kelhalbierenden und senkrecht dazu verlaufen. Für ger<strong>in</strong>gere Nachbarzahlen<br />

ergeben sich h<strong>in</strong>gegen Anordnungen, die eher denen <strong>der</strong> PCA o<strong>der</strong><br />

Kern-PCA entsprechen. Bei e<strong>in</strong>er Zahl von 8 nächsten Nachbarn bei diesem<br />

Datensatz kann man aber wohl kaum noch von Locally L<strong>in</strong>ear Embedd<strong>in</strong>g<br />

sprechen.


7.3 Bildanordnung II: Kavitationsblasen 79<br />

7.3 Bildanordnung II: Kavitationsblasen<br />

In diesem Abschnitt werden die Algorithmen auf Bil<strong>der</strong> von Kavitationsblasen<br />

angewendet. Die Blasen wurden mit e<strong>in</strong>er Videokamera aufgenommen<br />

und das Video dann <strong>in</strong> 319 E<strong>in</strong>zelbil<strong>der</strong> zerlegt. 1 Die Bil<strong>der</strong> zeigen e<strong>in</strong>e levitierte<br />

Luftblase <strong>in</strong> e<strong>in</strong>em wassergefüllten akustischen Resonator bei niedriger<br />

Schallanregung. Die Wechselwirkung <strong>der</strong> Volumenschw<strong>in</strong>gung <strong>der</strong> Blase mit<br />

dem äußeren akustischen Stehwellenfeld (primäre Bjerkneskraft) zieht die<br />

Blase <strong>in</strong> den Schalldruckbauch des Resonators. Durch Störungen wie Oberflächen<strong>in</strong>stabilitäten<br />

wird die Blase aus <strong>der</strong> Gleichgewichtslage gebracht und<br />

verän<strong>der</strong>t damit ihre Position.<br />

Abbildung 7.16: 20 zufällige Samples des Datensatzes mit Kavitationsblasenbil<strong>der</strong>n.<br />

Jedes Bild hat e<strong>in</strong>e Größe von 256 × 80 Pixeln bei 256 Graustufen.<br />

Jedes <strong>der</strong> Bil<strong>der</strong> hat e<strong>in</strong>e Größe von 256 × 80 Pixeln und e<strong>in</strong> Farbformat von<br />

256 Graustufen. 2 Abb. 7.16 zeigt e<strong>in</strong>e Menge von 20 zufällig ausgewählten<br />

Bil<strong>der</strong>n des Datensatzes. Die Bil<strong>der</strong> s<strong>in</strong>d hier <strong>in</strong> <strong>in</strong>vertierten Graustufen dargestellt,<br />

da man so die Blasen (helle Kreise o<strong>der</strong> Flecken) besser erkennen<br />

kann. Auf den meisten Bil<strong>der</strong>n ist jeweils nur e<strong>in</strong>e Blase zu sehen. Manchmal<br />

jedoch teilt sich diese <strong>in</strong> zwei o<strong>der</strong> mehr Blasen auf, und so s<strong>in</strong>d auch<br />

1 Die Bil<strong>der</strong> wurden freundlicherweise von Dagmar Kreft<strong>in</strong>g zur Verfügung gestellt.<br />

Vielen Dank dafür!<br />

2 Die ursprüngliche Größe war 256×128 Pixel. Da sich die Bewegung <strong>der</strong> Blasen <strong>in</strong> diesen<br />

ursprünglichen Bil<strong>der</strong>n aber nur im oberen Teil abspielt und <strong>in</strong> horizontaler Richtung<br />

stärker ausgeprägt ist, wurde <strong>der</strong> untere Teil <strong>der</strong> Bil<strong>der</strong> abgeschnitten, so dass sich die<br />

Bewegungen <strong>in</strong> <strong>der</strong> gesamten Bildfläche abspielen.


80 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze<br />

e<strong>in</strong>ige wenige Bil<strong>der</strong> mit zwei o<strong>der</strong> drei Kavitationsblasen im Datensatz enthalten.<br />

Für die Berechnung <strong>der</strong> E<strong>in</strong>bettungen wurden immer die unverän<strong>der</strong>ten,<br />

nicht<strong>in</strong>vertierten Graustufenbil<strong>der</strong> benutzt. Insbeson<strong>der</strong>e wurde den Dimensionsreduktionsalgorithmen<br />

ke<strong>in</strong>erlei Bild- o<strong>der</strong> sonstige Vorverarbeitung<br />

vorgeschaltet. Die Algorithmen wurden immer auf die unverän<strong>der</strong>ten, 256×80<br />

Pixel großen Bil<strong>der</strong> angewendet, und auch die Invertierung erfolgt immer nur<br />

bei <strong>der</strong> Darstellung <strong>der</strong> Ergebnisse.<br />

Das wesentliche Merkmal sollte die Position <strong>der</strong> Blase(n) <strong>in</strong>nerhalb des Bildes<br />

se<strong>in</strong>. Weitere Merkmale könnten die Größe o<strong>der</strong> Form <strong>der</strong> Blase(n) darstellen,<br />

die aber schwer aufzudecken se<strong>in</strong> dürften, da diese Merkmale doch eher<br />

schwach vertreten s<strong>in</strong>d und zusätzlich <strong>in</strong> den Bil<strong>der</strong>n natürlich immer auch<br />

e<strong>in</strong> gewisses Rauschen vorhanden ist, das <strong>in</strong> zufälligen, relativ kle<strong>in</strong>en Än<strong>der</strong>ungen<br />

von Pixelwerten resultiert.<br />

7.3.1 PCA<br />

Der PCA nach sche<strong>in</strong>en die Bil<strong>der</strong> nicht auf e<strong>in</strong>er niedrigdimensionalen Untermannigfaltigkeit<br />

des E<strong>in</strong>gaberaumes zu liegen. Um 90% <strong>der</strong> Gesamtvarianz<br />

<strong>der</strong> E<strong>in</strong>gangsdaten zu erhalten, muss <strong>der</strong> E<strong>in</strong>bettungsraum schon 28 Dimensionen<br />

haben. Die relativen Varianzen <strong>der</strong> ersten 5 Hauptrichtungen zeigt die<br />

folgende Tabelle:<br />

PC 1 2 3 4 5<br />

relative Varianz [%] 14.5 10.5 8.80 6.87 5.89<br />

Die Prozentangaben beziehen sich dabei wie<strong>der</strong> auf den Anteil <strong>der</strong> Varianz<br />

<strong>der</strong> jeweiligen Hauptrichtung an <strong>der</strong> Gesamtvarianz <strong>der</strong> E<strong>in</strong>gangsdaten. Die<br />

erste Hauptachse besitzt zwar schon e<strong>in</strong>e deutliche größere Varianz als die<br />

zweite Hauptachse, jedoch ist ihr Anteil an <strong>der</strong> Gesamtvarianz mit 14.5%<br />

relativ ger<strong>in</strong>g. In <strong>der</strong> <strong>in</strong> Abb. 7.17 gezeigten zweidimensionalen E<strong>in</strong>bettung<br />

lassen sich den beiden Hauptachsen auch nicht so e<strong>in</strong>fach wesentliche Merkmale<br />

zuordnen. Die Blase bef<strong>in</strong>det sich <strong>in</strong> <strong>der</strong> gesamten oberen Hälfte <strong>der</strong><br />

Abbildung und auch im l<strong>in</strong>ken unteren Teil jeweils <strong>in</strong> <strong>der</strong> rechten Häfte des<br />

Bildes. Der ersten Hauptachse lässt sich am ehesten noch die vertikale Blasenposition<br />

zuordnen: In <strong>der</strong> rechten Häfte <strong>der</strong> Abbildung bef<strong>in</strong>det sich die Blase<br />

eher <strong>in</strong> <strong>der</strong> unteren Bildhäfte, <strong>in</strong> <strong>der</strong> l<strong>in</strong>ken Häfte bef<strong>in</strong>det sie sich h<strong>in</strong>gegen<br />

eher <strong>in</strong> <strong>der</strong> oberen Häfte. Aber auch diese Zuordnung ist nicht ganz e<strong>in</strong>deutig<br />

und fehlerfrei. Insgesamt fällt es schon schwer, den beiden Hauptachsen


7.3 Bildanordnung II: Kavitationsblasen 81<br />

2000<br />

1500<br />

1000<br />

500<br />

y 2<br />

0<br />

−500<br />

−1000<br />

−1500<br />

−2000<br />

−2000 −1000 0 1000 2000<br />

y 1<br />

Abbildung 7.17: Zweidimensionale E<strong>in</strong>bettung <strong>der</strong> Kavitationsblasenbil<strong>der</strong> mit PCA


82 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze<br />

auf den ersten Blick e<strong>in</strong>deutig Bildmerkmale zuzuordnen. Die H<strong>in</strong>zunahme<br />

<strong>der</strong> dritten Hauptachse br<strong>in</strong>gt hier auch ke<strong>in</strong>e Klarheit; dieser Richtung ist<br />

überhaupt ke<strong>in</strong> Merkmal <strong>der</strong> Bil<strong>der</strong> zuzuschreiben.<br />

Die obigen Betrachtungen beziehen sich dabei auf die l<strong>in</strong>eare PCA unter Verwendung<br />

<strong>der</strong> (geschätzten) Kovarianzmatrix <strong>der</strong> aus den Blasenbil<strong>der</strong>n gebildeten<br />

Vektoren. Verwendet man stattdessen die Korrelationsmatrix, normiert<br />

also die Vektoren so, dass die e<strong>in</strong>zelnen Komponenten alle Standardabweichung<br />

E<strong>in</strong>s haben, so benötigt man sogar 183 Hauptachsen, um 90% <strong>der</strong><br />

Gesamtvarianz <strong>der</strong> E<strong>in</strong>gangsdaten zu erhalten. Die Unterschiede <strong>der</strong> relativen<br />

Varianzen ist hier bei den ersten Hauptkomponenten noch ger<strong>in</strong>ger.<br />

Entsprechend kann man den Hauptachsen noch weniger Informationen entnehmen.<br />

7.3.2 Kern-PCA<br />

Für die Kern-PCA wurden wie<strong>der</strong> die Standardkerne <strong>in</strong> breiten Parameterbereichen<br />

ausprobiert. Bei diesen Bil<strong>der</strong>n ergibt sich ke<strong>in</strong> wesentlicher Unterschied<br />

zwischen den verschiedenen Kernfunktionen. Insbeson<strong>der</strong>e sehen alle<br />

E<strong>in</strong>bettungen <strong>der</strong> l<strong>in</strong>earen PCA sehr ähnlich, so dass das dort gesagte auch<br />

für die Kern-PCA gilt. Abb. 7.18 zeigt die Projektion auf die ersten beiden<br />

Hauptachsen. In höheren Hauptrichtungen konnte ke<strong>in</strong>e Struktur <strong>in</strong> <strong>der</strong><br />

Anordnung erkannt werden.<br />

7.3.3 Isomap<br />

Die Berechnung <strong>der</strong> E<strong>in</strong>bettung mit Isomap erfolgte unter Verwendung <strong>der</strong><br />

k = 13 nächsten Nachbarn. Diese Nachbarzahl hat sich durch Ausprobieren<br />

als die günstigste herausgestellt, was die Interpretierbarkeit <strong>der</strong> E<strong>in</strong>bettungskoord<strong>in</strong>aten<br />

angeht. Die Auftragung des Residuums gegen die Dimension des<br />

E<strong>in</strong>bettungsraumes zeigt Abb. 7.19. Dort ist zum Vergleich auch das Residuum<br />

für die E<strong>in</strong>bettung mit PCA e<strong>in</strong>gezeichnet. Danach sollte sich die<br />

wesentliche Information, die <strong>in</strong> den Blasenbil<strong>der</strong>n steckt, durch Isomap mit<br />

zwei Merkmalen beschreiben lassen. Die H<strong>in</strong>zunahme weiterer Dimensionen<br />

br<strong>in</strong>gt nur noch wenig Gew<strong>in</strong>n. Dies bestätigt sich auch bei <strong>der</strong> Betrachtung<br />

<strong>der</strong> Ergebnisse. Die PCA h<strong>in</strong>gegen schafft es nicht, die wesentliche Struktur<br />

<strong>der</strong> Daten durch die ersten Hauptachsen zu parametrisieren. Daraus lässt<br />

sich also schließen, dass die den Daten zugrunde liegende Mannigfaltigkeit<br />

e<strong>in</strong>e gewisse Nichtl<strong>in</strong>earität aufweist. Abb. 7.20 zeigt die Abbildung <strong>in</strong> e<strong>in</strong>en


7.3 Bildanordnung II: Kavitationsblasen 83<br />

y 2<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

−1<br />

−2<br />

−3<br />

−4<br />

−6 −4 −2 0 2 4<br />

y 1<br />

Abbildung 7.18: Zweidimensionale E<strong>in</strong>bettung <strong>der</strong> Kavitationsblasenbil<strong>der</strong> mit <strong>der</strong><br />

Kern-PCA. Es wurde <strong>der</strong> <strong>in</strong>homogene Polynomkern vom Grad 3 mit c = 1 verwendet.


84 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze<br />

1<br />

0.9<br />

Isomap<br />

PCA<br />

Residuum ρ<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

0<br />

1 2 3 4 5 6 7 8 9 10<br />

E<strong>in</strong>bettungsdimension<br />

Abbildung 7.19: Der Abfall des Residuums durch Erhöhung <strong>der</strong> E<strong>in</strong>bettungsdimension<br />

für PCA und Isomap im Vergleich<br />

zweidimensionalen Merkmalsraum. Hier lassen sich den Achsen im Gegensatz<br />

zur PCA schon eher Merkmale zuordnen: Die Blasen bef<strong>in</strong>den sich im<br />

l<strong>in</strong>ken unteren Teil <strong>der</strong> Abbildung auch <strong>in</strong> den Bil<strong>der</strong>n im l<strong>in</strong>ken unteren<br />

Teil und rechts oben entsprechend <strong>in</strong> den Bil<strong>der</strong>n im rechten oberen Teil.<br />

Dabei stimmen die Richtungen von y 1 und y 2 allerd<strong>in</strong>gs nicht genau mit den<br />

Richtungen übere<strong>in</strong>, <strong>in</strong> denen sich die Blasen ausschließlich horizontal o<strong>der</strong><br />

vertikal bewegen. Diese Richtungen sche<strong>in</strong>en vielmehr L<strong>in</strong>earkomb<strong>in</strong>ationen<br />

von y 1 und y 2 zu se<strong>in</strong> und aus diesen durch Rotation hervorzugehen. Allerd<strong>in</strong>gs<br />

s<strong>in</strong>d die E<strong>in</strong>bettungen, die das klassische MDS f<strong>in</strong>det, gerade <strong>in</strong>variant<br />

unter Rotationen des Koord<strong>in</strong>atensystems, was somit auch für Isomap gilt.<br />

E<strong>in</strong> menschlicher Beobachter denkt natürlich immer ”<br />

kanonisch“und würde<br />

die Bewegung <strong>in</strong> e<strong>in</strong>er Ebene (hier im Blasenbild) durch e<strong>in</strong>en horizontalen<br />

und e<strong>in</strong>en vertikalen Anteil darstellen. E<strong>in</strong> Algorithmus wie Isomap kennt<br />

h<strong>in</strong>gegen ke<strong>in</strong>e solchen bevorzugten Richtungen. Die Achsen y i werden hier<br />

so gewählt, dass sie gerade mit den Hauptachsen <strong>der</strong> E<strong>in</strong>bettungsdaten zusammenfallen,<br />

<strong>der</strong>en Kovarianzmatrix also Diagonalgestalt hat.<br />

Wie schon e<strong>in</strong>gangs erwähnt, lässt sich die E<strong>in</strong>bettung bei Verwendung <strong>der</strong> 13<br />

nächsten Nachbarn jedes Datenpunktes am Besten <strong>in</strong>terpretieren, und wenn<br />

man sich den Abfall <strong>der</strong> Fehlerfunktion <strong>in</strong> Abb. 7.19 anschaut, so sche<strong>in</strong>en<br />

zwei Dimensionen zu genügen, um die wesentliche Struktur <strong>der</strong> Daten zu be-


7.3 Bildanordnung II: Kavitationsblasen 85<br />

8000<br />

6000<br />

4000<br />

2000<br />

0<br />

y 2<br />

−2000<br />

−4000<br />

−6000<br />

−8000<br />

−10000<br />

−1.5 −1 −0.5 0 0.5 1<br />

y 1<br />

x 10 4<br />

Abbildung 7.20: Zweidimensionale E<strong>in</strong>bettung des Kavitationsblasen-Datensatzes mit<br />

Isomap unter Verwendung <strong>der</strong> 13 nächsten Nachbarn jedes Vektors


86 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze<br />

schreiben. Jedoch ist die wirkliche Struktur <strong>der</strong> Mannigfaltigkeit, auf <strong>der</strong> die<br />

Daten liegen, natürlich unbekannt, und die E<strong>in</strong>bettung, die Isomap liefert,<br />

kann nur dann optimal se<strong>in</strong>, wenn <strong>der</strong> aus 13 nächsten Nachbarn gebildete<br />

Graph die Geometrie <strong>der</strong> Mannigfaltigkeit korrekt wi<strong>der</strong>gibt. So ergeben sich<br />

bei an<strong>der</strong>en Werten für die Zahl k <strong>der</strong> Nachbarn entsprechend an<strong>der</strong>e E<strong>in</strong>bettungen.<br />

Für kle<strong>in</strong>ere k lässt sich <strong>in</strong> diesem Beispiel nur <strong>der</strong> y 1 -Richtung<br />

e<strong>in</strong>deutig e<strong>in</strong> Hauptmerkmal zuordnen, nämlich die horizontale Bewegung<br />

<strong>der</strong> Blase. Die y 2 -Richtung stimmt dann jedoch nicht mit <strong>der</strong> vertikalen Bewegung<br />

übere<strong>in</strong>. Bei sehr kle<strong>in</strong>en k von 3 o<strong>der</strong> 4 fällt das Residuum mit<br />

größerer E<strong>in</strong>bettungsdimension auch nicht mehr so stark ab; gleiches gilt für<br />

große k ab etwa 17 aufwärts.<br />

7.3.4 LLE<br />

Für die E<strong>in</strong>bettung mit LLE wurde k = 14 als optimale Anzahl <strong>der</strong> nächsten<br />

Nachbarn gefunden. Der LLE-Algorithmus reagiert aber auch bei diesem Datensatz<br />

empf<strong>in</strong>dlicher auf die richtige“ Wahl von k. Die zweidimensionale<br />

”<br />

E<strong>in</strong>bettung zeigt Abb. 7.21. Der y 1 -Achse entspricht im Wesentlichen die vertikale<br />

Bewegung <strong>der</strong> Blase und <strong>der</strong> y 2 -Achse die horizontale Bewegung, wobei<br />

LLE es aber ansche<strong>in</strong>end nicht geschafft hat, die Mannigfaltigkeit vollständig<br />

auszubreiten“, was man gut an <strong>der</strong> relativ hohen Punktdichte im rechten<br />

”<br />

unteren Teil <strong>der</strong> Abbildung erkennen kann: Die beiden Bil<strong>der</strong> bei (0.2, −0.9)<br />

und (0.9, −0.25) müssten z.B. noch etwas weiter rechts unten platziert werden.<br />

Weiterh<strong>in</strong> fällt auf, dass die Daten fast alle auf dem durch die äußeren<br />

Punkte gebildeten Rand liegen. Für k < 8 liefert LLE überhaupt ke<strong>in</strong>e <strong>in</strong>terpretierbaren<br />

Ergebnisse, und nur für k = 14, 15, 16 ist <strong>in</strong> <strong>der</strong> durch y 1<br />

und y 2 gebildeten Ebene e<strong>in</strong>e Anordnung nach horizontalen und vertikalen<br />

Positionen <strong>der</strong> Blase erkennbar.<br />

7.4 E<strong>in</strong>bettung von Sprachsignalen<br />

In diesem Abschnitt sollen die Dimensionsreduktionsalgorithmen auf Sprachsignale<br />

angewendet werden, um zu sehen, wie sich die Methoden als Vorverarbeitung<br />

für e<strong>in</strong>e Spracherkennung eignen. Der Datensatz enthält die e<strong>in</strong>zeln<br />

gesprochenen Worte ”<br />

Bei“, ”<br />

Aldi“, ”<br />

gab’s“, ”<br />

<strong>in</strong>dische“ und ”<br />

Tischlampen“,<br />

die jeweils von drei verschiedenen männlichen Probanden gesprochen wurden.<br />

3 Die Worte wurden e<strong>in</strong>zeln mit e<strong>in</strong>em Mikrofon aufgezeichnet, wobei e<strong>in</strong><br />

3 Der Satz ”<br />

Bei Aldi gab’s <strong>in</strong>dische Tischlampen“ stammt noch aus <strong>der</strong> Zeit <strong>der</strong> Vordiplomprüfungen,<br />

wo für die Chemie-Prüfung das Periodensystem auswendig gelernt werden


7.4 E<strong>in</strong>bettung von Sprachsignalen 87<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

y 2<br />

0<br />

−0.5<br />

−1<br />

−1.5<br />

−2<br />

−3 −2 −1 0 1 2<br />

y 1<br />

Abbildung 7.21: Zweidimensionale E<strong>in</strong>bettung <strong>der</strong> Kavitationsblasenbil<strong>der</strong> mit LLE<br />

unter Verwendung <strong>der</strong> k = 14 nächsten Nachbarn jedes Vektors


88 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze<br />

Sprecher diese Worte jeweils zehnmal aufgesagt hat und die beiden an<strong>der</strong>en<br />

jeweils fünfmal. Insgesamt besteht <strong>der</strong> Datensatz also aus 100 gesprochenen<br />

Worten. Die Signale s<strong>in</strong>d relativ stark verrauscht. Die Aufzeichnung erfolgte<br />

jeweils mit e<strong>in</strong>er Sampl<strong>in</strong>gfrequenz von 22.05 kHz <strong>in</strong> Mono bei e<strong>in</strong>er Wortbreite<br />

von 16 Bits. Als Input für die Algorithmen wurden diesmal nicht die<br />

Rohdaten verwendet, da hier das Problem <strong>der</strong> zeitlichen Komponente besteht,<br />

denn den eigentlichen Lauten geht aufzeichnungsbed<strong>in</strong>gt immer auch<br />

e<strong>in</strong>e kurze Zeit <strong>der</strong> Stille voraus, die natürlich bei jedem <strong>der</strong> 100 Daten unterschiedlich<br />

ist. Dann steht zu befürchten, dass die Algorithmen diese zeitlichen<br />

Verschiebungen als Hauptmerkmal erkennen, was hier natürlich unerwünscht<br />

ist. Um das Problem zu elim<strong>in</strong>ieren, wurde stattdessen das Leistungsspektrum<br />

jedes Signals bestimmt. Da die Daten alle auch e<strong>in</strong>e unterschiedliche<br />

Länge haben, wurde zuerst die Länge des längsten Signals bestimmt. Alle<br />

an<strong>der</strong>en Signale wurden dann durch H<strong>in</strong>tere<strong>in</strong>an<strong>der</strong>hängen periodisch so<br />

weit fortgeführt, dass sie die gleiche Länge von 39808 Samples aufwiesen.<br />

Vom Leistungsspektrum wurde dann nur das untere Viertel mit den nie<strong>der</strong>frequenten<br />

Anteilen verwendet, da dies zur Unterscheidung genügen sollte<br />

und die oberen Anteile im Wesentlichen Rauschen enthalten. Die Dimension<br />

<strong>der</strong> E<strong>in</strong>gangsdaten beträgt damit 9952.<br />

Da sich die Ergebnisse <strong>der</strong> nichtl<strong>in</strong>earen Methoden hier stark ähneln, sollen<br />

nur die Unterschiede zwischen den l<strong>in</strong>earen und den nichtl<strong>in</strong>earen Methoden<br />

anhand von PCA und Isomap verdeutlicht werden, für die mit dem Residuum<br />

ρ auch e<strong>in</strong>e quantitative Vergleichsmöglichkeit zur Verfügung steht. Abb. 7.22<br />

zeigt die Auftragung des Residuums ρ für beide Verfahren, wobei für Isomap<br />

k = 5 nächste Nachbarn verwendet wurden. Die Grafik legt den Schluss nahe,<br />

dass die Daten im E<strong>in</strong>gaberaum auf e<strong>in</strong>er nichtl<strong>in</strong>earen Mannigfaltigkeit liegen,<br />

da das Residuum für Isomap schneller abfällt. Isomap erreicht mit e<strong>in</strong>er<br />

vierdimensionalen E<strong>in</strong>bettung e<strong>in</strong>e optimale Repräsentation se<strong>in</strong>er paarweisen<br />

approximierten geodätischen Abstände, woraus aber wegen <strong>der</strong> relativ<br />

ger<strong>in</strong>gen Anzahl <strong>der</strong> Datenpunkte sicher nicht geschlossen werden kann, dass<br />

die Punkte wirklich auf e<strong>in</strong>er vierdimensionalen Mannigfaltigkeit liegen.<br />

Die Projektion auf die ersten beiden Hauptachsen für die PCA zeigt Abb.<br />

7.23. Die verschiedenen Farben codieren dabei die unterschiedlichen Worte,<br />

wie <strong>in</strong> <strong>der</strong> Legende gezeigt. Die E<strong>in</strong>bettungsdaten s<strong>in</strong>d jeweils die Punkte im<br />

Plot. Dicht daneben stehen die zugehörigen Buchstaben J, D und U, die die<br />

verschiedenen Sprecher kennzeichnen.<br />

Als Hauptmerkmale kristallisieren sich wohl die unterschiedlichen Worte hermusste,<br />

und war <strong>der</strong> Merksatz für die dritte Hauptgruppe Bor, Alum<strong>in</strong>ium, Gallium, Indium<br />

und Thallium.


7.4 E<strong>in</strong>bettung von Sprachsignalen 89<br />

0.6<br />

Isomap<br />

PCA<br />

Residuum ρ<br />

0.4<br />

0.2<br />

0<br />

1 2 3 4 5 6 7 8 9 10<br />

E<strong>in</strong>bettungsdimension<br />

Abbildung 7.22: Vergleich zwischen l<strong>in</strong>earer PCA und Isomap für die Sprachsignale,<br />

wobei für Isomap die k = 5 nächsten Nachbarn verwendet wurden.<br />

150<br />

100<br />

50<br />

Aldi<br />

Tischlampen<br />

<strong>in</strong>dische<br />

Bei<br />

gab’s<br />

D<br />

D<br />

U<br />

D<br />

U<br />

D<br />

U<br />

U<br />

D<br />

D<br />

U<br />

J<br />

JJ<br />

J<br />

J<br />

J<br />

J<br />

J<br />

J<br />

y 2<br />

0<br />

−50<br />

U U<br />

U<br />

U<br />

JJ<br />

J<br />

D<br />

U<br />

U<br />

J<br />

J<br />

U<br />

JJ<br />

J<br />

J U<br />

U<br />

J<br />

D D<br />

D<br />

J J<br />

J<br />

D<br />

J<br />

J J<br />

J<br />

U<br />

J J<br />

J D<br />

D<br />

D<br />

D D D D<br />

U<br />

U<br />

U<br />

D<br />

U<br />

U<br />

J<br />

J J<br />

U J<br />

J J<br />

J U U<br />

J<br />

U<br />

J J J J<br />

J J<br />

J<br />

J<br />

J<br />

J J<br />

−100<br />

−200 −150 −100 −50 0 50 100<br />

D<br />

y 1<br />

D D D D<br />

Abbildung 7.23: Projektion <strong>der</strong> Sprachsignale auf die ersten beiden Hauptachsen mit<br />

l<strong>in</strong>earer PCA.


90 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze<br />

aus, wobei das Wort ”<br />

gab’s“ relativ deutlich von den an<strong>der</strong>en getrennt wird.<br />

Dies könnte auf das betonte ”<br />

a“ mit se<strong>in</strong>en deutlich ausgeprägten tiefen Frequenzen<br />

zurückzuführen se<strong>in</strong>. Innerhalb dieses Wortes f<strong>in</strong>det auch e<strong>in</strong>e recht<br />

ausgeprägte Trennung nach Sprechern statt, die deutlicher ausfällt als bei<br />

den an<strong>der</strong>en Worten. Aber auch dort werden die Worte getrennt, nur eben<br />

nicht <strong>in</strong> e<strong>in</strong>em nur zwei- o<strong>der</strong> dreidimensionalen E<strong>in</strong>bettungsraum. Dies kann<br />

y 4<br />

80<br />

60<br />

40<br />

20<br />

0<br />

−20<br />

−40<br />

J<br />

J<br />

J<br />

J<br />

J<br />

J<br />

J<br />

J<br />

J<br />

J<br />

J<br />

DJ<br />

J<br />

J J<br />

J<br />

J J J D J D D<br />

D<br />

J J J<br />

J<br />

J D D<br />

J D<br />

D<br />

D D D J D<br />

J<br />

D<br />

J J<br />

J<br />

J<br />

U<br />

J<br />

J<br />

J<br />

JD<br />

J<br />

J J<br />

J J<br />

U J<br />

J<br />

J<br />

U<br />

D D D<br />

D<br />

J<br />

U<br />

J U<br />

D<br />

U<br />

J<br />

U<br />

D<br />

U UUU<br />

U<br />

Aldi<br />

U<br />

−60<br />

U<br />

U U<br />

Tischlampen<br />

U<br />

U<br />

<strong>in</strong>dische<br />

U<br />

−80 Bei<br />

gab’s<br />

U<br />

U<br />

−100<br />

U<br />

−150 −100 −50 0 50 100<br />

y 3<br />

U<br />

U<br />

U<br />

D<br />

D<br />

Abbildung 7.24: Projektion <strong>der</strong> Sprachsignale auf die dritte und vierte Hauptachse mit<br />

l<strong>in</strong>earer PCA<br />

man für die Worte ”<br />

bei“ und ”<br />

Aldi“ sehen, <strong>der</strong>en Koord<strong>in</strong>aten sich bei <strong>der</strong><br />

Projektion auf die ersten beiden Hauptachsen überlappen. Schaut man sich<br />

aber die <strong>in</strong> Abb. 7.24 gezeigte Projektion auf die dritte und vierte Hauptachse<br />

an, so kann man auch hier e<strong>in</strong>e deutliche Trennung <strong>in</strong>sbeson<strong>der</strong>e zwischen<br />

diesen beiden von Proband J gesprochenen Worten erkennen.<br />

Für Isomap liegt die untere Grenze für die Anzahl <strong>der</strong> nächsten Nachbarn<br />

bei k = 4. Für k = 3 zerfällt <strong>der</strong> Nachbarschaftsgraph nämlich <strong>in</strong> drei Zusammenhangskomponenten,<br />

so dass Isomap ke<strong>in</strong>e E<strong>in</strong>bettung mehr für alle<br />

Punkte f<strong>in</strong>den kann, son<strong>der</strong>n nur noch für die Punkte e<strong>in</strong>er Zusammenhangskomponente.<br />

Bei <strong>der</strong> Isomap-E<strong>in</strong>bettung fällt e<strong>in</strong>e stärkere Clusterung <strong>der</strong><br />

verschiedenen Worte auf. Man kann hier schon <strong>in</strong> vier E<strong>in</strong>bettungsdimensionen<br />

für jede Konstellation aus Sprechern und Worten Projektionen auf e<strong>in</strong>e<br />

Ebene f<strong>in</strong>den, <strong>in</strong> <strong>der</strong> diese Konstellation getrennt wird. Für die sich <strong>in</strong> <strong>der</strong>


7.4 E<strong>in</strong>bettung von Sprachsignalen 91<br />

y 2<br />

800<br />

600<br />

400<br />

200<br />

0<br />

−200<br />

−400<br />

−600<br />

J<br />

J<br />

D<br />

J<br />

J<br />

U<br />

U<br />

JD<br />

D<br />

D<br />

U U<br />

J<br />

U<br />

J<br />

D<br />

U<br />

J<br />

J<br />

D<br />

JU<br />

D<br />

D D<br />

D<br />

D<br />

UJ<br />

J<br />

U<br />

U<br />

U JJ<br />

J J<br />

−800<br />

−1000 −500 0 500 1000<br />

D D<br />

y 1<br />

D D D<br />

J<br />

D D<br />

J<br />

U<br />

U<br />

J<br />

J J<br />

D<br />

J<br />

J<br />

U<br />

D<br />

U<br />

U<br />

D<br />

D<br />

Aldi<br />

Tischlampen<br />

<strong>in</strong>dische<br />

Bei<br />

gab’s<br />

J<br />

U<br />

J<br />

J<br />

JJJ<br />

J<br />

Abbildung 7.25: Projektion <strong>der</strong> Sprachdaten auf die ersten beiden von Isomap für k = 5<br />

gefundenen Hauptachsen.<br />

(y 1 , y 2 )-Ebene überlappenden grünen und blauen Punkte des Sprechers J ist<br />

dies z.B. die Projektion auf die (y 1 , y 4 )-Ebene, die <strong>in</strong> Abb. 7.26 gezeigt ist.<br />

Abschließend kann man sagen, dass auch für dieses Beispiel gesprochener<br />

Worte die nichtl<strong>in</strong>earen Methoden den l<strong>in</strong>earen überlegen s<strong>in</strong>d. Mit fortgeschritteneren<br />

Methoden zur Vorverarbeitung <strong>der</strong> Daten lassen sich sicherlich<br />

noch viel bessere Ergebnisse erzielen. Dieses Beispiel soll auch nur die pr<strong>in</strong>zipielle<br />

Anwendbarkeit <strong>der</strong> <strong>Dimensionsreduktionsmethoden</strong> auch auf Sprachdaten<br />

zeigen. Der Clou ist hier die Universalität <strong>der</strong> Methoden. Spezielle<br />

Verfahren, die z.B. <strong>in</strong> <strong>der</strong> Sprachsteuerung zum E<strong>in</strong>satz kommen und ganze<br />

Sätze erkennen können, müssen schließlich erst e<strong>in</strong>mal auf e<strong>in</strong>en bestimmten<br />

Sprecher tra<strong>in</strong>iert werden und s<strong>in</strong>d dann auch nur für diesen ganz speziellen<br />

E<strong>in</strong>satzzweck anwendbar.


92 Anwendung <strong>der</strong> Algorithmen auf verschiedene Datensätze<br />

y 4<br />

500<br />

400<br />

300<br />

200<br />

100<br />

0<br />

−100<br />

−200<br />

J<br />

DJ<br />

J<br />

J<br />

D<br />

U<br />

JD<br />

U<br />

J<br />

D<br />

DUU<br />

U<br />

J<br />

J<br />

U<br />

U<br />

U<br />

U<br />

U<br />

D U<br />

U<br />

D<br />

J<br />

D J J<br />

DJ<br />

J D<br />

J DJ<br />

D<br />

D JU<br />

D<br />

D<br />

D J<br />

D J<br />

J<br />

UJ<br />

J<br />

D<br />

D<br />

U<br />

D<br />

U<br />

Aldi<br />

Tischlampen<br />

<strong>in</strong>dische<br />

Bei<br />

gab’s<br />

J<br />

J<br />

U<br />

J<br />

JJ<br />

J<br />

−300<br />

−400<br />

J<br />

DJ<br />

J J<br />

−500<br />

J JJ<br />

−1000 −500 0 500 1000<br />

y 1<br />

J<br />

Abbildung 7.26: Projektion <strong>der</strong> Sprachdaten auf die (y 1 , y 4 )-Ebene <strong>der</strong> Isomap-<br />

E<strong>in</strong>bettung.


Kapitel 8<br />

Zusammenfassung und Ausblick<br />

Dimensionsreduktion ist e<strong>in</strong>e Form von unbeaufsichtigtem Lernen, die dazu<br />

dient, automatisch kompakte (niedrigdimensionale) Repräsentationen von<br />

hochdimensionalen Daten zu f<strong>in</strong>den. Dies ist immer dann möglich, wenn starke<br />

und zahlreiche Korrelationen im Datensatz die Anzahl <strong>der</strong> Freiheitsgrade<br />

<strong>der</strong> Datenpunkte e<strong>in</strong>schränken, was dazu führt, dass diese auf Untermannigfaltigkeiten<br />

niedrigerer Dimension liegen. Diese Mannigfaltigkeiten s<strong>in</strong>d<br />

<strong>in</strong> manchen Fällen l<strong>in</strong>ear, sehr oft unterliegt ihnen aber e<strong>in</strong>e nichtl<strong>in</strong>eare<br />

Geometrie. E<strong>in</strong>ige Verfahren zur Dimensionsreduktion wurden <strong>in</strong> dieser Arbeit<br />

vorgestellt und anhand verschiedener Datensätze mite<strong>in</strong>an<strong>der</strong> verglichen:<br />

PCA und MDS als l<strong>in</strong>eare Methoden, Kern-PCA als nichtl<strong>in</strong>eare Erweiterung<br />

<strong>der</strong> PCA und schließlich Isomap und LLE als weitere nichtl<strong>in</strong>eare Methoden.<br />

Dabei zeigt es sich, dass die l<strong>in</strong>earen Verfahren durchaus ihre Berechtigung<br />

besitzen. Die PCA f<strong>in</strong>det Hauptachsen als Richtungen maximaler Varianz<br />

im E<strong>in</strong>gaberaum, die durch e<strong>in</strong>e orthogonale Transformation aus <strong>der</strong> kanonischen<br />

Basis des E<strong>in</strong>gaberaumes hervorgehen. Das geht immer, weshalb die<br />

PCA zum Standardrepertoire an Methoden gehören und immer zuerst ausprobiert<br />

werden sollte, denn sie zeichnet sich durch e<strong>in</strong>fache Berechenbarkeit<br />

aus und liefert auch bei problematischen Verteilungen <strong>der</strong> Daten wie z.B.<br />

starken Clusterungen brauchbare Ergebnisse, bei denen nachbarschaftsbasierte<br />

Algorithmen wie Isomap o<strong>der</strong> LLE ihre Probleme haben. Im Falle von<br />

l<strong>in</strong>earen Mannigfaltigkeiten liefert die PCA außerdem optimale E<strong>in</strong>bettungen<br />

<strong>in</strong> dem S<strong>in</strong>ne, dass es für e<strong>in</strong>e beliebige E<strong>in</strong>bettungsdimension ke<strong>in</strong>e an<strong>der</strong>en<br />

orthogonalen Richtungen gibt, die mehr Varianz enthalten als die ersten<br />

Hauptachsen.<br />

Die Kern-PCA h<strong>in</strong>terlässt e<strong>in</strong>en zwiespältigen E<strong>in</strong>druck: Obwohl theoretisch<br />

sehr elegant und unter Verwendung von nichtl<strong>in</strong>earen Kernfunktionen <strong>in</strong> <strong>der</strong>


94 Zusammenfassung und Ausblick<br />

Lage, auch Hauptachsen zu f<strong>in</strong>den, die nichtl<strong>in</strong>earen Richtungen im E<strong>in</strong>gaberaum<br />

entsprechen, liefert sie oft ke<strong>in</strong>e zufriedenstellenden Ergebnisse. Das<br />

Problem ist hier, dass meist nicht klar ist, wie die Kernfunktionen auf die<br />

Geometrie des Merkmalsraums wirken. Damit steht man aber vor e<strong>in</strong>em Problem,<br />

denn die Idee ist ja gerade, solche Kernfunktionen zu wählen, die die<br />

auf <strong>der</strong> nichtl<strong>in</strong>earen Mannigfaltigkeit im E<strong>in</strong>gaberaum liegenden Daten auf<br />

e<strong>in</strong>e l<strong>in</strong>eare Mannigfaltigkeit gleicher <strong>in</strong>tr<strong>in</strong>sischer Dimension im Merkmalsraum<br />

abbilden. Mit ke<strong>in</strong>em <strong>der</strong> Standardkerne war es so möglich, die Punkte<br />

aus dem Swiss Roll Datensatz unter Wahrung <strong>der</strong> geodätischen Abstandsverhältnisse<br />

zweidimensional e<strong>in</strong>zubetten. Selbst, wenn es e<strong>in</strong>en Kern gibt,<br />

<strong>der</strong> dies leistet, so ist es unklar, wie dieser auszusehen hat, und dass, obwohl<br />

die Swiss Roll e<strong>in</strong> Beispiel ist, bei <strong>der</strong> man die Geometrie ”<br />

sehen“ kann.<br />

Bei ähnlich stark gekrümmten, höherdimensionalen Mannigfaltigkeiten dürfte<br />

dieses Unterfangen aussichtslos se<strong>in</strong>.<br />

Im Gegensatz dazu ist bei Isomap das Funktionspr<strong>in</strong>zip, geodätische Abstände<br />

über e<strong>in</strong>e Summe von euklidischen Abständen über Nachbarn zu approximieren,<br />

<strong>in</strong>tuitiv sehr leicht zugänglich. Isomap lieferte meist am ehesten<br />

E<strong>in</strong>bettungen mit solchen Anordnungen, wie man sie <strong>in</strong>tuitiv erwarten<br />

würde. So wurde die Swiss Roll nahezu perfekt ”<br />

ausgerollt“, und auch<br />

bei den Webcam-Bil<strong>der</strong>n entstand e<strong>in</strong>e Anordnung, die so o<strong>der</strong> so ähnlich<br />

wohl auch e<strong>in</strong> menschlicher Proband liefern würde. Problematisch bei Isomap<br />

aber ist, dass die Berechnung <strong>der</strong> kürzesten Wege stärker als quadratisch<br />

mit <strong>der</strong> Anzahl <strong>der</strong> Punkte skaliert, was den Rechenaufwand für große<br />

Datenmengen explodieren lässt. Außerdem muss e<strong>in</strong>e Matrix mit den paarweisen<br />

Abständen aller Datenpunkte erstellt werden, was bedeutet, dass <strong>der</strong><br />

Speicherbedarf quadratisch mit <strong>der</strong> Anzahl <strong>der</strong> Datenpunkte wächst. Weiterh<strong>in</strong><br />

s<strong>in</strong>d für N Datenpunkte (die größten) Eigenwerte und -vektoren e<strong>in</strong>er<br />

vollbesetzten N × N-Matrix zu berechnen.<br />

Auch LLE liefert <strong>in</strong> den meisten Fällen E<strong>in</strong>bettungen, wie man sie <strong>in</strong>tuitiv<br />

erwarten würde. Durch die lokal l<strong>in</strong>earen Approximationen <strong>der</strong> Mannigfaltigkeit,<br />

<strong>der</strong>en Anzahl nur l<strong>in</strong>ear mit <strong>der</strong> Anzahl <strong>der</strong> Datenpunkte skaliert, wird<br />

das schlecht skalierende Problem von Isomap vermieden, die kürzesten Wege<br />

<strong>in</strong> e<strong>in</strong>em Graphen f<strong>in</strong>den zu müssen. E<strong>in</strong> weiterer Vorteil ist, dass hier nur<br />

e<strong>in</strong> dünnbesetztes Eigenwertproblem zu lösen ist, bei dem man die entsprechende<br />

Matrix gar nicht explizit ausrechnen bzw. speichern muss und für das<br />

effiziente Verfahren zur Verfügung stehen. Vom theoretischen Standpunkt gesehen<br />

ist LLE daher sicher eleganter als Isomap. In <strong>der</strong> Praxis reagiert LLE<br />

aber oft empf<strong>in</strong>dlicher auf die Anzahl <strong>der</strong> verwendeten nächsten Nachbarn,<br />

so dass Isomap <strong>in</strong>sgesamt robuster ersche<strong>in</strong>t. Möglicherweise lässt sich die<br />

lokale Geometrie bei LLE aber auch mit an<strong>der</strong>en als den verwendeten Koef-


95<br />

fizienten charakterisieren, die nicht so empf<strong>in</strong>dlich auf Anzahl und Lage <strong>der</strong><br />

Nachbarn reagieren.<br />

Die Frage stellt sich nun, was man mit den dimensionsreduzierten Daten<br />

anfangen kann. Das Ziel ist, nur diese Daten speichern zu müssen und die<br />

ursprünglichen hochdimensionalen Daten verwerfen zu können. Dann ergibt<br />

sich aber e<strong>in</strong> Problem, wenn man neue hochdimensionale Daten z.B. <strong>in</strong> Form<br />

von Messwerten vom gleichen System bekommt, die somit im gleichen niedrigdimensionalen<br />

E<strong>in</strong>bettungsraum angeordnet werden sollen. Was man also<br />

braucht, ist e<strong>in</strong>e explizite Abbildung vom E<strong>in</strong>gaberaum <strong>in</strong> den Merkmalsraum.<br />

Pr<strong>in</strong>zipiell lässt sich das Bild e<strong>in</strong>es Punktes aus dem E<strong>in</strong>gaberaum<br />

zwar approximativ z.B. durch Interpolation über die Bil<strong>der</strong> <strong>der</strong> benachbarten<br />

Punkte im E<strong>in</strong>gaberaum bestimmen, aber dann braucht man ja auch<br />

die hochdimensionalen Daten, um die Nachbarn bestimmen zu können. E<strong>in</strong>e<br />

bessere Möglichkeit wäre sicher, nach <strong>der</strong> Dimensionsreduktion <strong>der</strong> alten<br />

Daten die Punktepaare (x i , y i ) <strong>der</strong> E<strong>in</strong>gangsdaten und zugehörigen Bil<strong>der</strong><br />

zu verwenden, um mit an<strong>der</strong>en Methoden <strong>der</strong> <strong>Nichtl<strong>in</strong>eare</strong>n Dynamik, wie<br />

z.B. mit Verfahren <strong>der</strong> Modellbildung, e<strong>in</strong> Modell für e<strong>in</strong>e Abbildung <strong>in</strong> den<br />

Merkmalsraum zu bestimmen. Dann muss man nur das Modell behalten und<br />

benötigt nicht mehr die hochdimensionalen E<strong>in</strong>gangsdaten.


Anhang A<br />

Ergänzungen zur Theorie<br />

A.1 Stochastische Grundlagen<br />

E<strong>in</strong> Experiment, das (zum<strong>in</strong>dest im Pr<strong>in</strong>zip) beliebig oft wie<strong>der</strong>holt werden<br />

und bei dem man das Ergebnis nicht exakt vorhersagen kann, bezeichnet man<br />

als Zufallsexperiment. Die Menge aller möglichen Ergebnisse e<strong>in</strong>es Zufallsexperiments<br />

heißt Grundraum o<strong>der</strong> Ereignisraum und wird mit dem Symbol Ω<br />

bezeichnet.<br />

(Zufällige) Ereignisse s<strong>in</strong>d Teilmengen von Ω; e<strong>in</strong>elementige Ereignisse nennt<br />

man auch Elementarereignisse. Man sagt, ”<br />

das Ereignis A ist e<strong>in</strong>getreten“,<br />

wenn das Ergebnis des Zufallsexperiments e<strong>in</strong> Element von A ist. Als Beispiel<br />

kann man den e<strong>in</strong>maligen Würfelwurf betrachten: Hier ist Ω = {1, 2, 3, 4, 5, 6},<br />

e<strong>in</strong> Elementarereignis ist das Ergebnis e<strong>in</strong>es Wurfes und das Ereignis ”<br />

Resultat<br />

ist e<strong>in</strong>e gerade Zahl“ ist A = {2, 4, 6}.<br />

Man kann zwar nicht das Ergebnis e<strong>in</strong>es Zufallsexperiments voraussagen,<br />

jedoch kann man die relative Häufigkeit h n (A) bestimmen, mit <strong>der</strong> e<strong>in</strong> bestimmtes<br />

Ereignis A e<strong>in</strong>tritt. Als solche def<strong>in</strong>iert man den Quotient aus <strong>der</strong><br />

absoluten Häufigkeit N A (n) des E<strong>in</strong>tretens von A bei n-maliger Wie<strong>der</strong>holung<br />

des Experimentes und <strong>der</strong> Anzahl <strong>der</strong> Wie<strong>der</strong>holungen:<br />

h n (A) = N A(n)<br />

n<br />

. (A.1)<br />

Bei sehr häufiger Wie<strong>der</strong>holung des Experimentes stellt man fest, dass <strong>der</strong><br />

Wert für die relative Häufigkeit gegen e<strong>in</strong>en festen Grenzwert strebt. Hierüber<br />

lässt sich nun die Wahrsche<strong>in</strong>lichkeit P (A) für das Auftreten des Ereignisses


A.1 Stochastische Grundlagen 97<br />

A def<strong>in</strong>ieren:<br />

P (A) = lim<br />

n→∞<br />

h n = lim<br />

n→∞<br />

N A (n)<br />

n<br />

. (A.2)<br />

Auf diese Art und Weise kann man jedem Ereignis e<strong>in</strong>es Zufallsexperimentes<br />

e<strong>in</strong>e Wahrsche<strong>in</strong>lichkeit zuordnen, die durch die Kolmogoroff’schen Axiome<br />

vollständig charakterisiert wird:<br />

Positivität: P (A) ≥ 0 ∀A ⊂ Ω (A.3)<br />

Normiertheit: P (Ω) = 1 (A.4)<br />

σ-Additivität: P (A ∪ B) = P (A) + P (B) ∀A, B ⊂ Ω, (A.5)<br />

A ∩ B = ∅<br />

Bei e<strong>in</strong>em Zufallsexperiment, bei dem nur endlich viele, gleichwahrsche<strong>in</strong>liche<br />

Ergebnisse möglich s<strong>in</strong>d, ist die Wahrsche<strong>in</strong>lichkeit für das E<strong>in</strong>treten e<strong>in</strong>es<br />

Ereignisses A gegeben durch den Quotient aus <strong>der</strong> Anzahl <strong>der</strong> Elemente von<br />

A und <strong>der</strong> Anzahl <strong>der</strong> <strong>in</strong>sgesamt möglichen Ergebnisse:<br />

P (A) = |A|<br />

|Ω|<br />

(A.6)<br />

Die Ergebnisse e<strong>in</strong>es Zufallsexperimentes müssen nicht notwendigerweise reelle<br />

Zahlen se<strong>in</strong>: Beim Münzwurf ist z.B. Ω = {Kopf, Zahl}. Man benötigt<br />

deshalb e<strong>in</strong>e Funktion, die jedem Ereignis s<strong>in</strong>nvoll e<strong>in</strong>e reelle Zahl zuordnet,<br />

über die man den Ereignissen Wahrsche<strong>in</strong>lichkeiten zuordnen kann. E<strong>in</strong>e solche<br />

Funktion<br />

X : Ω → R<br />

(A.7)<br />

bezeichnet man als Zufallsvariable. Der Wert x, den die Zufallsvariable X bei<br />

<strong>der</strong> Durchführung des Experimentes annimmt, heißt Realisation von X.<br />

Je<strong>der</strong> möglichen Realisation x i , i ∈ N, von X lässt sich nun wie<strong>der</strong> e<strong>in</strong>e<br />

Wahrsche<strong>in</strong>lichkeit p(x i ) zuordnen, wobei gelten muss 1<br />

∑<br />

p(x i ) = 1 .<br />

i∈N<br />

(A.8)<br />

Weiterh<strong>in</strong> def<strong>in</strong>iert man den Erwartungswert o<strong>der</strong> Mittelwert E(X) von X<br />

durch<br />

E(X) = ∑ x i · p(x i ) .<br />

(A.9)<br />

i∈N<br />

1 Dabei wird angenommen, dass Ω endlich o<strong>der</strong> abzählbar unendlich ist.


98 Ergänzungen zur Theorie<br />

Der Erwartungswert wird auch oft kurz mit µ bezeichnet. E<strong>in</strong>e ebenfalls sehr<br />

wichtige stochastische Kenngröße ist die Varianz Var(X), die def<strong>in</strong>iert ist als<br />

Var(X) = E ( [X − E(X)] 2)<br />

(A.10)<br />

und für die man häufig das Symbol σ 2 benutzt. Die Quadratwurzel σ =<br />

√<br />

Var(X) <strong>der</strong> Varianz heißt Standardabweichung von X. Varianz bzw. Standardabweichung<br />

s<strong>in</strong>d e<strong>in</strong> Maß für die Größe <strong>der</strong> Streuungen um den Erwartungswert.<br />

Im Folgenden werden nun Kenngrößen beschrieben, die den Zusammenhang<br />

zweier Zufallsvariablen X und Y beschreiben. E<strong>in</strong>e solche Größe ist die Kovarianz,<br />

def<strong>in</strong>iert durch<br />

Cov(X, Y ) = E ([X − E(X)][Y − E(Y )]) .<br />

(A.11)<br />

Hat die Kovarianz den Wert Null, so s<strong>in</strong>d X und Y unkorreliert.<br />

Die Kovarianz ist nicht <strong>in</strong>variant unter l<strong>in</strong>earen Transformationen <strong>der</strong> Zufallsvariablen,<br />

denn es gilt<br />

Cov(αX + β, γY + δ) = αγ Cov(X, Y ) .<br />

(A.12)<br />

E<strong>in</strong>e unter solchen l<strong>in</strong>earen Transformationen <strong>in</strong>variante Größe h<strong>in</strong>gegen ist<br />

die Korrelation<br />

Corr(X, Y ) =<br />

Cov(X, Y )<br />

√<br />

Var(X) ·<br />

√<br />

Var(Y )<br />

,<br />

(A.13)<br />

<strong>der</strong>en Wert immer <strong>in</strong> [−1, 1] liegt.<br />

A.2 Etwas Graphentheorie<br />

Mit Hilfe von Algorithmen auf Graphen lassen sich Fragen beantworten wie<br />

” Wie kommt man am Schnellsten von Stadt x zu Stadt y?“ o<strong>der</strong> Wie müssen<br />

”<br />

die Bauteile e<strong>in</strong>er elektronischen Schaltung auf e<strong>in</strong>er Plat<strong>in</strong>e angeordnet werden,<br />

so dass die Gesamtlänge aller Leiterbahnen möglichst kurz ist?“. E<strong>in</strong><br />

weiteres Problem, das sich mit den Mitteln <strong>der</strong> Graphentheorie lösen lässt,<br />

ist das berühmte Königsberger Brückenproblem. Abb. A.1(a) zeigt e<strong>in</strong>en Ausschnitt<br />

aus dem Stadtplan von Königsberg. Das Problem besteht dar<strong>in</strong> zu<br />

entscheiden, ob es e<strong>in</strong>en Rundweg durch Königsberg gibt, <strong>der</strong> jede <strong>der</strong> sieben<br />

Brücken genau e<strong>in</strong>mal überquert. Dass dies unmöglich ist, wurde bereits 1736


A.2 Etwas Graphentheorie 99<br />

Norden<br />

Pregel<br />

Insel<br />

Neuer Pregel<br />

Osten<br />

N<br />

O<br />

Süden<br />

Alter Pregel<br />

S<br />

(a)<br />

(b)<br />

Abbildung A.1: Die Königsberger Brücken (a) und <strong>der</strong> zugehörige Graph (b)<br />

von Euler bewiesen, <strong>der</strong> mit se<strong>in</strong>er Arbeit die Graphentheorie begründete.<br />

Abb. A.1(b) zeigt den entsprechenden Graphen. E<strong>in</strong> Graph repräsentiert die<br />

wesentliche Struktur des Problems, hier also die beson<strong>der</strong>e Verb<strong>in</strong>dungsstruktur<br />

<strong>der</strong> e<strong>in</strong>zelnen Stadtteile, ohne unbedeutende Nebenaspekte zu berücksichtigen.<br />

Die Stadtteile werden durch Punkte dargestellt und die Brücken durch<br />

Verb<strong>in</strong>dungsl<strong>in</strong>ien zwischen den Punkten. Die Punkte s<strong>in</strong>d die Knoten des<br />

Graphen und die Verb<strong>in</strong>dungsl<strong>in</strong>ien die Kanten. Die Knoten werden <strong>in</strong> <strong>der</strong><br />

Knotenmenge V zusammengefasst und die Kanten <strong>in</strong> <strong>der</strong> Kantenmenge E.<br />

Die Kante e = (v, v ′ ) verb<strong>in</strong>det dabei die Knoten v und v ′ . Durch Kanten verbundene<br />

Knoten werden <strong>in</strong> dieser Arbeit stets als benachbart bezeichnet; die<br />

Nachbarn von v s<strong>in</strong>d alle Knoten, die mit v durch e<strong>in</strong>e Kante verbunden s<strong>in</strong>d. 2<br />

Der Graph G wird dann formal dargestellt durch G = (V, E). E<strong>in</strong> Graph, bei<br />

dem die Verb<strong>in</strong>dungsl<strong>in</strong>ien <strong>in</strong> beiden Richtungen durchlaufen werden dürfen,<br />

heißt ungerichteter Graph. 3 G ′ = (V ′ , E ′ ) heißt Teilgraph von G, falls V ′ ⊆ V<br />

und E ′ ⊆ E. Für V ′ ⊆ V <strong>in</strong>duziert V ′ den Untergraph (V ′ , E ∩ (V ′ × V ′ ))<br />

von G, <strong>der</strong> nur aus den Kanten von E besteht, die Knoten aus V ′ verb<strong>in</strong>den.<br />

E<strong>in</strong> Weg p von v 0 nach v k mit v 0 , v k ∈ V wird beschrieben durch e<strong>in</strong>e Folge<br />

2 In <strong>der</strong> Literatur werden die durch e<strong>in</strong>e Kante e verbundenen Knoten v und v ′ als<br />

adjazent bezeichnet. v und v ′ heißen mit e <strong>in</strong>zident; ebenso heißt e mit v und v ′ <strong>in</strong>zident<br />

(vgl. [22]).<br />

3 Im Gegensatz dazu spricht man von e<strong>in</strong>em gerichteten Graph, wenn bestimmte Verb<strong>in</strong>dungsrichtungen<br />

ausgezeichnet s<strong>in</strong>d. In diesem Fall werden die Kanten durch Pfeile<br />

ersetzt, wobei e = (v, v ′ ) <strong>der</strong> Pfeil von Knoten v nach Knoten v ′ ist, <strong>der</strong> nur <strong>in</strong> Richtung<br />

von v nach v ′ durchlaufen werden darf, falls nicht auch <strong>der</strong> Pfeil e ′ = (v ′ , v) <strong>in</strong> V enthalten<br />

ist.


100 Ergänzungen zur Theorie<br />

p = (v 0 , . . . , v k ) von Knoten, wobei die entsprechenden Kanten alle <strong>in</strong> <strong>der</strong><br />

Kantenmenge enthalten se<strong>in</strong> müssen: (v i , v i+1 ) ∈ V ∀i = 0, . . . , k − 1. Der<br />

Graph G = (V, E) heißt genau dann zusammenhängend, wenn es für jedes<br />

Knotenpaar (v, v ′ ) ∈ V × V e<strong>in</strong>en Weg von v nach v ′ gibt. Als Zusammenhangskomponente<br />

o<strong>der</strong> connected component bezeichnet man den bezüglich<br />

Mengen<strong>in</strong>klusion maximalen Untergraph von G. Ist für G e<strong>in</strong>e Bewertungsfunktion<br />

c : E → R + 0 def<strong>in</strong>iert, die die Kantenmenge auf die nichtnegativen<br />

reellen Zahlen abbildet, so ist G e<strong>in</strong> Distanzgraph. Für e ∈ E heißt dann<br />

c(e) die Länge <strong>der</strong> Kante e. Die Länge des Weges p = (v 0 , . . . , v k ) ist damit<br />

c(p) = ∑ k−1<br />

i=0 c((v i, v i+1 )). E<strong>in</strong>e weitere Größe bei Distanzgraphen ist die<br />

Entfernung o<strong>der</strong> Distanz d(v, v ′ ) zweier Knoten v, v ′ ∈ V . Diese ist def<strong>in</strong>iert<br />

durch d(v, v ′ ) = m<strong>in</strong>{c(p) | p ist Weg von v nach v ′ }, falls e<strong>in</strong> Weg von v<br />

nach v ′ existiert, und d(v, v ′ ) = ∞, falls ke<strong>in</strong> solcher Weg existiert. Schließlich<br />

heißt e<strong>in</strong> Weg p kürzester Weg sp(v 0 , v k ) von v 0 nach v k , falls dessen<br />

Länge mit <strong>der</strong> Distanz <strong>der</strong> beiden Knoten v 0 und v k übere<strong>in</strong>stimmt, also<br />

c(p) = d(v 0 , v k ) gilt.<br />

Im Folgenden soll das Problem behandelt werden, zu e<strong>in</strong>em gegebenen Distanzgraph<br />

G = (V, E) mit Bewertungsfunktion c : E → R + 0 von e<strong>in</strong>em<br />

Anfangsknoten s ∈ V die kürzesten Wege zu allen an<strong>der</strong>en Knoten v ∈ V<br />

zu f<strong>in</strong>den. In <strong>der</strong> Literatur ist dieses Problem unter den Namen s<strong>in</strong>gle source<br />

shortest paths o<strong>der</strong> one-to-all shortest paths bekannt. Abb. A.2 zeigt e<strong>in</strong><br />

1<br />

2<br />

9<br />

4<br />

15 6<br />

7<br />

6 15 2 3<br />

11<br />

15<br />

8 4 9<br />

6<br />

2<br />

3 1<br />

2<br />

5<br />

1<br />

4<br />

Abbildung A.2: Beispiel für e<strong>in</strong>en Distanzgraph<br />

Beispiel für e<strong>in</strong>en Distanzgraph. 4 Die Knoten s<strong>in</strong>d <strong>in</strong> fetten Ziffern durchnummeriert,<br />

und neben den Kanten stehen die entsprechenden Längen. E<strong>in</strong>e<br />

naive Möglichkeit, den kürzesten Weg zwischen zwei beliebigen Knoten zu f<strong>in</strong>den,<br />

ist natürlich die, e<strong>in</strong>fach alle möglichen Wege durchzuprobieren und sich<br />

4 Dieses Beispiel stammt aus [22].


A.2 Etwas Graphentheorie 101<br />

jeweils den aktuell kürzesten zu merken, so dass man am Ende den kürzesten<br />

aller möglichen Wege gefunden hat. Dies ist aber höchstens für e<strong>in</strong>ige wenige<br />

Knoten praktikabel. Wesentlich effizienter lässt sich dieses Problem mit dem<br />

Algorithmus von Dijkstra lösen, den dieser bereits 1959 vorgeschlagen hat<br />

(vgl. [22], [9]).<br />

A.2.1<br />

Der Algorithmus von Dijkstra<br />

Dieser Algorithmus nutzt das Optimalitätspr<strong>in</strong>zip von kürzesten Wegen aus:<br />

Ist p = (v 0 , . . . , v k ) e<strong>in</strong> kürzester Weg von v 0 nach v k , so ist offensichtlich auch<br />

je<strong>der</strong> Teilweg p ′ = (v i , . . . , v j ) mit 0 ≤ v i < v j ≤ k e<strong>in</strong> kürzester Weg von<br />

v i nach v j . Dadurch können aus bereits bekannten kürzesten Wegen durch<br />

H<strong>in</strong>zunahme e<strong>in</strong>zelner Kanten sukzessive neue kürzeste Wege zwischen weiter<br />

entfernten Knoten berechnet werden. Genauer gelten folgende beiden Regeln:<br />

1. Für alle kürzesten Wege sp(s, v) und Kanten (v, v ′ ) gilt:<br />

c(sp(s, v)) + c((v, v ′ )) ≥ c(sp(s, v ′ )) .<br />

(A.14)<br />

2. Für m<strong>in</strong>destens e<strong>in</strong>en kürzesten Weg sp(s, v) und e<strong>in</strong>e Kante (v, v ′ ) gilt:<br />

c(sp(s, v)) + c((v, v ′ )) = c(sp(s, v ′ )) .<br />

(A.15)<br />

Regel 1 besagt also, dass die Länge des kürzesten Weges von e<strong>in</strong>em Knoten<br />

s zu e<strong>in</strong>em Nachbarknoten v von v ′ plus die Länge <strong>der</strong> Kante von v nach<br />

v ′ m<strong>in</strong>destens so groß ist wie <strong>der</strong> kürzeste Weg direkt von s nach v ′ . Regel<br />

2 h<strong>in</strong>gegen besagt, dass sich je<strong>der</strong> kürzeste Weg von s nach v ′ darstellen<br />

lässt durch e<strong>in</strong>en kürzesten Weg von s zu e<strong>in</strong>em Nachbar v von v ′ und die<br />

entsprechende Kante zwischen v und v ′ , falls v ′ nicht schon Nachbar von s<br />

ist.<br />

Wenn man nun die kürzesten Wege von e<strong>in</strong>em beliebigen Knoten s ∈ V zu<br />

allen an<strong>der</strong>en Knoten v ∈ V bestimmen will, so kann man jeden Knoten<br />

v ∈ V e<strong>in</strong>er von drei Klassen zuordnen: Die Menge S <strong>der</strong> gewählten Knoten<br />

ist diejenige Untermenge S ⊆ V , für die schon e<strong>in</strong> kürzester Weg bekannt ist.<br />

Die Randmenge R ⊆ V enthält die Knoten, für die e<strong>in</strong> Weg von s bekannt<br />

ist, und die Menge <strong>der</strong> unerreichten Knoten enthält alle Knoten, zu denen<br />

noch ke<strong>in</strong> Weg von s aus bekannt ist. Damit lässt sich <strong>der</strong> Algorithmus von<br />

Dijkstra folgen<strong>der</strong>weise formulieren:


102 Ergänzungen zur Theorie<br />

Algorithmus A.1 F<strong>in</strong>den kürzester Wege nach Dijkstra (1959)<br />

1: {Initialisierung:}<br />

2: {anfangs s<strong>in</strong>d alle Knoten außer s unerreicht:}<br />

3: for all v ∈ V \ {s} do<br />

4: v.Entfernung := ∞;<br />

5: v.gewählt := false;<br />

6: end for<br />

7: {s ist gewählter Knoten:}<br />

8: s.Entfernung := 0;<br />

9: s.gewählt := true;<br />

10: {alle Nachbarn von s gehören zum Rand R:}<br />

11: R := ∅;<br />

12: ergänze R bei s;<br />

13: {berechne Wege ab s:}<br />

14: while R ≠ ∅ do<br />

15: {wähle nächstgelegenen Randknoten:}<br />

16: wähle v ∈ R mit v.Entfernung m<strong>in</strong>imal und entferne v aus R;<br />

17: v.gewählt := true;<br />

18: ergänze R bei v;<br />

19: end while<br />

Die Prozedur zum Ergänzen des Randes bei e<strong>in</strong>em gewählten Knoten <strong>in</strong> den<br />

Zeilen 12 und 18 besteht dar<strong>in</strong>, alle Nachbarn von s bzw. v, die bisher noch<br />

unerreicht waren, zum Rand R h<strong>in</strong>zuzufügen und vorläufige Distanzen zu<br />

Randknoten durch eventuell gefundene kürzere Distanzen zu ersetzen. Sie<br />

kann wie folgt implementiert werden:<br />

ergänze R bei v:<br />

{Nachbarn von v, die noch nicht <strong>in</strong> R enthalten s<strong>in</strong>d, zu R h<strong>in</strong>zufügen und<br />

für alle Nachbarn testen, ob sie über v kürzer erreicht werden können}<br />

for all (v, v ′ ) ∈ E do<br />

if not v’.gewählt and (v.Entfernung + c((v, v ′ ))) < v’.Entfernung then<br />

{v ′ ist (kürzer) über v erreichbar}<br />

v’.Entfernung := v.Entfernung + c((v, v ′ ));<br />

vermerke v ′ <strong>in</strong> R;<br />

end if<br />

end for<br />

Ke<strong>in</strong>e beson<strong>der</strong>en Anfor<strong>der</strong>ungen s<strong>in</strong>d an die Verwaltung <strong>der</strong> Menge S zu<br />

stellen, die die kürzesten Wege aufnimmt. Es <strong>in</strong>teressieren hier nicht die Wege<br />

selbst, son<strong>der</strong>n nur die Distanzen zwischen den Knoten, so dass S e<strong>in</strong>fach


A.2 Etwas Graphentheorie 103<br />

als Vektor implementiert werden kann, <strong>der</strong> die Distanzen von s zu den übrigen<br />

Knoten aufnimmt. Von entscheiden<strong>der</strong> Bedeutung für die Laufzeit des<br />

Algorithmus’ ist allerd<strong>in</strong>gs die Verwaltung <strong>der</strong> Randmenge R, auf <strong>der</strong> folgende<br />

Operationen ausgeführt werden müssen:<br />

1. Initialisierung als leere Menge: R := ∅;<br />

2. prüfen, ob <strong>der</strong> Rand leer ist;<br />

3. bestimmen und entfernen des Knotens mit m<strong>in</strong>imaler Distanz;<br />

4. h<strong>in</strong>zufügen von neuen Randknoten und ggf. än<strong>der</strong>n von (vorläufigen)<br />

Distanzen.<br />

Es gibt verschiedene Möglichkeiten, die Randmenge zu verwalten. In <strong>der</strong> von<br />

Dijkstra selbst vorgeschlagenen Variante von 1959 wird <strong>der</strong> Rand gar nicht<br />

explizit gespeichert. Damit s<strong>in</strong>d die Operationen 1 und 4 implizit und können<br />

entfallen. Der Initialisierungsschritt <strong>in</strong> Algorithmus A.1 <strong>in</strong> den Zeilen 1 bis<br />

12 hat also e<strong>in</strong>e Laufzeit von O(|V |), und die anschließende while-Schleife<br />

wird Θ(|V |)-mal durchlaufen, wobei die Laufzeit <strong>in</strong> jedem Durchlauf O(|V |)<br />

ist. 5 Die Gesamtlaufzeit ist hier also O(|V | 2 ) und somit bei Ω(|V | 2 ) Kanten<br />

l<strong>in</strong>ear <strong>in</strong> <strong>der</strong> Größe <strong>der</strong> E<strong>in</strong>gabe, d.h. <strong>der</strong> Anzahl <strong>der</strong> Knoten des Graphen.<br />

Für Graphen mit sehr vielen Knoten besitzt diese Variante also optimale<br />

Laufzeiteigenschaften.<br />

An<strong>der</strong>s sieht es jedoch aus, wenn G nur aus relativ wenigen Kanten besteht.<br />

In diesem Fall gilt die Verwendung e<strong>in</strong>es Fibonacci-Heaps zur Implementation<br />

<strong>der</strong> Kantenmenge R als e<strong>in</strong>e <strong>der</strong> effizientesten Möglichkeiten. Dann können<br />

die Operationen 1, 2 und 4 <strong>in</strong> konstanter amortisierter Zeit ausgeführt werden,<br />

und nur die Operation 3 benötigt die Laufzeit O(|V | log |V |). Die Gesamtlaufzeit<br />

des Algorithmus’ von Dijkstra für das F<strong>in</strong>den des kürzesten<br />

Weges von e<strong>in</strong>em zu allen an<strong>der</strong>en Knoten ist dann O(|E| + |V | log |V |). Details<br />

zu Fibonacci-Heaps und <strong>der</strong>en Implementation können [22] entnommen<br />

werden.<br />

Schließlich kann man den kürzesten Weg für alle Schlüsselpaare (v, v ′ ) ∈ V ×<br />

V berechnen, <strong>in</strong>dem man den Algorithmus auf jeden Knoten anwendet. Die<br />

Laufzeit unter Verwendung e<strong>in</strong>es Fibonacci-Heaps lässt sich dann abschätzen<br />

durch O(|V | · (|E| + |V | log |V |)).<br />

5 Durch die O-Notation wird e<strong>in</strong>e obere Schranke für das Wachstum e<strong>in</strong>er Funktion<br />

beschrieben. Sie ist def<strong>in</strong>iert durch O(f) = {g|∃c 1 > 0 : ∃c 2 > 0 : ∀N ∈ N : g(N) ≤<br />

c 1 · f(N) + c 2 }. Ω(g) = {h|∃c > 0 : ∃ unendlich viele n : h(n) ≥ c · g(n)} h<strong>in</strong>gegen ist e<strong>in</strong>e<br />

untere Schranke für das Wachstum von g. Schließlich gilt f = Θ(g), wenn sowohl f ∈ O(g)<br />

als auch f ∈ Ω(g) gilt.


104 Ergänzungen zur Theorie<br />

A.2.2<br />

Der Floyd-Warshall-Algorithmus<br />

Während <strong>der</strong> Algorithmus von Dijkstra nur für nichtnegative Bewertungsfunktionen<br />

anwendbar ist, dürfen den Kanten beim Algorithmus von Floyd<br />

und Warshall auch negative Werte zugeordnet werden [7]. Der Graph G =<br />

(V, E) soll hier aber weiterh<strong>in</strong> e<strong>in</strong> Distanzgraph se<strong>in</strong> und außerdem aus N<br />

Knoten V = {v 1 , . . . , v N } bestehen. Für e<strong>in</strong>en Weg p = (v 1 , . . . , v l ) heißen die<br />

Knoten v 2 , . . . , v l−1 die <strong>in</strong>neren Knoten von p. Weiterh<strong>in</strong> sei V k = (v 1 , . . . , v k )<br />

für k ≤ N die nur aus den ersten k Knoten bestehende Untermenge von V .<br />

Im Folgenden werden nun für alle Paare (v i , v j ) alle Wege von v i nach v j<br />

betrachtet, <strong>der</strong>en <strong>in</strong>nere Knoten allesamt <strong>in</strong> <strong>der</strong> Knotenmenge V k enthalten<br />

s<strong>in</strong>d. Sei p e<strong>in</strong> kürzester dieser Wege. Der Floyd-Warshall-Algorithmus nutzt<br />

nun e<strong>in</strong>en Zusammenhang aus zwischen p und den kürzesten Wegen von v i<br />

nach v j , <strong>der</strong>en <strong>in</strong>nere Knoten nur aus <strong>der</strong> Untermenge {v 1 , . . . , v k−1 } stammen:<br />

• Ist k ke<strong>in</strong> <strong>in</strong>nerer Knoten von p, so s<strong>in</strong>d offensichtlich alle <strong>in</strong>neren<br />

Knoten von p schon <strong>in</strong> <strong>der</strong> Menge {v 1 , . . . , v k−1 } enthalten. Somit ist<br />

e<strong>in</strong> kürzester Weg von v i nach v j mit <strong>in</strong>neren Knoten ausschließlich aus<br />

{v 1 , . . . , v k−1 } auch kürzester Weg von v i nach v j mit <strong>in</strong>neren Knoten<br />

aus {v 1 , . . . , v k }.<br />

• Falls k e<strong>in</strong> <strong>in</strong>nerer Knoten von p ist, so teilt man den Weg p auf <strong>in</strong><br />

p = (p 1 , p 2 ), wobei p 1 = (v i , . . . , v k ) den Weg von v i nach v k bezeichnet<br />

und entsprechend p 2 = (v k , . . . , v j ) den Weg von v k nach v j . Dann ist p 1<br />

offenbar e<strong>in</strong> kürzester Weg von v i nach v k , dessen <strong>in</strong>nere Knoten alle <strong>in</strong><br />

{v 1 , . . . , v k } enthalten s<strong>in</strong>d. Da aber v k selbst ke<strong>in</strong> <strong>in</strong>nerer Knoten von<br />

p 1 ist, s<strong>in</strong>d dessen <strong>in</strong>nere Knoten sogar alle <strong>in</strong> {v 1 , . . . , v k−1 } enthalten.<br />

Entsprechend ist p 2 e<strong>in</strong> kürzester Weg von v k nach v j , dessen <strong>in</strong>nere<br />

Knoten ebenfalls alle <strong>in</strong> {v 1 , . . . , v k−1 } enthalten s<strong>in</strong>d.<br />

Aus diesen Beobachtungen lässt sich nun e<strong>in</strong>e rekursive Formulierung für<br />

das F<strong>in</strong>den <strong>der</strong> kürzesten Wege von allen Knoten zu allen an<strong>der</strong>en Knoten<br />

formulieren. Sei d (k)<br />

ij := d (k) (v i , v j ) die Länge e<strong>in</strong>es kürzesten Weges von v i<br />

nach v j , bei dem alle <strong>in</strong>neren Knoten <strong>in</strong> {v 1 , . . . , v k } enthalten s<strong>in</strong>d. Für<br />

k = 0 gibt es ke<strong>in</strong>en <strong>in</strong>neren Knoten, so dass v i und v j direkt durch e<strong>in</strong>e<br />

Kante mite<strong>in</strong>an<strong>der</strong> verbunden s<strong>in</strong>d und d (0)<br />

ij = c(v i , v j ) gilt, <strong>der</strong> Abstand also<br />

e<strong>in</strong>fach die Länge <strong>der</strong> Kante ist. Rekursiv gilt dann:<br />

d (k)<br />

ij =<br />

{<br />

c(vi ,<br />

(<br />

v j )<br />

)<br />

falls k = 0,<br />

m<strong>in</strong> d (k−1)<br />

ij , d (k−1)<br />

ik<br />

+ d (k−1)<br />

kj<br />

falls k > 0.<br />

(A.16)


A.2 Etwas Graphentheorie 105<br />

Analog zum vorigen Abschnitt ist dabei c(v i , v i ) = 0 und c(v i , v j ) = ∞,<br />

falls (v i , v j ) ∉ E, es also gar ke<strong>in</strong>e Kante gibt, die v i und v j mite<strong>in</strong>an<strong>der</strong><br />

verb<strong>in</strong>det. Schreibt man die Distanzen zwischen den Knoten <strong>in</strong> e<strong>in</strong>e N × N-<br />

Matrix D (k) = (d (k)<br />

ij ) und die Kantenlängen <strong>in</strong> e<strong>in</strong>e N × N-Matrix C = (c ij)<br />

mit c ij = c(v i , v j ), so lässt sich <strong>der</strong> Floyd-Warshall-Algorithmus nun mit drei<br />

verschachtelten Schleifen wie folgt formulieren:<br />

Algorithmus A.2 Der Floyd-Warshall-Algorithmus zur Berechnung<br />

kürzester Wege<br />

1: {Initialisierung:}<br />

2: D (0) = C<br />

3: {Bestimmung <strong>der</strong> kürzesten Wege:}<br />

4: for k = 1 to N do<br />

5: for i = 1 to N do<br />

6: for j = 1 to N do<br />

7: d (k)<br />

ij = m<strong>in</strong><br />

8: end for<br />

9: end for<br />

10: end for<br />

(<br />

d (k−1)<br />

ij<br />

, d (k−1)<br />

ik<br />

)<br />

+ d (k−1)<br />

kj<br />

Die Laufzeit des Floyd-Warshall-Algorithmus’ zum F<strong>in</strong>den <strong>der</strong> kürzesten Wege<br />

von allen Knoten e<strong>in</strong>es Graphen zu allen an<strong>der</strong>en Knoten ist somit O(N 3 ),<br />

also schlechter als beim Algorithmus von Dijkstra mit Fibonacci-Heap. Allerd<strong>in</strong>gs<br />

ist letzterer viel aufwendiger zu implementieren und auf nichtnegative<br />

Bewertungsfunktionen beschränkt. Weitere Details zum Floyd-Warshall-<br />

Algorithmus f<strong>in</strong>det man <strong>in</strong> [7].


Literaturverzeichnis<br />

[1] Zhaojun Bai, James Demmel, Jack Dongarra, Axel Ruhe und Henk<br />

van <strong>der</strong> Vorst, Hg.: Templates for the Solution of Algebraic Eigenvalue<br />

Problems: A Practical Guide. Society for Industrial and Applied Mathematics,<br />

Philadelphia, PA, USA, 2000.<br />

[2] Mira Bernste<strong>in</strong>, V<strong>in</strong> de Silva, John C. Langford und Joshua B. Tenenbaum:<br />

Graph approximations to geodesics on embedded manifolds.<br />

URL: http://isomap.stanford.edu/, Dez. 2000.<br />

[3] Ingwer Borg und Patrick Groenen: Mo<strong>der</strong>n Multidimensional Scal<strong>in</strong>g.<br />

Spr<strong>in</strong>ger Series <strong>in</strong> Statistics, Spr<strong>in</strong>ger, 1997.<br />

[4] Christopher J. C. Burges: Simplified support vector decision rules. In:<br />

International Conference on Mach<strong>in</strong>e Learn<strong>in</strong>g, S. 71–77, 1996.<br />

[5] Christopher J. C. Burges: A tutorial on support vector mach<strong>in</strong>es for<br />

pattern recognition. Data M<strong>in</strong><strong>in</strong>g and Knowledge Discovery 2(2), 121–<br />

167, 1998.<br />

[6] Miguel Á. Carreira-Perpiñán: A review of dimension reduction techniques.<br />

Techn. Ber. CS–96–09, Dept. of Computer Science, University of<br />

Sheffield, Jan. 1997.<br />

[7] Thomas H. Cormen, Charles E. Leiserson und Ronald L. Rivest: Introduction<br />

to Algorithms. The MIT Electrical Eng<strong>in</strong>eer<strong>in</strong>g and Computer<br />

Science Series, The MIT Press, Cambridge, Massachusetts und London,<br />

England, 1. Aufl., 1990.<br />

[8] K. I. Diamantaras und S. Y. Kung: Pr<strong>in</strong>cipal Component Neural Networks:<br />

Theory and Applications. John Wiley & Sons, 1996.<br />

[9] E. W. Dijkstra: A note on two problems <strong>in</strong> connexion with graphs. Numer.Math.<br />

1, 269–271, 1959.


LITERATURVERZEICHNIS 107<br />

[10] Gerd Fischer: L<strong>in</strong>eare Algebra. Vieweg, 10. Aufl., 1995.<br />

[11] J.C. Gower: Some distance properties of latent root and vector methods<br />

used <strong>in</strong> multivariate analysis. Biometrika 53, 325–388, 1966.<br />

[12] Trevor Hastie, Robert Tibshirani und Jerome Friedman: The Elements<br />

of Statistical Learn<strong>in</strong>g: Data M<strong>in</strong><strong>in</strong>g, Inference and Prediction. Spr<strong>in</strong>ger<br />

Series <strong>in</strong> Statistics, Spr<strong>in</strong>ger, 2001.<br />

[13] Roger A. Horn und Charles R. Johnson: Matrix Analysis. Cambridge<br />

University Press, 1990.<br />

[14] K. Hotell<strong>in</strong>g: Analysis of a complex of statistical variables <strong>in</strong>to pr<strong>in</strong>cipal<br />

components. Journal of Educational Psychology 24, 417–441, 498–520,<br />

1933.<br />

[15] Isomap Homepage. URL: http://isomap.stanford.edu/.<br />

[16] I. T. Jolliffe: Pr<strong>in</strong>cipal Component Analysis. Spr<strong>in</strong>ger Series <strong>in</strong> Statistics,<br />

Spr<strong>in</strong>ger, New York, Berl<strong>in</strong>, Heidelberg, Tokio, 1986.<br />

[17] T. Kohonen: Self Organiz<strong>in</strong>g Maps. Spr<strong>in</strong>ger, 1995.<br />

[18] LLE Homepage. URL: http://www.cs.toronto.edu/~roweis/lle/.<br />

[19] K.V. Mardia, J.T. Kent und J.M. Bibby: Multivariate Analysis. Probability<br />

and mathematical statistics, Academic Press, London, New York,<br />

Toronto, Sydney, San Francisco, 1979.<br />

[20] Thomas Mart<strong>in</strong>etz und Klaus Schulten: Topology represent<strong>in</strong>g networks.<br />

Neural networks 7(3), 507–522, 1994.<br />

[21] Rudolf Mathar: Multidimensionale Skalierung: Mathematische Grundlagen<br />

und algorithmische Aspekte. Teubner Skripten zur mathematischen<br />

Stochastik, Teubner, Stuttgart, 1997.<br />

[22] Thomas Ottmann und Peter Widmayer: Algorithmen und Datenstrukturen.<br />

Spektrum Akademischer Verlag, Heidelberg, Berl<strong>in</strong>, Oxford, 3.<br />

Aufl., 1996.<br />

[23] Karl Pearson: On l<strong>in</strong>es & planes of closest fit to systems of po<strong>in</strong>ts <strong>in</strong><br />

space. Philosophical Magaz<strong>in</strong>e 2(6), 559–572, Nov. 1901.


108 LITERATURVERZEICHNIS<br />

[24] Sam Roweis: Learn<strong>in</strong>g nonl<strong>in</strong>ear data manifolds. Vortrag im Kolloquium,<br />

University of Wash<strong>in</strong>gton, Department of Computer Science and Eng<strong>in</strong>eer<strong>in</strong>g,<br />

3. April 2001, URL: http://www.cs.wash<strong>in</strong>gton.edu/news/<br />

colloq.<strong>in</strong>fo.html.<br />

[25] Lawrence K. Saul und Sam Roweis: Nonl<strong>in</strong>ear dimensionality reduction<br />

by Locally L<strong>in</strong>ear Embedd<strong>in</strong>g. Science 290(5500), 2323–2326, Dez. 2000.<br />

[26] Lawrence K. Saul und Sam Roweis: An <strong>in</strong>troduction to Locally L<strong>in</strong>ear<br />

Embedd<strong>in</strong>g. Draft version. URL: http://www.cs.toronto.edu/<br />

~roweis/lle/publications.html, Jan. 2001.<br />

[27] Bernhard Schölkopf: Support Vector Learn<strong>in</strong>g. Dissertation, Technische<br />

Universität Berl<strong>in</strong>, 1997.<br />

[28] Bernhard Schölkopf, Alexan<strong>der</strong> Smola und Klaus-Robert Müller: Nonl<strong>in</strong>ear<br />

component analysis as a kernel eigenvalue problem. Technical Report<br />

44, Max-Planck-Institut für biologische Kybernetik, Tüb<strong>in</strong>gen, Dez.<br />

1996.<br />

[29] Alexan<strong>der</strong> Smola und Bernhard Schölkopf: A tutorial on support vector<br />

regression. NeuroCOLT2 Technical Report NC2-TR-1998-030, Royal<br />

Holloway College, University of London, 1998.<br />

[30] Joshua B. Tenenbaum: Mapp<strong>in</strong>g a manifold of perceptual observations.<br />

In: Advances <strong>in</strong> Neural Information Process<strong>in</strong>g Systems, herausgegeben<br />

von Michael I. Jordan, Michael J. Kearns und Sara A. Solla, Bd. 10,<br />

The MIT Press, 1998.<br />

[31] Joshua B. Tenenbaum, V<strong>in</strong> de Silva und John C. Langford: A global<br />

geometric framework for nonl<strong>in</strong>ear dimensionality reduction. Science<br />

290(5500), 2319–2323, Dez. 2000.<br />

[32] W.S. Torgerson: Multidimensional scal<strong>in</strong>g: I. theory and method. Psychometrika<br />

17, 401–419, 1952.<br />

[33] W.S. Torgerson: Theory and Methods of Scal<strong>in</strong>g. Wiley, New York, 1958.<br />

[34] Jochen Werner: Numerische Mathematik, Bd. 1. Vieweg, 1992.


Danksagung<br />

Zum Abschluss <strong>der</strong> Arbeit möchte ich mich bei allen Leuten bedanken, die zu<br />

ihrer Fertigstellung direkt o<strong>der</strong> <strong>in</strong>direkt beigetragen haben. Zunächst danke<br />

ich Prof. Dr. Lauterborn für die Aufnahme <strong>in</strong> die Arbeitsgruppe. Me<strong>in</strong> beson<strong>der</strong>er<br />

Dank gebührt Prof. Dr. Ulrich Parlitz, <strong>der</strong> diese Arbeit stets <strong>in</strong><br />

vorbildlicher Art und Weise betreut hat. Er hat mir mit vielen Ratschlägen<br />

zur Seite gestanden und hatte immer e<strong>in</strong> offenes Ohr für me<strong>in</strong>e Fragen. Weiterh<strong>in</strong><br />

möchte ich mich bei allen Mitglie<strong>der</strong>n des Instituts für die freundliche<br />

und kollegiale Arbeitsatmosphäre bedanken. Dank gebührt auch me<strong>in</strong>em<br />

Zimmergenossen David Engster für die vielen Gespräche und Diskussionen<br />

auch außerhalb <strong>der</strong> Physik. Ich danke weiterh<strong>in</strong> allen Leuten, die hier aus<br />

Platzgründen nicht namentlich auftauchen, und die me<strong>in</strong> Leben außerhalb<br />

<strong>der</strong> Physik bereichern. Schließlich danke ich beson<strong>der</strong>s me<strong>in</strong>en Eltern für<br />

ihre Unterstützung, ohne die dieses Studium nicht möglich gewesen wäre.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!