Holger Junghanns

Werbung
Numerisches Seminar BNC 2002
Thema3: Singulärwertzerlegung
Holger Junghanns - TU Bergakademie Freiberg
1
Jede reelle Matrix A ∈ IRm×n vom Rang r kann so in drei Matritzen zerlegt
werden(Singulärwertzerlegung), dass sie die folgende Gleichung erfüllt:
A = U ΣV T
Dabei gilt folgendes: Die Matritzen U ∈ IRm×m und V ∈ IRn×n sind orthogonal,
dh. sie erfüllen U U T = U T U = I und V V T = V T V = I.
Die Matrix Σ ist eine Diagonalmatrix mit der folgenden Struktur:





Σ=



σ1
0
0
..
0
..
.
0
0
.
···0
0
···0
0
..
.
σr
.
..
···0
.
..
0
0
···0





 , wobei σ1 ≥ σ2 ≥ · · · ≥ σr



> 0 , Σ ∈ IRm×n
Die Zahlen σi nennt man die Singulärwerte von A. Die Spalten [u1 · · · um ] von U
heißen linke Singulärvektoren. Analog heißen die Spalten [v1 · · · vn ] von V rechte
Singulärvektoren.
2
A=U V
T
n
v1
m
A
vn
1
1
n
n
n+1
m
Abb. 1: Abbildungseigenschaften von A
im Zusammenhang mit der SVD
3
Nun folgen einige wichtige Eigenschaften der SVD
(engl. Singular Value Decompositon)
1. Es gelten: AV = U Σ und AT U = V ΣT
2. Vergleicht man die Spalten der unter Punkt 1 beteiligten Matritzen, dann muß
gelten:
(
Avi =
(
AT ui =
σi ui
für
i = 1, 2, ..., r
0
für
i = r + 1, r + 2, ..., n
σi vi
für
i = 1, 2, ..., r
0
für
i = r + 1, r + 2, ..., m
und
3. A = U ΣV T kann als Summe von Rang-1 Matritzen dargestellt werden:
A=
r
P
σi ui viT
i=1
4. Die von Null verschiedenen Eigenwerte der symmetrischen Matrix AT A sind
σ12 , ..., σr2 . Die rechten Singulärvektoren [v1 , ..., vr ] sind die zugehörigen
orthonormalen Eigenvektoren.
4
5. Die von Null verschiedenen Eigenwerte der symmetrischen Matrix AAT sind
ebenfalls σ12 , ..., σr2 . Die linken Singulärvektoren [u1 , ..., ur ] sind die
zugehörigen orthonormalen Eigenvektoren.
6. Sei A ∈ IRn×n symmetrisch mit Eigenwerten λ1 , ..., λr verschieden von Null
und dem Betrage nach größer Null. Dann sind σi = |λi | die Singulärwerte von
A.
7. Das Bild der n-dimensionalen Einheitskugel unter A ist im m-dimensionalen ein
Ellipsoid mit Mittelpunkt 0. Die Länge seiner Halbachsen beträgt σi ui .
8. Es gilt kAk2 = σ1 für A ∈ IRm×n .
Falls A ∈ IRn×n invertierbar ist gilt außerdem kA−1 k2 = σ −1
5
Aus der SVD geht ein äußerst wichtiger Approximationssatz hervor. Die SVD einer
Matrix A kann verwendet werden um eine rangreduzierte Matrix Ak zu finden, die
A am besten annähert.
Theorem von Schmidt-Mirsky .
Sei A ∈ IRm×n eine Matrix mit Rang r und der SVD A = U ΣV T .
Dann gibt es eine Matrix Ak ∈ IRm×n mit Rang k < r und
Ak =
k
P
σi ui viT
i=1
Diese Matrix Ak ist die beste Rang-k Approximation an A im Sinne der
Minimierung von kA − Ak k2 .
Es gilt
kA − Ak k2 = σk+1
6
Dieser Approximationssatz wird für verschiedene Anwendungen in der Praxis
benutzt. Eine davon ist die Bildkompression.
Ein Bild kann man als eine m × n Matrix auffassen, wobei der Eintrag (i, j) den
Helligkeitswert des Pixel (i, j) repräsentiert. Anstatt nun alle m · n Einträge zu
speichern wollen wir weniger Einträge speichern, aus denen sich das Original-Bild
annähernd wiederherstellen läßt. Unter Verwendung einer rangreduzierten Matrix
Ak müssen wir nur noch m · k Einträge für die Vektoren u1 · · · uk und n · k
Einträge für die σ1 v1 · · · σk vk speichern. Insgesamt benötigt das komprimierte Bild
also nur (m + n) · k Speichereinträge.
In M atlab läßt sich die Kompression eines 512 × 512 Graustufen-Bildes mit Hilfe
der SVD folgendermaßen umsetzen:
A = imread(’lenna.jpg’);
[U,S,V]=svd(double(A));
Ak = U(:,1:N)*S(1:N,1:N)*V(:,1:N)’;
imagesc(Ak); colormap(gray), axis image, axis off
7
Originalbild
k=30
k=10
Die Kompressionsrate errechnet sich wie folgt:
(m+n)·k
m·n
Damit haben wir für die verschieden Werte von k folgende Kompressionsraten:
k
Kompressionsrate
10
0.039
30
0.117
50
0.195
8
Herunterladen