Was ist die Intuition hinter SVD?


50

Ich habe über Singular Value Decomposition (SVD) gelesen. In fast allen Lehrbüchern wird erwähnt, dass es die Matrix in drei Matrizen mit gegebener Spezifikation zerlegt.

Aber was ist die Intuition hinter der Aufspaltung der Matrix in einer solchen Form? PCA und andere Algorithmen zur Dimensionsreduzierung sind in dem Sinne intuitiv, dass der Algorithmus eine gute Visualisierungseigenschaft aufweist, bei SVD ist dies jedoch nicht der Fall.


4
Sie sollten von der Intuition der Eigenwert-Eigenvektor-Zerlegung ausgehen, da SVD eine Erweiterung für alle Arten von Matrizen ist, anstatt nur für quadratische.
JohnK

Im Internet gibt es viele Hinweise und Antworten auf den Lebenslauf über SVD und seine Arbeitsweise.
Vladislavs Dovgalecs

2
SVD kann als Komprimierungs- / Lernalgorithmus betrachtet werden. Es ist ein linearer Kompressor-Dekompressor. Eine Matrix M kann durch Multiplikation von SVD dargestellt werden. S ist der Kompressor V bestimmt, wie viel Fehler Sie haben möchten (verlustbehaftete Komprimierung) und D ist der Dekomprimierer. Wenn Sie alle diagonalen Werte von V beibehalten, haben Sie einen verlustfreien Kompressor. Wenn Sie anfangen, kleine singuläre Werte wegzuwerfen (sie auf Null zu setzen), können Sie die anfängliche Matrix nicht exakt rekonstruieren, bleiben aber nah. Hier wird der Begriff nah mit der Frobenius-Norm gemessen.
Cagdas Ozgenc

2
@Cagdas, wenn Sie das tun, definieren Sie bitte sorgfältig, was Sie unter "S" "V" und "D" mathematisch verstehen. Ich habe noch nie zuvor die Initialen in der Notation selbst überladen gesehen (welche Singularwerte sind zum Beispiel enthalten?). Es scheint eine wahrscheinliche Quelle der Verwirrung zu sein
Glen_b

3
Wissen Sie, wie man PCA mit SVD schätzt? Wenn ja, können Sie dann erklären, warum Sie das Gefühl haben, dass etwas in Ihrem Verständnis von SVD fehlt? Siehe dies
Aksakal

Antworten:


63

Schreiben den SVD der Matrix (real, n × p ) als X = U D V T , wo U ist n × p , D ist diagonal p × p und V T ist , p × p . In Bezug auf den Spalten der Matrizen U und V können wir schreiben X = Σ p i = 1 d i u i v T iXn×p

X=UDVT
Un×pDp×pVTp×pUVX=i=1pdiuiviT. Das zeigt geschrieben als eine Summe von p Rang-1-Matrizen. Wie sieht eine Rang-1-Matrix aus? Mal sehen: ( 1 2 3 ) ( 4 5 6 ) = ( 4 5 6 8 10 12 12 15 18 ) Die Zeilen sind proportional und die Spalten sind proportional.Xp
(123)(456)=(45681012121518)

Stellen Sie sich nun , das die Graustufenwerte eines Schwarzweißbilds enthält, wobei jeder Eintrag in der Matrix ein Pixel darstellt. Zum Beispiel das folgende Bild eines Pavians:X

Bild eines Pavians

Lesen Sie dann dieses Bild in R ein und holen Sie sich den Matrixteil der resultierenden Struktur, möglicherweise unter Verwendung der Bibliothek pixmap.


Wenn Sie eine schrittweise Anleitung zur Reproduktion der Ergebnisse benötigen, finden Sie den Code hier .


Berechnen Sie die SVD:

baboon.svd  <-  svd(bab) # May take some time

512×512512512120

baboon.1  <-  sweep(baboon.svd$u[,1,drop=FALSE],2,baboon.svd$d[1],"*") %*%
                   t(baboon.svd$v[,1,drop=FALSE])

