Singulärwertzerlegung - Übersicht, Anwendung und Berechnung

  Рет қаралды 13,857

BrainPi

BrainPi

Күн бұрын

Пікірлер: 64
@brainpi
@brainpi 2 жыл бұрын
Über welches Themen soll ich mal ein Video machen? Lasst es mich in den Kommentaren wissen! ▼▼▼
@brainpi
@brainpi 2 жыл бұрын
Ja, dass sich an schwierigere Themen irgendwie kaum jemand ran traut ist mir auch schon oft aufgefallen. Ich konnte mir bisher nicht so richtig erklären ob dass einfach nur an der Schwierigkeit der Themen liegt oder daran dass sich weniger Zuschauer dafür interessieren und viele dann lieber das tun, was viele Klicks bringt... 🤔 Wie dem auch sei. Ich hatte auf jeden Fall schon längst vor auch mal auf fortgeschrittenere Probleme zu schauen. Ich nehme mir da mal die Differentialgeometrie mit auf meine ToDo-Liste. (Nichts gegen die anderen Themen, aber ich würde behaupten, dass ich mich mit Differentialgeometrie doch sehr viel besser auskenne 😉)
@lawlies7714
@lawlies7714 Жыл бұрын
Das (mit weitem Abstand) beste Video zur SVD!
@Mathecracker24
@Mathecracker24 2 жыл бұрын
Das Video war sehr hilfreich und genau auf dem Niveau, wie ich es gebraucht habe. Danke!
@4franz4
@4franz4 2 жыл бұрын
28:46 Sobald es ein Beispiel gibt, versteht man das Ganze schon viel besser! Danke für die Hilfe
@1votdopeningfan138
@1votdopeningfan138 Ай бұрын
unvernünftig hohe qualität, sehr gut erklärt. absolute rettung, falls das bei mir in mafia dran kommt
@arrogantermistkerl4579
@arrogantermistkerl4579 2 жыл бұрын
Vielen lieben Dank für die Mühe ein für mich schwierig zu verstehendes Thema näher zu bringen. Ich hoffe deine Zuschauerzahl wächst mit der Zeit bei der Mühe die du hier reinsteckt. Liebe Grüße
@brainpi
@brainpi 2 жыл бұрын
Hey, Vielen Dank für dein Feedback! Ich freue mich immer wenn ich jemanden ein wenig weiterhelfen konnte 😊 Besser wäre es natürlich wenn die Zuschauerzahl nicht wachsen würde. Immerhin würde das ja bedeuten dass keiner Hilfe benötigt. Aber beschweren würde ich mich bei mehr Zuschauern auch nicht 😂
@ryoasuka5528
@ryoasuka5528 6 ай бұрын
Vielen Dank! Habe ich sehr gebraucht!!!!
@manuellsen9124
@manuellsen9124 Жыл бұрын
was würde ich nur ohne solche youtuber machen? küsse deine augen habibi, numerikklausur gerettet
@brainpi
@brainpi Жыл бұрын
Super, das freut mich! 😊
@derczaja
@derczaja 10 ай бұрын
Vielen vielen Dank, es war sehr hilfreich und in Endeffekt hat es sich gelohnt ein längeres Video zu machen da man dann alles etwas langsamer und genauer durchgegangen ist und es somit verständlicher war, vielen dank
@sauron7538
@sauron7538 2 жыл бұрын
Super Video, es hat mir sehr weitergeholfen. Noch ein kleiner Tipp u3= das Kreuzprodukt von u1 und u2 so lässt es sich einfacher berechnen
@brainpi
@brainpi 2 жыл бұрын
Ja klar, so geht’s natürlich auch solange man in nur 3 Dimensionen unterwegs ist. 😊
@sauron7538
@sauron7538 2 жыл бұрын
@@brainpi Stimmt, hatte ich nicht bedacht. So wie du es gemacht hast ist es allgemeiner und somit besser.
@joachimschultz1557
@joachimschultz1557 Ай бұрын
Schönes Video. 👍
@dopa001
@dopa001 6 ай бұрын
voll gut, dankeschön
@lumpi_schlumpi4389
@lumpi_schlumpi4389 6 ай бұрын
Mega Video! Sehr detailliert und verständlich erklärt! Ich suche schon seit Tagen nach einem Video, welches mir die Singulärwertzerlegung erklärt, leider bin ich auf dein Video erst sehr spät gestoßen, was mir bis dahin Kopfzerbrechende Stunden gegeben hat 🤯.
@theyseemerollintheyhatin712
@theyseemerollintheyhatin712 10 ай бұрын
Danke!
@zuherkhalaf2679
@zuherkhalaf2679 2 жыл бұрын
Sehr hilfreiches Video ! Vielen Dank dafür !
@brainpi
@brainpi 2 жыл бұрын
Sehr gerne doch! 😊
@ravinoisaev7086
@ravinoisaev7086 2 жыл бұрын
Super Video!!! Jetzt weiß ich zumindest das ich das alles nicht umsonst lerne :)
@brainpi
@brainpi 2 жыл бұрын
Ja, das ist manchmal schwer zu glauben… 😂
@ravinoisaev7086
@ravinoisaev7086 2 жыл бұрын
@@brainpi 😂
@detlevbargatzky8453
@detlevbargatzky8453 10 ай бұрын
Super Erklärung. Besten Dank.😊
@Scotti.Q
@Scotti.Q 6 ай бұрын
Danke für das Video - sehr einfach und kompetent erklärt! Insbesondere auch die Einbindung von Python finde ich wertvoll. Da Du fragst, zu welchem Thema Du ein Video machen könntest - vielleicht zeigst Du mal konkret die Anwendung auf Ausgleichsprobleme. Darauf weist Du ja am Anfang des Videos hin. Auch der Zusammenhang zur Hauptkomponentenanalyse in der Statistik würde sich anbieten(?) Vielleicht gäbe es sogar Abkürzungen direkt zur Faktoranalyse, wiederum in der Statistik, v.a. auch mit der Frage im Hintergrund, wann eine Faktoranalyse für einen gegebenen Datensatz überhaupt sinnvoll ist. Das wären sehr interessante Themen - finde ich zumindest ;-)
@user-fu8nx6yq2f
@user-fu8nx6yq2f Жыл бұрын
Optimales Video, besser geht nicht. Tempo perfekt, ausfuehrliche aber nicht ausufernde erklaerung, danke!
@jan8265
@jan8265 9 ай бұрын
Manchmal wundert man sich, wenn man 12-mal zu einem KZbin Video zurückkehrt, einfach weil es sich über das Semester verteilt als beste Quelle erweist.
@brainpi
@brainpi 9 ай бұрын
So kommen also die ganzen Klicks für das Video zustande 😂
@zirkq
@zirkq 6 ай бұрын
der goat 🐐🐐🐐
@PhysikMitVasil
@PhysikMitVasil 8 ай бұрын
Echt cooles Video! Dadurch habe ich das verstanden: 😎
@human0.2
@human0.2 Жыл бұрын
Sehr gut erklärt. Danke
@joshuas.5340
@joshuas.5340 Жыл бұрын
Sau gutes Video.
@jensb.5456
@jensb.5456 6 ай бұрын
Ist natürlich unglaublich hilfreich, wenn jemand - der keine Ahnung von der Materie hat - sich plötzlich eine Python Anwendung anschauen soll, anstatt einfach ein Beispiel zu nehmen, mit einer kleine Matrix und das per Hand zu machen. Was ein useless Video.
@brainpi
@brainpi 6 ай бұрын
Hi, schade dass dir das Python-Beispiel nicht gefällt. Dabei sollte es doch eigentlich nur zeigen dass das ganze Zeug tatsächlich nützliche Anwendung hat. 😢 Wenn du aber auf der Suche nach einem Beispiel per Hand mit kleinen Matrizen bist, hab ich gute Nachrichten: Überspringe doch einfach den Programmierteil mit der Zeitleiste oder den Kapitelmarken. Im letzten Teil des Videos rechne ich genau das vor, was du dir wünschst 😉
@whiteTygr_
@whiteTygr_ Жыл бұрын
wie hast du das 1/wurzel(5) brechnet also wo hast du das her ?
@brainpi
@brainpi Жыл бұрын
Das ist ein Normierungsfaktor. Die Vektoren v_1 und v_2 mit den ~ drüber besitzen nicht die Norm 1. Um das zu ändern teile ich sie durch ihre Länge, d.h. durch wurzel(2^2 +1^2) im Fall von v_1 (euklidische Länge eines Vektors)
@user-se5ud3xe6l
@user-se5ud3xe6l 6 ай бұрын
Du sagst bei 26:15 dass die Eigenvektoren v Schlage schon orthogonal sind. Warum? Ist das immer so? Was mache ich wenn die nicht orthogonal sind?
@brainpi
@brainpi 6 ай бұрын
Hi, ja das ist tatsächlich immer so. Es handelt sich ja um die Eigenvektoren der Matrix A^TA. Diese Matrix ist symmetrisch und Eigenvektoren (zu unterschiedlichen Eigenwerten) von symmetrische Matrizen stehen immer orthogonal aufeinander. Formal sauber aufgeschrieben und begründet ist das zum Beispiel hier: resources.mpi-inf.mpg.de/departments/d1/teaching/ss10/MFI2/kap46.pdf
@Deadlybrownboy
@Deadlybrownboy 2 жыл бұрын
2:37 Eigenwerte können doch schon mit einer größeren Vielfachheit auftreten, es muss nur die geometrische Vielfachheit gleich der algebraischen sein. Also es ist doch schon möglich, dass ich zu einem Eigenwert 2 linear unabhängige Eigenvektoren habe.
@brainpi
@brainpi 2 жыл бұрын
Ja, du hast recht. Ich war da ein wenig ungenau und hatte in meiner Gedankenwelt irgendwie angenommen, dass ich zu jedem Eigenwert einen Eigenraum der Dimension 1 habe (also auch wenn ich z.B. einen doppelten Eigenwert habe, dann trotzdem nur einen eindimensionalen Eigenraum). Wenn die geometrische Vielfachheit der algebraischen Vielfachheit entspricht, dann kann ich natürlich diagonalisieren. Allerdings kann ich Gegenbeispiele für die Diagonalisierbarkeit auch nur dann finden, wenn zwei Eigenwerte gleich sind. Wenn alle Eigenwerte paarweise verschieden sind, dann ist ja automatisch schon geometrische Vielfachheit = algebraische Vielfachheit gegeben.
@Deadlybrownboy
@Deadlybrownboy 2 жыл бұрын
@@brainpi Ja genau. Danke auch für das übersichtliche Video :)
@niloofarsamirnasri563
@niloofarsamirnasri563 Жыл бұрын
muss man es für A*A und AA* machen? für beides?
@brainpi
@brainpi Жыл бұрын
Was genau meinst du bzw. welche Stelle meinst du genau? Man kann theoretisch die Eigenwerte/Eigenvektoren für sowohl A*A als auch AA* ausrechnen. Mit den einen Eigenvektoren kann man dann V aufstellen und mit den anderen U. Allerdings muss man es nicht unbedingt machen. Die jeweils andere dieser Matrizen kann man auch einfach über die Formel wie im Video bestimmen. Wenn du meintest ob man am Ende nachdem man z.B. eine komplette SVD bestimmt hat bei der man mit A*A gestartet ist auch nochmal für AA* ran muss: nein. Man hat ja bereits eine SVD. 🤔
@niloofarsamirnasri563
@niloofarsamirnasri563 Жыл бұрын
@@brainpi oki danke hat sich geklärt
@Spectre-qy8bv
@Spectre-qy8bv 5 ай бұрын
naja die Probe machen ist so eine Sache, selbst wenn man dann durch die Probe merkt, das Ergebnis ist falsch, lässt man es einfach so und nimmt die Teilpunkte für die Folgefehler mit, denn die Zeit um das alles nochmal durchzurechnen hat man in der Regel nicht und man würde viel mehr Punkte verlieren, wenn man dann die ganzen weiteren Aufgaben nicht mehr schafft.
@brainpi
@brainpi 5 ай бұрын
Wir informieren uns doch nicht über die SVD für die Klausur, sondern für‘s Leben! 😜🤣
@knobberschrabser424
@knobberschrabser424 2 жыл бұрын
Saugut erklärt! Aber ich hätte da noch ne Frage zu der/den letzten Spalte(n) von U: Wozu braucht man die überhaupt? Könnte man nicht auch einfach U auf die Größe m x n und Sigma auf n x n einkürzen? Ich hab die Woche nämlich gelesen, dass die "nächstegelegene" orthogonale Matrix zu A (kleinstmögliche Frobeniusnorm der Differenz) gerade U*V^T aus der Singulärwertzerlegung ist. Und damit das Produkt überhaupt existiert, darf U ja bloß m x n sein. Tatsächlich bietet Matlab sogar die Möglichkeit, die Matrizen in reduzierter Größe auszugeben.
@brainpi
@brainpi 2 жыл бұрын
Hey, ich würde behaupten dass man die letzten Spalten nicht immer braucht. Jedoch existiert auch der Fall dass man sie braucht. Wenn zum Beispiel die Matrix A vollen Rang besitzt rang(A)=m, dann wird U auf jeden Fall auch m Singulärwerte ungleich 0 geben (Anzahl von nicht-null Singulärwerten entspricht immer rang(A)). Von daher tritt der Fall dass U eine mxm notwendiger Weise eine mxm Matrix ist durchaus auf. Ich vermute mal in der Theorie war es dann einfacher zu schreiben dass U immer eine mxm Matrix ist und noch ein paar 0en bei Sigma mit einzufügen als stattdessen immer irgendwie den Rang mit zu bemühen. In der Praxis am Computer ist es aber so, dass man nur selten wirklich alle Spalten von U benötigt. Wenn man einfach nur die "unnötigen" Spalten weglässt welche sowieso keinen Einfluss auf die Zerlegung haben, dann spricht man gerne auch über eine "thin SVD". Man lässt aber häufig sogar noch mehr Spalten mit Absicht weg, auch wenn diese eigentlich noch (wenige) Informationen enthalten (Wenn man wie bei dem Beispiel im Video versucht Datenmengen zu reduzieren). In dem Fall spricht man auch von einer "truncated SVD". Zu der Matrizenmultiplikation: Ja, das kann man tatsächlich zeigen. Ich gehe aber mal davon aus dass dort eine thin SVD benutzt wurde, sonst passen die Dimensionen einfach nicht. Ggf. haben sich manche Autoren je nach Kontext auch mal das was ich als "thin SVD" bezeichne als "SVD" definiert.
@knobberschrabser424
@knobberschrabser424 2 жыл бұрын
@@brainpi Ich bin einfach mal davon ausgegangen, dass m>n, weil das in deinem Beispiel und in meinem Anwendungsfall so war. Aber dann kann der Rang von A ja maximal n sein und U müsste sich auf Größe m x n reduzieren lassen. Wenn stattdessen m
@brainpi
@brainpi 2 жыл бұрын
@@knobberschrabser424 Ja, genau. Das kann man so machen. Ohne jetzt ausschließen zu wollen dass die größeren Dimensionen doch noch einen weiteren theoretischen Nutzen haben, ist es am Ende sicherlich einfach eine Frage der Definition welche Dimensionen man vor Augen hat wenn man über die SVD spricht
@Ginimo
@Ginimo 2 жыл бұрын
Super Video! Jedoch komme ich beim letzten Schritt nicht ganz mit. Wie komme ich auf U3 mit dem Gram Schmidt Verfahren? Könntest du die Rechnung noch zur Verfügung stellen? Ich kenne Gram Schmidt nur, wenn ein Vektor für U3 schon bekannt ist und wir ihn orthonormalisierne wollen. Hier ist es aber nciht der Fall. Daher bin ich ich etwas ratlos.
@brainpi
@brainpi 2 жыл бұрын
Ja, du hast recht. Auf den Schritt hätte ich noch ein wenig genauer eingehen können. Grundsätzlich kannst du natürlich jedes Orthonormalisierungsverfahren benutzen das du willst. Ich habe das mit Gram-Schmidt wie folgt gemacht: Ich habe mir einen beliebigen Vektor aus dem R^3\{0} ausgedacht der jetzt nicht gerade linear abhängig von u_1 und u_2 ist (wenn er doch mal linear abhängig ist, dann merkst du das beim Verfahren wenn da der Nullvektor als orthogonaler Vektor rauskommt). Nach einem Schritt Gram-Schmidt hast du diesen beliebigen Vektor dann orthogonal zu u_1 und u_2 ausgerichtet und mit dem teilen durch die Norm auch gleich noch normalisiert. Ich weiß leider grade nicht mehr mit welchen Vektor ich im Video gestartet bin um am Ende das u_3 so zu erhalten wie es da steht. Aber zum Glück ist das ja auch egal wie genau der Vektor u_3 am Ende aussieht. Hauptsache er ist orthogonal und normiert. ;-)
@Ginimo
@Ginimo 2 жыл бұрын
@@brainpi Super danke für die Erklärung! Sowie ich das richtig sehe, war der beliebige Vektor (-1,1,1).
@brainpi
@brainpi 2 жыл бұрын
@@Ginimo Das ist auf jeden Fall eine Möglichkeit. Am Ende würden aber auch alle anderen Vektoren die nicht linear abhängig sind nach Gram-Schmidt entweder auf den Vektor u_3 oder den Vektor (-1) * u_3 gedrückt werden. (einfach weil es in drei Dimensionen nur genau zwei Möglichkeiten für einen dritten orthonormalen Vektor gibt, falls zwei Vektoren bereits feststehen)
@mrmichi1504
@mrmichi1504 2 жыл бұрын
Hallo, erstmal danke für das tolle Video, ich habe vor meine Bachelorarbeit über die Singulärwertzerlegung zu schreiben und dieses Video hat meinem Verständnis rund um das Thema sehr weitergeholfen. Ich habe allerdings noch eine Frage: Bei der Summendarstellung unten im Bild bei 12:25 (Summe von i bis r von sigma_i * u_i * (v_i)^T): Wie genau kann ich mir diese Summe genau vorstellen? Nach meiner Überlegung ergeben die einzelnen Summanden jeweils mxn-Matrizen, die dann aufsummiert werden. Heißt das, das bei den ersten paar Summanden (also die mit den größten Singulärwerten) sozusagen "am meisten" zu den endgültigen Werten der jeweiligen Einträge von A beigetragen wird? Und wenn ich mir diesen Vorgang nicht zeilenweise wie in der Summendarstellung, sondern eben durch die reine Matrixmultiplikation vorstelle, ist das so, als hätte ich all diese einzelnen Schritte in einem großen gemacht, oder irre ich mich da? lg Michael
@brainpi
@brainpi 2 жыл бұрын
Hey, erstmal gutes Gelingen bei der Bachelorarbeit!! Ja, da hast du recht. Bei den Summanden handelt es sich um Matrizen die aufsummiert werden. Ich stelle mir das gerne auch (ganz altmodisch) wie Folien von einem Overheadprojektor vor. Jeder Summand ist eine Folie die wir dann Stück für Stück übereinander legen. Je mehr wir übereinander legen desto deutlicher wird das Endbild. Und ja, die ersten Summanden tragen damit noch am Meisten mit zum Gesamtbild bei. Die letzten Summanden sind eher so für kleinere Details da. (Wenn ich so drüber nachdenken wäre es auch mal ganz lustig sich die einzelnen Summanden - also Matrizen - zu einem gegebenen Bild auszurechnen und zu sehen wie viele Details man auf diesen einzelnen Folien erkennen kann. Muss ich vielleicht mal machen... 😅) Wenn du die Matrixdarstellung eine Zeile drüber meinst: Ja, klar. Die beiden Darstellungen sind völlig äquivalent. Wenn man hier am Ende "Details weglassen" möchte, würde man halt Spalten von u und Zeilen von v weglassen. (Also die Spalten bzw. Zeilen die zu den kleinsten Singuläreren gehören)
@mrmichi1504
@mrmichi1504 2 жыл бұрын
@@brainpi Alles klar, danke für die schnelle Antwort! 🙂
@knobberschrabser424
@knobberschrabser424 2 жыл бұрын
@@brainpi Ich glaube nicht, dass man bei den einzelnen Matrizen viel vom Bild erkennen wird. Die Zeilen und Spalten sind ja alle Vielfache voneinander, wodurch sich wohl eher ein regelmäßiges Muster ergeben wird.
@brainpi
@brainpi 2 жыл бұрын
@@knobberschrabser424 Ja, wahrscheinlich hast du recht. Ich bin allerdings immer noch nicht dazu gekommen mir das tatsächlich einmal zu Programmieren und nachzuschauen 🙈
@sladop6921
@sladop6921 Жыл бұрын
Du erklärst das einzige von den Anwendungen was ich nicht brauche.
@brainpi
@brainpi Жыл бұрын
Naja, auf irgendwas muss man sich ja beschränken. 😅 Was hättest du denn gebraucht?
@sladop6921
@sladop6921 Жыл бұрын
@@brainpi Wir haben alles sehr viel theoretischer an der Uni hier :D Also eine der zwei anderen Anwendungspunkte wären hilfreich gewesen, aber trotzdem ein gutes video! :)
@brainpi
@brainpi Жыл бұрын
@@sladop6921 Ja, ok. Das ist in diesem Video natürlich nicht gegeben. Ich hatte schonmal ernsthaft mit dem Gedanken gespielt ein ergänzendes Video zu machen in dem es dann über sowas wie die SVD für beschränkte Operatoren in Hilberträumen geht. Aber ich wusste bisher nicht so richtig ob das das Interesse von irgendwem geweckt hätte 😅
Givens-Rotationen - Die Grundlagen
14:56
BrainPi
Рет қаралды 1,7 М.
Мы сделали гигантские сухарики!  #большаяеда
00:44
ISSEI & yellow girl 💛
00:33
ISSEI / いっせい
Рет қаралды 23 МЛН
Get 10 Mega Boxes OR 60 Starr Drops!!
01:39
Brawl Stars
Рет қаралды 18 МЛН
Meet the one boy from the Ronaldo edit in India
00:30
Younes Zarou
Рет қаралды 17 МЛН
Was ist ein Hilbertraum?
11:28
BrainPi
Рет қаралды 7 М.
QR Zerlegung (mit Gram Schmidt Orthogonalisierung)
12:31
MathePeter
Рет қаралды 59 М.
Cholesky Zerlegung | Numerik
20:29
BrainGain
Рет қаралды 3,3 М.
What is the Singular Value Decomposition?
7:40
Stochastic
Рет қаралды 113 М.
Lecture 47 - Singular Value Decomposition | Stanford University
13:40
Artificial Intelligence - All in One
Рет қаралды 333 М.
Linear Systems of Equations, Least Squares Regression, Pseudoinverse
11:53
Wie man den Kern einer Matrix berechnet
15:56
BrainPi
Рет қаралды 10 М.
Мы сделали гигантские сухарики!  #большаяеда
00:44