Sajátérték-problémák 2016. február 22.
Az alapfeladat Adott a következő egyenlet: Av = λv, (1) ahol A egy ismert mátrix v ismeretlen vektor λ ismeretlen szám Azok a v, λ kombinációk, amikre az egyenlet teljesül az A mátrix sajátvektorai és sajátértékei. minden sajátvektor számszorosára is igaz (1) ezeket nem tekintjük külön sajátvektornak a sajátvektorok ezért normalizálhatók a v = 0 triviális megoldás nem sajátvektor
A karakterisztikus egyenlet Az eredeti egyenlet akkor és csak akkor teljesül, ha det A λi = 0 is teljesül. ez egy polinomiális egyenlet λ-ra csak N < 4 esetben érdemes ezt megoldani lehetnek nem valós és degenerált gyökök is nagyobb mátrixok esetében más módszerek lesznek
Sajátvektorok Megkülönböztetünk jobb és baloldali sajátvektorokat Av = λv ua = λu v: jobboldali sajátvektor, oszlopvektor u: baloldali sajátvektor, sorvektor a kétoldali sajátvektorokhoz tartozó sajátértékek megegyeznek valós szimmetrikus mátrixra a sajátvektorok is
Négyzetes mátrixok állatkertje Szimmetrikus mátrix A = A T a ij = a ji Hermitikus mátrix A = A H a ij = a ji Ortogonális mátrix Normálmátrix Unitér mátrix A T A = A A T = I A H A = A A H A H = A 1 Valós mátrixokra hermitikus szimmetrikus unitér ortogonális
Speciális mátrixok tulajdonságai Hermitikus mátrix: A = A H sajátértékei mind valósak Nem szimmetrikus valós mátrix sajátértékei valósak vagy komplex konjugált párok Általános komplex mátrix sajátértékei tetszőleges komplex számok
Érdekesség: Wigner-féle félkörtörvény Valós, szimmetrikus mátrix random elemekkel feltöltve A sajátértékek valószínűségi eloszlása egy félkör, N esetben Viszonylag kevés megkötés az egyes elemek valószínűségi eloszlására: Azonos eloszlásból, függetlenül választva A sajátértékek eloszlása random mátrixokra tehát jól meghatározott Algoritmusok tesztelésére a random mátrixok nem jók!
Sajátvektorokból alkotott bázis Ha egy normálmátrix sajátértékei mind különbözőek, akkor sajátvektorai ortogonális bázist alkotnak normálás után: e i e j = δ ij degenerált sajátérték esetén saját altér van ortogonalizálható: pl. Gram Schmidt-eljárás Általános mátrix esetében a sajátvektorok általában nem ortogonálisak nem biztos, hogy teljes bázist alkotnak de a legtöbbször azért a bázis teljes
Gram Schmidt-ortogonalizáció u 1 = v 1, e 1 = u 1 u 1 u 2 = v 2 proj u1 (v 2 ), e 2 = u 2 u 2 u 3 = v 3 proj u1 (v 3 ) proj u2 (v 3 ), e 3 = u 3 u 3 u 4 = v 4 proj u1 (v 4 ) proj u2 (v 4 ) proj u3 (v 4 ), e 4 = u 4 u 4. k 1 u k = v k proj uj (v k ), j=1. e k = u k u k. Vektor vetítése másik vektorra: proj (b) a = a cos θ ( b b = a ) b b b b (2)
Jobb és baloldali sajátvektorok mátrixa Vezessük be a következő mátrixokat: U: baloldali sorvektorok alkotta mátrix V: jobboldali oszlopvektorok alkotta mátrix λ: a sajátértékekből alkotott diagonális mátrix Ezzel a jelöléssel a sajátérték-egyenletek: U A = λ U A V = V λ
Bal és jobboldali sajátvektorok ortogonalitása A sajátértékegyenletek: U A = λ U A V = V λ Az elsőt balról V-vel, a másodikat jobbról U-val szorozva, majd a két egyenlet különbségét képezve: (UV)λ = λ(uv) Különböző elemekből álló diagonális mátrixszal, mint pl. λ, csak olyan mátrix kommutál, ami maga is diagonális. következmény: UV diagonális következmény: u i v j = δ ij persze u-k és v-k megfelelően normálandók
Invertálható mátrix faktorizációja Ha létezik egy A mátrix inverze, akkor a következő áll fenn a balés jobboldali sajátvektorokból képzett U és V mátrixokra: U 1 = V Ha létezik a mátrix inverze, akkor a következőképpen faktorizálható A = VλU, illetve igaz, hogy λ = UAV
Invertálható mátrix diagonalizálása Előző eredmény: λ = UAV viszont tudjuk: vagyis: U = V 1 V 1 AV = λ Valós szimmetrikus mátrixokra: fenn áll, hogy V 1 = U = V T így a V-vel való szendvicselés ortogonális transzformáció is
Általános esetben ezt a szendvicselést hasonlósági transzformációnak nevezzük: ahol Z nyilvánvalóan invertálható A Z 1 AZ, A sajátérték-problémát megoldó programok ezen alapulnak megfelelően választott P i transzformációkkal az A mátrixot egyre közeĺıtjük a diagonálishoz: A P 1 1 AP 1 P 1 2 P 1 1 AP 1P 2... λ Ekkor a sajátvektorokat a következő módon kapjuk V = P 1 P 2...
Jacobi-transzformáció Keressük a P transzformációkat síkbeli forgatások alakjában: 1 c s P pq =. 1. s c 1 ahol a c és s számokra fennáll, hogy c 2 + s 2 = 1 ez a mátrix csak a pq, qp, pp és qq helyeken nem 0 vagy 1 szendvicseljük vele A-t, és számoljuk végig
Egyenlet a Jacobi-transzformáció paramétereire Elvégezzük a beszorzást 1 kiszámoljuk az A = P 1 AP mátrix elemeit csak a p. és q. sorok, illetve oszlopok elemei változnak tegyük a pq-t nullává! a következő egyenletre jutunk ctg 2φ = c2 s 2 2sc = a qq a pp 2a pq 1 házi feladat
A = P 1 AP kiszámítása a rp = ca rp sa rq ha r p, r q a rq = ca rq + sa rp ha r p, r q a pp = c 2 a pp + s 2 a qq 2sca pq a qq = s 2 a pp + c 2 a qq + 2sca pq a pq = ( c 2 s 2) a pq + sc (a pp a qq ) = a qp
A Jacobi-transzformáció iterációs lépése Az előbb felvázolt lépéssel a mátrix a pq elemét nulláztuk ezt a lépés tetszőlegesen sokszor ismételhetjük az újabb lépés a korábban lenullázott elemeket ugyan elrontja, de belátható: a nem diagonális elemek négyzetösszege monoton csökken vagyis a mátrix tart a diagonálishoz A Jacobi-transzformáció tulajdonságai érdemes mindig a legnagyobb nem diagonális elemet nullázni az algoritmus N 2 elem nullázását igényli de többször végig kell menni az egész mátrixon
A hatványiteráció Keressük egy mátrix legnagyobb sajátértékéhez tartozó sajátvektorát a sajátvektorai teljes ortogonális bázist alkotnak a teljes sajátérték-probléma megoldása nem feltétlen éri meg gyorsabb, iteratív megoldást keresünk Ha x 0 tetszőleges vektor megszorozzuk az A mátrixszal, majd leosztjuk a kapott vektort a legnagyobb elemével y 0 = 1 Ax 0, ahol c 0 = max (Ax 0 ) (i) c 0 i ezután képezzük a következő iterációt x k = y k 1
A hatványiteráció konvergenciája Fejtsük ki az x 0 vektort a sajátvektorok bázisán: x 0 = α 1 v 1 + α 2 v 2 +... + α n v n Mivel a v vektorok sajátvektorok, ezért az A mátrix hatása: Ax 0 = λ 1 α 1 v 1 + λ 2 α 2 v 2 +... + λ n α n v n Most fejtsük ki az x k vektort a sajátvektorok bázisán: x k = 1 [ ] λ k c 1 c 2...c 1α 1 v 1 + λ k 2α 2 v 2 +... + λ k nα n v n k Emeljük ki a legnagyobb sajátérték k. hatványát: [ λ k ( ) k ( ) ] k 1 λ2 λn x k = α 1 v 1 + α 2 v 2 +... + α n v n c 1 c 2...c k λ 1 λ 1
A hatványiteráció konvergenciája Előző diáról: λ k 1 x k = c 1 c 2...c k [ ( ) k ( ) ] k λ2 λn α 1 v 1 + α 2 v 2 +... + α n v n λ 1 λ 1 ahol λ 1 a legnagyobb sajátérték emiatt az iteráció során az összes együttható kihal kivéve α 1 -et a sorozat a legnagyobb sajátértékhez tartozó sajátvektorhoz konvergál lim k x k = v 1 lim k c k = λ 1
Fontos tétel Az első egyenlet mindkét oldalához τ v-et adva: Av + τv = λv + τv a sajátértékek eltolódnak, de a sajátvektorok változatlanok, ugyanis (A + τi) v = (λ + τ) v Ezt a tulajdonságot sok numerikus módszer kihasználja
Inverz hatványiteráció Gyakran előfordul, hogy megsejtjük valamelyik sajátértéket hogyan találhatjuk meg a hozzá tartozó sajátvektort? Tekintsük a következő egyenletet (A τi) y 0 = b 0 legyen b 0 tetszőleges vektor τ pedig közel van valamelyik λ sajátértékhez y 0 a fenti egyenlet megoldása Belátjuk, hogy b n = y n 1 helyettesítéssel az iteráció konvergens b n a λ-hoz tartozó sajátvektorhoz tart
Az inverz hatványiteráció konvergenciája Fejtsük ki y-t és b-t az u i sajátvektorok alkotta bázison: y 0 = j α j x j b 0 = j β j x j Ezzel az egyenlet: α j (λ j τ)x j = j j β j x j, vagyis α j = β j λ j τ és y 0 = j β j x j λ j τ Az így kapott y 0 -t helyettesítjük be b 0 helyére, ebből: y 1 = j β j x j (λ j τ) 2, stb.
Inverz hatványiteráció Előző diáról: y 1 = j β j x j (λ j τ) 2, stb. A további iterációk során a nevezőben λ j τ hatványai jelennek meg: y k = β j x j (λ j j τ) (k 1) Ha τ közel van a j. sajátértékhez, azaz λ j τ λ i τ, i j, akkor a szummában a j. tag fog dominálni vagyis y k x j
Főkomponens-anaĺızis 2 Az adataink sokszor magas dimenziós vektorok képek (pixelek száma a dimenzió!) spektrumok (galaxisok, tömegspektrum stb.) akár néhány ezer dimenzió is lehet Az adatvektorok gyakran eléggé hasonlóak szabványos igazolványképek azonos felbontású spektrumok általában sok adatunk van N 100 2 PCA = Principal Component Analysis
A főkomponens-anaĺızis célja Az adatvektorok valamilyen módon hasonlóak elég jól előállnak valamilyen bázisvektorok lineárkombinációjaként a variancia nagy része információ (megtartjuk) a többi része zaj (eldobjuk) Szeretnénk: kezelhető szintre redukálni a dimenziók számát tömöríteni az adatokat zajt eldobni
Példa: adatok alacsony dimenzióban 10 8 6 4 2 0 0 2 4 6 8 10
Korrelált szórás: ellipszisek 10 8 6 4 2 0 0 2 4 6 8 10
Főtengely-irányok 10 8 6 4 2 0 0 2 4 6 8 10
Főtengely-transzformáció általánosabban Kérdés: mik azok az irányok, melyekben a legnagyobb a szórás? válasszuk az új bázist ilyen irányokba az új bázisvektorok hossza legyen arányos a szórással előtte ne felejtsük el levonni az átlagot! Eljárás: rendezzük az adatvektorokat mátrixba az X mátrix sorai az adatvektorok tekintsük a kovarianciamátrixot C = X T X a mátrix mérete: D D, ahol D az adatvektorok dimenziója
Az új bázis meghatározása Az új bázist a C = X T X kovarianciamátrix sajátvektorai alkotják megoldjuk a kovarianciamátrix sajátérték-problémáját C = VλU ez a mátrix nagy, valószínű nem invertálható de valós szimmetrikus, ami segít használhatunk pl. szingulárisérték-dekompozíciót (SVD) Az új bázisvektorokat U sorai tartalmazzák kifejtjük az adatvektorokat az új bázison X = U X T
A szingulárisérték-dekompozíció Egy M mátrix szingulárisérték-dekompozíciója: M = USV H U és V a szinguláris vektorokat tartalmazza 3 S diagonális, és a szinguláris értékeket tartalmazza a szinguláris értékek S-ben csökkenő sorrendben A szinguláris vektorok és szinguláris értékek valójában U a M M H mátrix sajátvektoraiból áll V a M H M sajátvektoraiból a szinguláris értékek M H M és M M H sajátértékeinek a gyökei 3 ha M szimmetrikus, akkor mindkét oldali sajátvektorok azonosak
Pszeudo-inverz meghatározása SVD-vel Az M mátrix nem feltétlenül invertálható ez nagy mátrixok esetében viszonylag gyakori de a szingulárisérték-felbontása ekkor is létezik segítségével definiálható egy ún. pszeudo-inverz A szingulárisérték-dekompozíció eredménye M = USV H A pszeudo-inverz definíciója M + = VS + U H, ahol S + úgy gyártódik, hogy S minden nem nulla elemét a reciprokával helyettesítünk
Sajátértékek eloszlása Eddig mi teljes főtengely-transzformációt végeztünk ez minden sajátvektort megtart azokból épít egy teljes bázist Érdemes viszont megfigyelni: valódi adatok kovarianciamátrixának néhány sajátértéke kiemelkedik a többi nagyjából azonos nagyságrendbe esik a lényeget a nagy sajátértékekhez tartozó sajátvektorok hordozzák a többi sajátvektor ezeket csak kissé módosítja finom részletek, illetve zaj Ötlet: elég csak az első néhány sajátvektort megtartani ezek az ún. főkomponensek-vektorok jól reprezentálják a magas dimenziós teret
Dimenzióredukció PCA-val Mi most nem a részletekre, hanem az átlagos dolgokra koncentrálunk elég csak az első néhány sajátvektort megtartani ezek az ún. főkomponens-vektorok jól reprezentálják a magas dimenziós teret Ha a részletekre is kíváncsiak vagyunk megtarthatunk több főkomponens általában 8 10 komponens elég Dimenzióredukció az eredeti adatvektorokat kifejtjük a csonkolt bázison a kifejtési együtthatók (főkomponensek) jól jellemzik az eredeti vektort de itt sok ezer szám helyett már csak néhány szám kell!
Érdekes példa: arcok főkomponens-anaĺızise
Első hat főkomponens
Képek kifejtése a sajátbázison
Automatikus osztályozás Magas dimenziós térben gyakorlatilag lehetetlen osztályozni minden adatpont mindentől azonos távolságra van csökkentsük hát a dimenziót PCA-val osztályozzunk a redukált dimenziós térben Térbeli osztályozás tekintsük a PCA kifejtési együtthatók terét keressünk ebben egymások közeli pontokat 4-5-6 dimenzióban még jól megy Érdekes alkalmazások galaxisok spektroszkópiai osztályozása rákos szövetek detektálása műtét közben