baboon.20 <-  sweep(baboon.svd$u[,1:20,drop=FALSE],2,baboon.svd$d[1:20],"*") %*%
                   t(baboon.svd$v[,1:20,drop=FALSE])

Daraus ergeben sich die folgenden zwei Bilder:

Rang eins und Rang 20 Rekonstruktion des Pavianbildes

Links sind die vertikalen / horizontalen Streifen im Rang-1-Bild gut zu erkennen.

20

Bild der Reste der Pavianrekonstruktion vom Rang 20

Was ziemlich interessant ist: Wir sehen die Teile des Originalbildes, die schwer darzustellen sind, als Überlagerung von vertikalen / horizontalen Linien, meist diagonalen Nasenhaaren und etwas Textur, und die Augen!


11
Ich denke, Sie meinten eine Rekonstruktion mit niedrigem Rang, nicht mit niedriger Reichweite. Keine Ursache. Dies ist eine sehr gute Illustration (+1). Deshalb ist es ein Linearkompressor-Dekompressor. Das Bild ist mit Linien angenähert. Wenn Sie tatsächlich einen ähnlichen Autoencoder mit einem neuronalen Netzwerk mit linearen Aktivierungsfunktionen ausführen, werden Sie tatsächlich feststellen, dass er auch Linien mit beliebiger Steigung zulässt, nicht nur vertikale und horizontale Linien, was ihn etwas leistungsfähiger als SVD macht.
Cagdas Ozgenc

X=UΣVn×pXUn×nΣn×pVp×p

1
Siehe math.stackexchange.com/questions/92171/... für einige andere Beispiele
kjetil b Halvorsen

@ kjetil-b-halvorsen Ich bin daran interessiert zu wissen, wie sich die Beschreibung ändern würde, wenn ich PCA zum Kündigen von Anträgen verwendet hätte. Ich würde mich freuen,
Dushyant Kumar

@CowboyTrader interessante Beobachtung. Mein Verständnis von Maschinellem Lernen / Neuronalem Netzwerk ist ziemlich begrenzt. Ich verstehe also nicht, dass das neuronale Netzwerk funktionieren würde, wenn man ein einzelnes verrauschtes Bild und nichts anderes zum Trainieren hätte.
Dushyant Kumar

3

Am×nmnvA

(1)v1=argmaxvRnAv2subject to v2=1.
v1A
v2=argmaxvRnAv2subject to v1,v=0,v2=1.
v1,,vnRnRnA

Sei (also quantifiziert die Sprengkraft von in der Richtung ). Angenommen, die Einheitsvektoren sind so definiert, dass Die Gleichungen (2) können unter Verwendung der Matrixnotation kurz ausgedrückt werden als wobei die Matrix ist, deren te Spalte , die Matrix ist, deren Die dritte Spalte ist undσi=Avi2σiAviui

(2)Avi=σiuifor i=1,,n.
(3)AV=UΣ,
Vn×niviUm×niuiΣist die Diagonalmatrix, deren ter diagonaler Eintrag . Die Matrix ist orthogonal, also können wir beide Seiten von (3) mit multiplizieren , um Es könnte den Anschein haben, dass wir die SVD von mit nahezu null Aufwand abgeleitet haben. Keiner der Schritte war bisher schwierig. Es fehlt jedoch ein entscheidender Teil des Bildes - wir wissen noch nicht, dass orthogonal ist.n×niσiVVT
A=UΣVT.
AU

Hier ist die entscheidende Tatsache, das fehlende Teil: Es stellt sich heraus, dass orthogonal zu : Ich behaupte, wenn dies nicht wahr wäre, dann wäre für problem (1) nicht optimal. In der Tat wäre es möglich, wenn (4) nicht erfüllt wäre, zu verbessern, indem es ein wenig in der Richtung .Av1Av2

(4)Av1,Av2=0.
v1 v1v2

