Hallo, jetzt befassen wir uns mit einem sehr wichtigen Algorithmus der mathematischen Datenanalyse,
nämlich der Principal Component Analysis oder der Hauptkomponentenanalyse oder einfach nur
PCA. Die PCA ist eng verband mit der Singulärwärtsverlegung. Diese Verknüpfung werden wir zwar jetzt in
dieser Vorlesung nicht genauer anschauen, aber vermutlich werden bereits einige Ideen aus der
SVD-Hirn anklingen, wenn man quasi genauer zuhört. Die PCA, wir steigen einfach gleich ein.
Die PCA beginnt mit einem tabellarischen Datensatz, wie wir es bisher auch gewohnt sind, das heißt
x hat m Zeilen und n Spalten. Wir gehen natürlich aus, dass wir mehr Zeilen als Spalten haben,
das ist eigentlich nicht so notwendig für das, was wir jetzt gleich machen werden,
aber die Vorstellung ist hilfreich. Die Zeilen sind die Objekte und die Spalten sind die n Variablen,
also aus dem Beispiel aus dem ersten Übungsblatt zum Beispiel eine Liste von Autos, die zum
Verkauf stehen. Die erste Variable könnte sein Baujahr, die zweite könnte sein Preis,
die zweite könnte sein Unfall und so weiter. Das sind natürlich jetzt verschiedene Datenkategorien,
wir sollten uns jetzt hier vorstellen, dass es alles reale Zahlen sind in den Variablen,
das heißt man müsste die irgendwie transformieren eventuell und die Einträge ist jetzt, das ist jetzt
Auto1, also das ist vielleicht irgendein Jaguar, das ist vielleicht irgendein VW Käfer oder so ähnlich
und das ist der Daten, das heißt wir haben m Objekte und n Variablen und wir notieren das so,
dass die Objekte die x i t sind, das heißt das ist x1 t und die Variablen sind die Spalten und
die nennen wir jetzt zum Beispiel x2 oben. Das habe ich schon hingeschrieben, also x i t sind die
Zeilen, also die Objekte und x j sind die Variablen, also die Werte der Gartenvariablen in allen Objekten. Genau, also dann brauchen wir jetzt für PCA noch, dass die Daten zentriert sind, das heißt, dass alle Spalten Mittelwert 0 haben, also zum Beispiel diese Spalte hier, die ist zentriert,
wenn es jetzt alle Einträge sind, diese Spalte ist zentriert, diese hier ist nicht zentriert, das heißt,
die müsste man zentrieren, der Mittelwert davon ist 1, dann zieht man 1 ab, dann bekommt man 1-1, das ist die zentrierte Spalte. Das nehmen wir jetzt an, das ist natürlich ein Schritt, den kann man am Anfang über machen, das werden wir auch tun müssen.
Jetzt definieren wir die Covariance Matrix der Daten, wir definieren sie nicht, sondern wir wissen ja, was die Covariance Matrix ist und ich behaupte jetzt einfach,
das ist 1 durch m minus 1 mal x, transmitiert mal x und warum ist das wichtig? Das schauen wir uns mal genauer an.
Schauen wir uns noch mal die C i j Covariance an, das haben wir auch geschrieben als s und dann jetzt hier x und y, diese x und y sind jetzt hier x i und x j,
war das ein Quadrat oder keines, ich kann mich nicht erinnern, ich glaube hier war kein Quadrat und das ist definiert als, das sind jetzt hier zwei verschiedene Einträge,
also das ist hier x i 1 bis x i m und der andere Vektor, zu dem wir die Covariance berechnen wollen, ist der x j 1 bis x j m und die Covariance zwischen diesen beiden Vektoren ist 1 durch m minus 1 mal Summe x k
i minus x i quer mal x k j, minus x j quer und Summiert wird von k gleich 0 bis m, Entschuldigung von 1 bis m. Jetzt sind die Mittelwerte alle 0, weil wir das vorausgesetzt haben,
das heißt das ist gerade 1 durch m minus 1 Summe über k von x k i mal x k j und das ist jetzt gerade genau x transponiert x und davon, ich schreibe es kurz noch dahin,
das ist 1 durch m minus 1 x transponiert x und davon aber der i j Eintrag und das ist genau, jetzt haben wir das elementmeist nachgeprüft, das heißt der i j Eintrag von c ist gerade der i j Eintrag von 1 durch m minus 1 mal x transponiert x, das heißt diese beiden Worte trotzdem sind identisch.
Okay, also tatsächlich ist das hier eine Darstellung der Covariance Matrix der Daten, natürlich nur weil die Daten zentriert sind. Jetzt wissen wir, dass diese Covariance Matrix symmetrisch und positiv definiert ist, also gibt es eine Diagonalisierung in einer besonders schönen Form,
nämlich s mal d mal s transponiert und die Eigenwerte sind alle größer als 0 und die Eigenvektoren bilden eine Ortonormalbasis, die wir dann in diese autogonale Matrix s reinschreiben, das heißt s, ich schreibe es noch mal ganz kurz hier hin, s ist v1 bis vn.
Im Kontext der PCA nennen wir die Eigenvektoren von c die Hauptachsen, es wird hoffentlich klar werden warum das ein guter Name ist und die Projektionen der Datenpunkte auf die Hauptachsen heißen Hauptkomponenten oder Principal Components oder PC Scores.
Das ist erstmal nur eine reine Notation oder ein reiner Begriff, warum das Sinn ergibt sehen wir gleich, aber wir sollten diese Identifikation schon mal vor Augen halten.
Wir schreiben also s als diese in dieser Komponenten-Darstellung und jetzt schauen wir uns an was x mal s für ein Objekt ist, denn dieses Objekt x mal s wird eine ganz fundamentale Bedeutung haben.
x sind die Daten und x mal s sind die sogenannten transformierten Daten und die haben eine sehr interessante Interpretation.
Im Wesentlichen ist PCA das Multiplizieren von x mit diesem s, das ist eigentlich alles was PCA tut, einfach nur x nehmen und diese Matrix s rein multiplizieren.
Natürlich ist diese Matrix s ein bisschen kompliziert, nämlich man muss erstmal die Koverenzmatrix bestimmen, die diagonalisieren und damit s bilden und das ist dann s.
Aber PCA ist genau x mit s multiplizieren.
Bevor wir uns x mal s anschauen, schauen wir uns erstmal x selber an und schauen uns an wie man die Zeilen und die Spalten noch deuten kann, außer jetzt als Objekte oder als Variablen.
Wir fangen an mit den Zeilen. Die Zeilen sind ja die xt, also hier diese Objekte, x1t zum Beispiel.
Ich schlage jetzt folgende Interpretation vor. Die Zeilen von x sind die Darstellung des Idenobjektes, also des Idenautos in der Basis e1 bis en.
Bei e1 bis en jetzt, in dem Fall, also e1 bis en sind immer die kanonischen Basen, also hier soll es bedeuten, e1 ist, ich schreibe es jetzt als Zeilenvektor, 1, 0 und so weiter 0.
Und e2 ist der Vektor 0, 1, 0 und so weiter bis 0.
Ich muss jetzt als Zeilenvektor schreiben, weil die x1t auch Zeilen sind. Das macht jetzt ein paar Dinge genau umgekehrt, weil wir einmal transponieren müssen und so weiter, aber wir versuchen das jetzt als Analogieschluss gleich zu verstehen.
Warum ergibt das Sinn? Warum sind die Zeilen von x die Darstellung des Idenobjektes in dieser Basis hier?
Machen wir dazu mal ein Beispiel. Wir nehmen an x1 transponiert ist einfach folgender Vektor 3 minus 2. Das heißt, wir haben nur zwei Variablen und das ist das erste Auto.
Und ich behaupte, das ist jetzt die Darstellung des Idenobjektes in der Basis e1 und e2. Naja, das ergibt auch Sinn, denn das ist der erste Eintrag mal der erste Vektor plus der zweite Eintrag mal der zweite Vektor.
Okay, soweit ist das völlig klar. Das heißt, tatsächlich kann man, also es ist irgendwie so was eine Redundanz das zu sagen, die Zeile ist ein Vektor, besser gesagt die Basisdarstellung in der kanonischen Basis.
Das heißt, die Einträge sind natürlich die Koeffizienten in dieser Darstellung. Also das ist in gewisser Hinsicht völlig redundant und völlig klar, aber wir wollen jetzt im Analogieschluss interpretieren,
dass diese Zeilen hier, die Zeilen von xs, also x1 transponiert mal s, dass die hier die Darstellung des Idenobjektes sind, aber jetzt nicht in dieser Basis, sondern in dieser Basis.
Presenters
Zugänglich über
Offener Zugang
Dauer
00:43:06 Min
Aufnahmedatum
2021-03-05
Hochgeladen am
2021-03-05 13:06:36
Sprache
de-DE