Von zentraler Bedeutung für die Einsatzmöglichkeiten der Singulärwertzerlegung sind folgende Beobachtungen. Angenommen, ist eine beliebige (m × n)-Matrix und
ist eine Singulärwertzerlegung von . Zudem nehmen wir an, dass die Matrix mehr Spalten als Zeilen besitzt, dass also gilt.
![](figure/courses/svd/approximation-matrix.png)
Per Definition der Singulärwertzerlegung wissen wir, dass nur auf der Diagonalen Einträge haben kann, die ungleich Null sind. Mit anderen Worten: Die Spalten m+1 bis n der Matrix beinhalten keinerlei Informationen, sodass zur Darstellung der Matrix die Matrizen und reduziert werden können:
![](figure/courses/svd/approximation-matrix-m.png)
Zudem wissen wir, dass die Singulärwerte der Matrix absteigend sortiert und positiv (oder gleich Null) sind. Tatsächlich sind bei Anwendungen im Bereich des Data Science häufig sehr viele Singulärwerte Null oder fast Null. Dies bedeutet, dass die Matrizen weiter reduziert werden können, ohne einen größeren Informationsverlust befürchten zu müssen. Um genauer zu sein: Für ein sei
- die (m × q)-Matrix, die aus den ersten Spalten von besteht,
- die (q × q)-Matrix, die aus der oberen linken (q × q)-Matrix von besteht,
- die (q × n)-Matrix, die aus den ersten Zeilen von besteht.
Damit erhalten wir die folgende Approximation der Matrix :
![](figure/courses/svd/approximation-matrix-q.png)
Je größer gewählt wird, desto besser ist die Approximation. Spätestens für gilt sogar Gleichheit. Als kleine Zusammenfassung:
Wenn viele Singulärwerte einer Matrix Null oder fast Null sind, dann können die Matrizen der Singulärwertzerlegung reduziert werden, ohne dass mit einem größeren Informationsverlust zu rechnen ist.
Sämtliche Beobachtungen zuvor lassen sich auch auf Fälle mit übertragen. Entsprechend kann die Vorgehensweise als allgemeines Kompressionsverfahren eingesetzt werden, wie wir in den nachfolgenden Abschnitten sehen werden. Im Bereich des Data Science gibt es zahlreiche weitere Einsatzmöglichkeiten, auf die wir in weiteren Kursen eingehen werden.
Der folgende Quellcode dient dazu, erste Erfahrungen mit dem Reduktionsverfahren sammeln zu können. Dabei müssen die reduzierten Matrizen nicht explizit aufgestellt werden: Die Matrixmultiplikationen werden anhand drei verschachtelter for-Schleifen durchgeführt.