Angenommen (für einen Widerspruch), dass (4) nicht erfüllt ist. Wenn in der orthogonalen Richtung leicht gestört ist , ändert sich die Norm von nicht (oder zumindest ist die Änderung der Norm von vernachlässigbar). Wenn ich auf der Erdoberfläche wandle, ändert sich mein Abstand zum Erdmittelpunkt nicht. Wenn jedoch in Richtung gestört wird , die Vektor ist in dem gestörten nichtorthogonalen Richtung , und so die Änderung in der Norm von ist nicht vernachlässigbare . Die Norm vonv1v2v1v1v1v2Av1Av2Av1Av1kann um einen nicht zu vernachlässigenden Betrag erhöht werden. Dies bedeutet, dass für Problem (1) nicht optimal ist, was ein Widerspruch ist. Ich liebe dieses Argument, weil: 1) die Intuition sehr klar ist; 2) Die Intuition kann direkt in einen strengen Beweis umgewandelt werden.v1

Ein ähnliches Argument zeigt, dass sowohl zu als auch zu orthogonal ist und so weiter. Die Vektoren sind paarweise orthogonal. Dies bedeutet, dass die Einheitsvektoren paarweise orthogonal gewählt werden können, was bedeutet, dass die obige Matrix eine orthogonale Matrix ist. Damit ist unsere Entdeckung der SVD abgeschlossen.Av3Av1Av2Av1,,Avnu1,,unU


Um das obige intuitive Argument in einen strengen Beweis umzuwandeln, müssen wir die Tatsache konfrontieren, dass der gestörte Vektor , wenn in der Richtung gestört wird, nicht wirklich ein Einheitsvektor ist. (Die Norm lautet .) Um einen strengen Beweis zu erhalten, definieren Sie Der Vektor ist wirklich ein Einheitsvektor. Aber wie Sie leicht zeigen können, wenn (4) nicht erfüllt ist, haben wir für ausreichend kleine Werte von (unter der Annahme, dass das Vorzeichen vonv1v2

v~1=v1+ϵv2
1+ϵ2
v¯1(ϵ)=1ϵ2v1+ϵv2.
v¯1(ϵ)ϵ
f(ϵ)=Av¯1(ϵ)22>Av122
ϵist richtig gewählt). Um dies zu zeigen, überprüfen Sie einfach, ob . Dies bedeutet, dass für Problem (1) nicht optimal ist, was ein Widerspruch ist.f(0)0v1

(Übrigens empfehle ich, die SVD-Erklärung von Qiaochu Yuan hier zu lesen. Sehen Sie sich insbesondere "Key lemma # 1" an, was wir oben besprochen haben. Wie Qiaochu sagt, ist "Key lemma # 1" das technische Herz der Singularwertzerlegung ".)


0

Alter, nimm dir eine Stunde Zeit und sieh dir diesen Vortrag an: https://www.youtube.com/watch?v=EokL7E6o1AE

Dieser Typ ist super direkt, es ist wichtig, nichts davon zu überspringen, weil am Ende alles zusammenkommt. Auch wenn es am Anfang etwas langsam erscheinen mag, versucht er, einen kritischen Punkt zu bestimmen, was er auch tut!

Ich werde es für Sie zusammenfassen, anstatt Ihnen nur die drei Matrizen zu geben, die jeder tut (weil mich das verwirrte, als ich andere Beschreibungen las). Woher kommen diese Matrizen und warum richten wir sie so ein? Der Vortrag nagelt es! Jede Matrix (jemals in der Geschichte der Everness) kann aus einer Grundmatrix mit den gleichen Dimensionen konstruiert werden. Dann kann sie gedreht und gedehnt werden (dies ist der Hauptsatz der linearen Algebra). Jede dieser drei Matrizen, die Menschen herumwerfen, repräsentiert eine anfängliche Matrix (U), eine Skalierungsmatrix (Sigma) und eine Rotationsmatrix (V).

Die Skalierungsmatrix zeigt Ihnen, welche Rotationsvektoren dominieren, diese werden als Singularwerte bezeichnet. Die Zerlegung wird nach U, Sigma und V aufgelöst.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.