Einzelwertzerlegung Teil 1 Perspektiven für Lineare Algebra, Mathe ∩ Programmierung
Ich möchte den ersten Beitrag ganz auf die Motivation und Hintergrund verbringen. Als Teil davon, ich glaube, wir brauchen eine kleine Erinnerung, wie lineare Algebra equivocates lineare Unterräume und Matrizen. Ich sage: „Ich denke“, weil, was ich sagen werde selten im Detail ausgeschrieben zu sein scheint. Tatsächlich wurde ich mich verwirrt, als ich zum ersten Mal von der linearen Algebra angewendet Algorithmen, maschinelles Lernen und Daten Wissenschaft, zu lesen begann ein solides Verständnis der linearen Algebra aus mathematischer Sicht trotz. Die Sorge ist, die Verbindung zwischen Matrizen als Transformationen und Matrizen als „bequeme“ Art und Weise Daten zu organisieren.
Daten vs. Karten
Lineare Algebra-Liebhaber gerne tief Fakten über Aussagen über Matrix-Faktorisierung auszudrücken. Das heißt, werden sie etwas undurchsichtig wie sagen (und das ist die vollständige Erklärung für SVD wir in der Post bekommen):
Der SVD eine Matrix mit realen Werten ist eine Faktorisierung von As, wobei eine orthogonale Matrix ist, ist eine orthogonale Matrix und eine Diagonalmatrix mit nicht negativen reellen Einträgen auf den Diagonalen.
Okay, ich kann die Worte verstehen, individuell, aber was es in Bezug auf das große Bild bedeutet? Es gibt zwei scheinbar widersprüchlichen Interpretationen von Matrizen, die unsere Vision durcheinander.
Die erste ist, dass eine lineare Karte von einigem -dimensionalen Vektorraum zu einem -dimensionalen eines. Lassen Sie uns mit reellen Zahlen arbeiten und den Domain-Vektorraum und die codomain nennen. In dieser Interpretation drückt die Faktorisierung eine Änderung der Basis in der Domäne und codomain. Insbesondere drückt eine Änderung der Grundlage der üblichen Basis zu einer anderen Basis, und macht das gleiche für die Co-Domain.
Die Art und Weise diese beiden Ideen kombinieren ist, dass die Daten als das Bild der Basisvektoren unter der linearen Karte gedacht wird, spezifiziert durch. Hier ist ein Beispiel dieses zu konkretisieren. Sagen wir, ich möchte Leute Bewertung Filme auszudrücken. Jede Zeile wird auf die Ratings eines Films entsprechen, und jede Spalte einer Person entsprechen, und der Eintrag der Matrix ist die Bewertung Person zum Film gibt.

In Wirklichkeit sind sie auf einer Skala von 1 bis 5 Sternen bewertet, aber die Dinge einfach zu halten, werden wir nur sagen, dass die Ratings keine reelle Zahlen sein (sie ist einfach passiert ganze Zahlen zu holen). So stellt diese Matrix eine lineare Abbildung. Die Domain ist, und die Basisvektoren werden Menschen genannt. und die codomain ist, deren Basisvektoren sind Filme.

