SVD rozklad a pseudoinverse Odpřednesenou látku naleznete v kapitole 12 skript Abstraktní a konkrétní lineární algebra. Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 1/21
Cíle této přednášky 1 Každá symetrická matice A : R n R n má pouze reálné vlastní hodnoty a je diagonalisovatelná. a Navíc: vlastní vektory symetrické matice tvoří hezkou bázi prostoru R n. 2 Jako důsledek předchozího ukážeme, že každou matici M : R s R r lze napsat jako b M = USV T }{{} SVD rozklad M kde S je diagonální a U 1 = U T a V 1 = V T. 3 Ukážeme aplikace SVD rozkladu. a Tento výsledek nebudeme dokazovat, vyžaduje hlubší znalosti z reálné analýzy. b Výpočty z této přednášky jsou časově velmi náročné. U zkoušky bude vyžadováno základní pochopení teorie, nikoli výpočty. Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 2/21
Věta o hlavních osách (pro standardní skalární součin) Pro každou symetrickou reálnou matici A : R n R n existuje ortonormální báze R n složená z vlastních vektorů matice A. Navíc matice A má pouze reálné vlastní hodnoty. Důkaz. Bez důkazu (je těžký). Viz Důsledek 12.1.5 skript. Vysvětlení A zobrazuje jednotkovou kouli na (případně degenerovaný) elipsoid. Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 3/21
Důsledek SVD rozklad matice pro stand. skalární součin Libovolnou matici M : R s R r lze zapsat ve tvaru USV T, kde 1 V : R s R s a U : R r R r jsou ortogonální, tj. V T = V 1 a U T = U 1. 2 S : R s R r má na hlavní diagonále kladná čísla σ 1 σ 2... σ h (tzv. singulární hodnoty matice M), kde h = rank(m). Všude jinde má matice S nuly. Myšlenka důkazu. 1 Matice A = M T M : R s R s je symetrická. Její vlastní hodnoty jsou nezáporné. Seřad te je: λ 1 λ 2... λ s 0. Označte příslušnou ortonormální bázi jako (v 1,..., v s ). 2 Definujte σ 1 = λ 1,..., σ s = λ s. Vyberte nenulová σ i : σ 1 σ 2... σ h > 0 a definujte u i = Mv i /σ i pro i = 1,..., h a doplňte na ortonormální bázi (u 1,..., u r ). Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 4/21
Příklad (SVD rozklad) ( ) 14 4 11 Nalezneme SVD rozklad pro M =. 2 8 7 ( ) 14 2 ( ) ( ) 200 40 140 1 M T 14 4 11 M = 4 8 = 40 80 100 2 8 7 11 7 140 100 170 2 Vlastní hodnoty M T M jsou λ 1 = 360, λ 2 = 90, λ 3 = 0. Příslušná ( ) ( ortonormální ) ( báze ) vlastních vektorů ( je ) 2/3 2/3 1/3 2/3 2/3 1/3 ( 1/3, 2/3, 2/3 ). Tudíž V = 1/3 2/3 2/3. 2/3 1/3 2/3 2/3 1/3 2/3 3 Singulární hodnoty M jsou σ 1 = λ 1 = 6 10, σ 2 = λ 2 = 3 10. Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 5/21
Příklad (SVD rozklad, pokrač.) 4 u 1 = Mv 1 /σ 1 a u 2 = Mv 2 /σ 2 : ( ) 1 6 10 14 4 11 2 8 7 ( ) 1 3 10 14 4 11 2 8 7 ( ) 2/3 ( 1/3 = 2/3 ) ( 2/3 2/3 1/3 ( = 3/ 10 1/ 10 ) 1/ 10 3/ 10 5 Plný SVD rozklad M je: ( ) ( 14 4 11 3/ 10 1/ ) ( 10 = 2 8 7 1/ 10 3/ 6 ) ( 2/3 2/3 1/3 10 0 0 10 0 3 1/3 2/3 2/3 10 0 2/3 1/3 2/3 ) ) T Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 6/21
Geometrie SVD rozkladu M = USV T Matice V = (v 1,..., v s ) a U = (u 1,..., u r ) jsou tvořeny vektory nových ortonormálních bází V a U prostorů R s a R r, ve kterých se M : R s R r jeví jako změna měřítka S : R s R r. R s T Ks V R s S R r T U Kr R r Protože T Ks V = (T V Ks ) 1 = V 1 = V T a T U Kr = U, znázorňuje vrchní obrázek opravdu R s V T R s S R r U R r A to je přesně SVD rozklad matice M. Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 7/21
Geometrie SVD rozkladu M = USV T (pokrač.) Obraz jednotkové koule v R s při zobrazení x Mx: 1 Rotace (případně nevlastní) V T : R s R s : V T 2 Změna měřítka (případně i s degenerací) S : R s R r : S 3 Rotace (případně nevlastní) U : R r R r : U Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 8/21
Redukce SVD rozkladu a aproximace SVD rozkladem Plný SVD rozklad USV T matice M hodnosti h lze psát jako h M = σ j u j vj T j=1 kde u j jsou sloupce U a v j jsou sloupce V. Částečné součty k M k = σ j u j vj T j=1 pro k h mají hodnost k a platí M M k F = min { M X F X : R s R r, rank(x) k} kde s X F = x T s r j x j = j=1 j=1 i=1 je Frobeniova norma matice X = (x 1,..., x s ) = (x ij ). x 2 ij Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 9/21
Příklad ( ) 14 4 11 Pro M = lze psát její SVD rozklad 2 8 7 ( 3/ 10 1/ ) 10 M = 1/ 10 3/ 10 ( 6 10 0 0 0 3 10 0 ) ( 2/3 ) T 2/3 1/3 1/3 2/3 2/3 2/3 1/3 2/3 jako M = 6 ( 3/ ) 10 10 1/ (2/3 1/3 2/3)+3 ( 1/ ) 10 10 10 3/ ( 2/3 2/3 1/3) 10 a M 1 = 6 ( 3/ ) ( ) 10 10 1/ 18/15 9/15 18/15 (2/3 1/3 2/3) = 10 6/15 3/15 6/15 Platí M M 1 F = 3 10 0.477 M F 450 Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 10/21
Chyba při nahrazení částečným součtem SVD rozkladu Platí rovnost: M M k F = σ 2 k+1 +... + σ2 h Speciálně: M F = σ 2 1 +... + σ2 h Podílu M M k F M F = σ 2 k+1 +... + σ2 h σ 2 1 +... + σ2 h říkáme relativní změna matice M (při nahrazení M k-tým částečným součtem jejího SVD rozkladu). Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 11/21
SVD rozklad matice lze použít ke kompresi dat Obrázek lze zadat maticí 0 0 0.5 0.5 0.5 0.5 0 0 0 0.5 0 0 0 0 0.5 0 0.5 0 0 0 0 0 0 0.5 0.5 0 1 0 0 1 0 0.5 M = 0.5 0 0 0 0 0 0 0.5 0.5 0 1 0 0 1 0 0.5 0 0 1 1 0 0 0.5 0 0.5 0 0 0 0 0.5 0 0 0 0.5 0.5 0.5 0.5 0 0 kde 0 = bílá, 0.5 = šedá, 1 = černá. Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 12/21
SVD rozklad matice lze použít ke kompresi dat (pokrač.) SVD rozklad matice M má tvar USV T, kde matice S je zaokrouhlena na exponenciální formát se dvěma desetinnými místy: 2.57 0 0 0 0 0 0 0 0 1.61 0 0 0 0 0 0 0 0 1.13 0 0 0 0 0 0 0 0 1.00 0 0 0 0 S = 0 0 0 0 1.63 10 16 0 0 0 0 0 0 0 0 9.65 10 17 0 0 0 0 0 0 0 0 5.16 10 17 0 0 0 0 0 0 0 0 1.80 10 17 0 0 0 0 0 0 0 0 Ke kompresi stačí použít první čtyři singulární hodnoty (prvky na hlavní diagonále S) matice M, protože pátá až osmá singulární hodnota je prakticky rovna nule. Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 13/21
SVD rozklad matice lze použít ke kompresi dat (pokrač.) Obrázky pro první čtyři aproximace matice M vypadají takto: Relativní změny matice M jsou následující: M M 1 F 1.612 + 1.13 2 + 1.00 2 M F 2.57 2 + 1.61 2 + 1.13 2 + 1.00 0.65 2 M M 2 F 1.13 2 + 1.00 2 M F 2.57 2 + 1.61 2 + 1.13 2 + 1.00 0.45 2 M M 3 F 1.00 2 M F 2.57 2 + 1.61 2 + 1.13 2 + 1.00 0.30 2 M M 4 F M F 0 2.57 2 + 1.61 2 + 1.13 2 + 1.00 = 0.00 2 Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 14/21
Co dělat, když matice A : R s R r nemá inversi? R s A + R r b A + b im(a + ) o ker(a) A o proj im(a) (b) rej im(a) (b) im(a) ker(a + ) Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 15/21
Tvrzení At A : R s R r je matice. Potom existuje nanejvýš jedna matice A + : R r R s, která splňuje následující čtyři podmínky a AA + A = A, A + AA + = A +, (A + A) T = A + A, (AA + ) T = AA + A. a Matici A +, která tyto čtyři podmínky splňuje, říkáme pseudoinverse matice Důkaz. Bez důkazu (není těžký, ale není zajímavý). Pro zájemce, viz Tvrzení 12.4.1 skript. Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 16/21
Příklady pseudoinversí 1 At A : R n R n je regulární matice. Potom A + = A 1. Platí totiž rovnosti: 1 AA 1 A = A 2 A 1 AA 1 = A 1 3 (A 1 A) T = E n = A 1 A 4 (AA 1 ) T = E n = AA 1 2 At O s,r : R s R r. Potom (O s,r ) + = O r,s. Platí totiž rovnosti: 1 O s,r O r,s O s,r = O s,r 2 O r,s O s,r O r,s = O r,s 3 (O r,s O s,r ) T = O s,s = O r,s O s,r 4 (O s,r O r,s ) T = O r,r = O s,r O r,s Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 17/21
Příklady pseudoinversí (pokrač.) 3 At A : R k R n má hodnost k. Potom A + = (A T A) 1 A T. Platí totiž rovnosti: 1 A(A T A) 1 A T A = A 2 (A T A) 1 A T A(A T A) 1 A T = (A T A) 1 A T 3 ((A T A) 1 A T A) T = (A T A) 1 A T A 4 (A(A T A) 1 A T ) T = A(A T A) 1 A T Pozorování: v tomto případě platí AA + b = proj im(a) (b) To nás nepřekvapuje: tak jsme pseudoinversi vymysleli! Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 18/21
Věta (nalezení pseudoinverse pomocí SVD rozkladu) At A = USV T je plný SVD rozklad matice A : R s R r. Potom platí: 1 Matice je pseudoinverse matice S. 2 Matice je pseudoinverse matice A. S + = ( 1 e 1,..., 1 e h, o,..., o ) σ 1 σ h }{{} (r h)-krát A + = VS + U T Důkaz. Bez důkazu. Viz Důsledek 12.4.5 skript. Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 19/21
Příklad (výpočet pseudoinverse pomocí SVD rozkladu) Nalezneme M + pro matici ( ) 14 4 11 M = 2 8 7 Plný SVD rozklad matice M je roven ( 3/ 10 1/ ) 10 1/ 10 3/ 10 ( a proto ( ) 2/3 2/3 1/3 M + = 1/3 2/3 2/3 2/3( 1/3 2/3 ) 10 10 = 1 180 7 13 4 8 6 10 0 0 0 3 10 0 ) ( 2/3 ) T 2/3 1/3 1/3 2/3 2/3 2/3 1/3 2/3 ( ) 1/(6 10) 0 ( 0 1/(3 10) 0 0 3/ 10 1/ 10 1/ 10 3/ 10 ) T Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 20/21
Další aplikace SVD rozkladu nepovinné 1 Pseudoinverse matic souvisí s metodou nejmenších čtverců, viz Dodatek C skript. Metoda nejmenších čtverců slouží k proložení optimální křivky naměřenými daty s nejmenší kvadratickou chybou. 2 Latentní sémantické indexování databází (také: LSI), viz Dodatek E skript. Pro databáze lze vytvořit vektorový model a SVD rozklad lze použít k vyhledání skrytých sémantických konceptů v databázi. 3 Analýza hlavní komponenty (také: PCA), viz Dodatek E skript. Při analýze multidimensionálních dat lze objevit hlavní komponenty dat, tj. lze nalézt podstatné naměřené veličiny. 4 A mnoho dalších aplikací... Jiří Velebil: Lineární algebra 19.12.2016: SVD rozklad a pseudoinverse 21/21