Nun wird der Datensatz, dargestellt durch, und durch die Definition, wie eine Matrix repräsentiert eine lineare Abbildung, die entires dieser Vektoren sind genau die Spalten. Wenn die codomain wirklich groß ist, dann ist das Bild ein kleiner dreidimensionale linearer Unterraum des codomain. Dies ist ein wichtiger Schritt, dass wir unsere Ansicht von nur die einzelnen Datenpunkte, um alle ihre Linearkombinationen als Unterraum erhöht haben.
Natürlich habe buchstäblich meine ich nicht, dass ein Film (wie in den Bits, die eine Datei einen Film enthält) als eine lineare Kombination von anderen Filmen dargestellt werden. Ich meine, dass wir einen Film formal als eine lineare Kombination in einem abstrakten Vektorraum für die Aufgabe in der Hand darstellen können. Mit anderen Worten, sie repräsentieren wir die Eigenschaften des Films, der seine Bewertung als Vektor abstrakt beeinflussen. Wir haben keine legitime mathematische Art und Weise zu verstehen, so dass der Vektor ist ein Proxy.
Es ist völlig unklar, was dies im Hinblick auf dem wirklichen Lebens bedeutet, mit der Ausnahme, dass man hoffen kann (oder theoretisierst, oder überprüfen), dass, wenn der Ratingprozess von Filmen „linear“ in der Natur ist dann diese formale Darstellung genau die reale Welt widerspiegelt. Es ist wie, wie die Physiker all insgeheim, dass Mathematik nicht wissen, buchstäblich die Gesetze der Natur diktieren, weil Menschen Mathematik in ihren Köpfen gemacht und wenn Sie die Natur zu hart die Mathematik stecken bricht, aber es ist so verdammt bequem Hypothesen zu beschreiben (und so verdammt genau), dass wir es nicht vermeiden können, mit Flugzeugen zu entwerfen. Und wir haben nichts besser als Mathe für diesen Zweck gefunden.
Ebenso sind Filmbewertungen nicht buchstäblich eine lineare Karte, aber wenn wir so tun, als sie sind, können wir Algorithmen machen, die mit ziemlich guter Genauigkeit, wie die Menschen Hilfe Filme vorhersagen. Also, wenn Sie wissen, dass Skyfall Bewertungen erhält 1,2 und 1 von Aisha, Bob, und Chandrika jeweils dann eine neue Person würde Skyfall Preis basiert auf einer linearen Kombination davon, wie gut sie mit diesen drei Personen auszurichten. Mit anderen Worten, bis auf eine lineare Kombination, in diesem Beispiel Aisha, Bob, und Chandrika epitomize den Prozess der Bewertung Filme.
Und jetzt kommen wir zum Schlüssel: die Matrix über SVD Factoring bietet eine Alternative und nützlichen Weg, um den Prozess der Menschen Bewertung Filme darzustellen. Durch die Veränderung der Grundlage eines oder beide Vektorräume beteiligt sind, zu isolieren wir die verschiedenen (orthogonal) Eigenschaften des Prozesses. Im Zusammenhang mit unserem Film Beispiel „Faktorisierung“ bedeutet folgende:
- Kommen Sie mit einer speziellen Liste von Vektoren, so dass jeder Film kann als eine lineare Kombination der geschrieben werden.
- Hat die analoge Sache für Leute zu bekommen.
- Do (1) und (2) in der Weise, dass die Karte ist diagonal mit Bezug auf den beiden neuen Basen gleichzeitig.
Man könnte denken, der als „idealisierten Filme“ und als „idealisierte Kritiker.“ Wenn Sie diese Daten verwenden wollen, zu sagen, Dinge über die Welt, dann würden Sie die Annahme, machen, dass jede Person als eine lineare Kombination geschrieben werden kann das und jeder Film kann als eine lineare Kombination der geschrieben werden. Dies sind die Zeilen / Spalten von der Faktorisierung. Um es zu wiederholen, sind diese Linearkombinationen nur in Bezug auf die Aufgabe der Rating-Filme. Und sie sind „besondere“, weil sie die Matrix diagonal machen.
- Alle Menschen Filme über die gleiche lineare Abbildung bewerten.
- Jede Person kann (für den alleinigen Zweck der Filmbewertungen) als Linearkombinationen von „idealen“ Menschen ausgedrückt werden. Ebenso für Filme.
- Der „idealisierte“ -Filme und die Leute können als lineare Kombinationen der Filme / Menschen in unserer speziellen Datensatz ausgedrückt werden.
- Es gibt keine Fehler in den Bewertungen.
Man könnte hat eine tiefe und interessante Diskussion über die philosophischen (oder ethische oder kulturelle) Aspekte dieser Annahmen. Aber da das Internet vorzieht respekt Diskurs brennen zu sehen, wir drehen statt Algorithmen.
Annähern Teilräume
Wie können wir wissen, dass nicht bereits niedrigen Rang ist? Die Gründe dafür sind, dass die Daten mit selbst den kleinsten bisschen Lärm voller Rang mit überwältigender Wahrscheinlichkeit sind. Eine konkrete Art und Weise, dies zu sagen ist, dass der Raum von Low-Rang Matrizen kleine Dimension hat (im Sinne eines Verteilers) im Innern des Raumes aller Matrizen. So Stören auch nur einen einzigen Eintrag durch eine verschwindend kleine Menge würde den Rang erhöhen.
Wir brauchen keine Verteiler zu verstehen, die SVD, obwohl zu verstehen. Für unser Beispiel von Menschen sollte klar sein, Filme des Voll Rang Objektrating. Der Lärm und die Zufälligkeit und Beliebigkeit in der menschlichen Präferenzen zerstören sicherlich jede „perfekt“ lineare Struktur, die wir zu finden hoffen konnten, und insbesondere das heißt der Datensatz selbst, das heißt das Bild von, ist ein großer Unterraum des codomain.
eine Low-Rang Annäherung zu finden, kann als „Glättung“ der Lärm aus den Daten gedacht werden. Und das funktioniert besonders gut, wenn der zugrunde liegende Prozess zu einer linearen Abbildung der Nähe ist. Das heißt, wenn die Daten nahe an vollkommen von relativ geringer Dimension in einem einzigen Unterraum enthalten ist. Eine Möglichkeit, zu denken, warum dies der Fall sein könnte, ist, dass, wenn der Prozess Sie beobachten wirklich linear ist, sondern die Daten, die Sie wird durch kleine Mengen an Rauschen gestört zu bekommen. Dann wird in einem messbaren Sinne zu niedrigem Rang der Nähe (mathematisch in der Folge Post definiert werden) und die Low-Rang Annäherung wird ein effizienter, genauer und verallgemeinerbar Ersatz für sein.
In Bezug auf unsere früheren Liste von Annahmen über, wenn Sie Algebra linear können Probleme zu lösen, für den SVD können wir „ungefähr“ auf die ersten drei Annahmen, und „nicht zu viele Fehler“ auf den vierten hinzuzufügen. Wenn diese Annahmen halten, wird SVD uns eine Matrix, die genau der Prozess gemessen wird repräsentiert. Umgekehrt, wenn SVD gut tut, dann haben Sie einige Hinweise darauf, dass der Prozess linear-esque ist.
Das ist es, so weit wie intuitiv zu verstehen, was der SVD ist. Ich sollte hinzufügen, dass die SVD nur nicht zulässt, dass man einen Rang Annäherung berechnen, ist es tatsächlich ermöglicht es Ihnen, eine genaue Darstellung zu setzen und zu erhalten. Wir werden nur verwenden Sie es nicht für diesen Zweck in dieser Serie.
Das zweite Bit der Intuition ist die folgende. Es ist nur ein wenig näher an Strenge, aber irgendwie wenig Einsicht für mich wirklich persönlich SVD klicken:
Der SVD ist, was Sie bekommen, wenn Sie iterativ das gierige Optimierungsproblem von Passdaten auf eine Linie lösen.
Damit meine ich, können Sie den SVD berechnen, indem Sie folgendermaßen vorgehen:
- Was ist die beste Linie meine Daten passend?
- Okay, ignoriert diese erste Zeile, was ist die nächste beste Linie?
- Okay, ignoriert alle Zeilen in der Spanne von diesen ersten beiden Zeilen, was ist die nächste beste Linie?
- Ignoriert alle Zeilen in der Spanne der ersten drei Zeilen, was ist die nächste beste Linie?
- (wiederholen)
Es sei schockierend sein, dass das funktioniert. Für die meisten Probleme, in Mathematik und im Leben, ist der Greedy-Algorithmus bei weitem nicht optimal. Wenn es passiert, einmal alle blauen Monde, dass der Greedy-Algorithmus die beste Lösung für ein natürliches Problem ist (und nicht offensichtlich so, oder ungefähr so einfach), es ist unser geistiges Pflicht zu stoppen, was wir tun, sitzt gerade nach oben, und verstehen und schätzen es wirklich. Diese Wunder transzendieren politische Querelen und Sportergebnisse. Und wir werden die nächste Post sofort durch Tauchen in diese gierigen Optimierungsproblem starten.
Die geometrische Perspektive
Für mich ist der Schlüssel, der aus dieser Erklärung fehlt, ist die Betonung der Annäherung. Was macht den SVD so magisch ist nicht, dass die Faktorisierung in erster Linie vorhanden ist, sondern vielmehr, dass der SVD hat diese Schichten zunehmend gute Annäherung. Obwohl die Terminologie, die in der nächsten Post kommt, sind diese Schichten die (geordnet) Singulärvektoren und Singulärwerte. Und darüber hinaus, dass die algorithmischen Verfahren zur Konstruktion geht diese Schichten notwendigerweise um von den stärksten Annäherung an schwächste.
Das nächste Mal: Algorithmen
Beim nächsten Mal werden wir all dies auf die formalen Definitionen und Strenge verbinden. Wir werden den Greedy-Algorithmus Ansatz studieren, und dann werden wir den SVD implementieren und testen Sie es auf einigen Daten.
Ich denke, die Transformation ist nicht affinen? Es gibt keine Übersetzung, nur Rotation und Skalierung.
Jeder linearer Raum induziert eine Klasse von affinen Räumen. Insbesondere betrachtet den Schnittpunkt der Ebenen, die durch einen Ursprung mit einer Ebene geringfügig von dem Ursprung versetzt.
Eine Frage, über „vollen Rang“ - die A-Matrix ist 8 × 3 so nicht sein Maximum # lin ind ist. Zeilen oder Spalten 3? Hat voller Rang nur bedeuten, dieses Maximum oder etwas mehr - zum Beispiel, wenn es 1000 Filme und noch 3 Personen gibt es einen R ^ 3 Raum von Menschen, sondern R ^ 1000 Raum von Filmen mit einem R ^ 3 Subraum von linearen Kombinationen in ihm? Vielen Dank für die Blog-Post!
Wenn zum Beispiel haben Sie nur drei Spalten und Sie wollen SVD verwenden, dann muss Ihr Universum 3-dimensional sein. Zum Beispiel kann ein Koch kann einige Zutaten wie Spalten verwenden, aber man braucht ein viele dann ein leckeres Gericht zu schaffen. Was ich betonen möchte, ist, dass Ihre Zeilen und Spalten groß genug sein muss, um das Universum des Diskurses, die allgemeine Meinung zu beschreiben oder in der Lage sein, zur Annäherung an die Realität verwendet werden Sie modellieren. Und was SVD gibt Ihnen ist eine besondere Basis, eine Gruppe von Köchen der Lage, den Geschmack zu entwerfen Sie wollen. Ich denke, die Motivation entlang dieser Linien sein sollte, ist die erste Frage über die Ausdruckskraft Ihrer Basis ist.
SVD kann das Konzept des ‚Ranges‘ in einer wirklich coolen Art veranschaulichen: als Entropie.
1) schaffen eine 20 × 100-Matrix von Zufallszahlen
2) Führen SVD. Die singulären Werte sollten 20 fast genau gleich Zahlen.
3) Multiplizieren der Matrix selbst eine 100 × 100-Matrix zu erstellen,
4) laufen SVD auf diese
Sie sollten einen singulären Vektor mit 20 Werten erhalten, die fast genau die gleiche und 80 sind Werte, die infitesimally klein sind. Ihre 20 × 100-Matrix hat fast maximalen Rang. Ihre 100 × 100 Matrix hat nur 20 × 100 im Wert von Rang, wie ein Ballon aufgeblasen.
Rang in der Entropie.
Ich habe jetzt einen Artikel, wie dies für eine ganze Weile suchen, das so viel Hilfe ist, so vielen Dank!
Aber ich habe eine harte Zeit zu erfassen, wie bestimmte Datensätze als lineare Karten zu interpretieren. Beispielsweise:
1) Wie interpretieren Sie ein digitales Bild durch eine Matrix als eine lineare Karte dargestellt?
2) Wie interpretieren Sie eine Datenmatrix, deren Zeilen- und Spaltennummer repräsentieren Indizes Position (x_i, y_k) und das Matrixelement als der Wert, den es dort nimmt? M_ik = f (x_i, y_k)
Zu einem gewissen Grad sind beide Antworten auf Ihre Frage einfach „auf die gleiche Weise jede Matrix als eine lineare Karte interpretieren“, die von mit einer Basisvektor für jede Zeile / Spalte und jede Spalte von Einträgen indiziert durch einen Basisvektor ist äußert die Ausbau der als Linearkombination der Basisvektoren Zeile.
Dies ist kein „nice“ Antwort für Ihre zwei Beispiele, da die Wahl der Basisvektoren für die Domäne und codomain gekünstelt sind. Aber, sagen für Bilder, das ist, wie die Welt funktioniert. Die Standarddarstellung ist nicht sehr nützlich, einen für lineare Algebra. So gehen die Menschen zu studieren, wie eine bessere Basis zu holen, und sie am Ende mit Dingen wie die Fourier-Transformation und all den schönen Sachen. Ich denke, dass ein großer Teil der Anwendbarkeit der linearen Algebra hängt davon ab, wie willkürlich die Auswahl war, dass Sie Ihre Daten in dem ersten Platz.
Lassen Sie eine Antwort Antworten abbrechen
Code über, die Buchstaben nicht decken
Triplebyte die gemeinsame Anwendung können talentierte Programmierer Lebenslauf und Werber Bildschirme überspringen, während gleichzeitig an mehrere Top-Tech-Unternehmen Anwendung. Schlagen Sie ihre Online-Codierung Quiz zu beginnen. Leute mit Interesse an Mathematik und Physik sind in der Regel gut zu machen.



