Laskennallinen data-analyysi II

Samankaltaiset tiedostot
Laskennallinen data-analyysi II

Laskennallinen data-analyysi II

Laskennallinen data-analyysi II

MS-A0003/A Matriisilaskenta Laskuharjoitus 6

Matriisihajotelmat. MS-A0007 Matriisilaskenta. 5.1 Diagonalisointi. 5.1 Diagonalisointi

Ratkaisuehdotukset LH 8 / vko 47

Inversio-ongelmien laskennallinen peruskurssi Luento 3

Ratkaisuehdotukset LH 7 / vko 47

Esimerkki 19. Esimerkissä 16 miniminormiratkaisu on (ˆx 1, ˆx 2 ) = (1, 0).

Ortogonaalisen kannan etsiminen

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

Inversio-ongelmien laskennallinen peruskurssi Luento 4

1 Ominaisarvot ja ominaisvektorit

5 OMINAISARVOT JA OMINAISVEKTORIT

Ratkaisuehdotukset LH 3 / alkuvko 45

Lineaarikuvauksen R n R m matriisi

Matemaattinen Analyysi / kertaus

1 Singulaariarvohajoitelma

Ominaisvektoreiden lineaarinen riippumattomuus

Matematiikka B2 - Avoin yliopisto

(1.1) Ae j = a k,j e k.

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 3 /

Sisätuloavaruudet. 4. lokakuuta 2006

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä)

Luku 4. Vektoridatan tiivistäminen

Matriisi-vektori-kertolasku, lineaariset yhtälöryhmät

Kertausta: avaruuden R n vektoreiden pistetulo

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

Matriisiteoria Harjoitus 1, kevät Olkoon. cos α sin α A(α) = . sin α cos α. Osoita, että A(α + β) = A(α)A(β). Mikä matriisi A(α)A( α) on?

Tehtäväsarja I Kerrataan lineaarikuvauksiin liittyviä todistuksia ja lineaarikuvauksen muodostamista. Sarjaan liittyvät Stack-tehtävät: 1 ja 2.

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

perusjoukosta (esim. tietyn kokoisten digitaalikuvien joukko).

MS-C1340 Lineaarialgebra ja

2. Teoriaharjoitukset

Ominaisarvo ja ominaisvektori

Matriisilaskenta Luento 12: Vektoriavaruuden kannan olemassaolo

Ominaisarvoon 4 liittyvät ominaisvektorit ovat yhtälön Ax = 4x eli yhtälöryhmän x 1 + 2x 2 + x 3 = 4x 1 3x 2 + x 3 = 4x 2 5x 2 x 3 = 4x 3.

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Monissa käytännön ongelmissa ei matriisiyhtälölle Ax = b saada ratkaisua, mutta approksimaatio on silti käyttökelpoinen.

6 MATRIISIN DIAGONALISOINTI

Matematiikka B2 - TUDI

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Sovellusohjelmointi Matlab-ympäristössä: Vertaisverkon koneiden klusterointi

MS-A0004/MS-A0006 Matriisilaskenta Laskuharjoitus 6 / vko 42

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Tämän luennon sisältö. Luku 4. Vektoridatan tiivistäminen. Datamatriisi (2) Datamatriisi. T Datasta tietoon, syksy 2011

3x + y + 2z = 5 e) 2x + 3y 2z = 3 x 2y + 4z = 1. x + y 2z + u + 3v = 1 b) 2x y + 2z + 2u + 6v = 2 3x + 2y 4z 3u 9v = 3. { 2x y = k 4x + 2y = h

Numeeriset menetelmät

MS-C1340 Lineaarialgebra ja

Neliömatriisi A on ortogonaalinen (eli ortogonaalimatriisi), jos sen alkiot ovat reaalisia ja

5 Ominaisarvot ja ominaisvektorit

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Lineaarialgebra ja differentiaaliyhtälöt Harjoitus 4 / Ratkaisut

1 Matriisit ja lineaariset yhtälöryhmät

Kanta ja Kannan-vaihto

Määritelmä Olkoon T i L (V i, W i ), 1 i m. Yksikäsitteisen lineaarikuvauksen h L (V 1 V 2 V m, W 1 W 2 W m )

3.2.2 Tikhonovin regularisaatio

2.5. Matriisin avaruudet ja tunnusluvut

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Inversio-ongelmien laskennallinen peruskurssi Luento 2

Ennakkotehtävän ratkaisu

Lineaarialgebra ja matriisilaskenta I. LM1, Kesä /218

ax + y + 2z = 0 2x + y + az = b 2. Kuvassa alla on esitetty nesteen virtaus eräässä putkistossa.

MS-A0004/A0006 Matriisilaskenta

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio

Käänteismatriisin ominaisuuksia

x = y x i = y i i = 1, 2; x + y = (x 1 + y 1, x 2 + y 2 ); x y = (x 1 y 1, x 2 + y 2 );

Oletetaan ensin, että tangenttitaso on olemassa. Nyt pinnalla S on koordinaattiesitys ψ, jolle pätee että kaikilla x V U

Ristitulolle saadaan toinen muistisääntö determinantin avulla. Vektoreiden v ja w ristitulo saadaan laskemalla determinantti

Ortogonaaliset matriisit, määritelmä 1

Lineaarialgebra, kertausta aiheita

Vektoreiden virittämä aliavaruus

Ortogonaalinen ja ortonormaali kanta

Talousmatematiikan perusteet: Luento 14. Rajoittamaton optimointi Hessen matriisi Ominaisarvot Ääriarvon laadun tarkastelu

Moniulotteisia todennäköisyysjakaumia

Kertausta: avaruuden R n vektoreiden pistetulo

Ilkka Mellin Todennäköisyyslaskenta Osa 3: Todennäköisyysjakaumia Moniulotteisia todennäköisyysjakaumia

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA)

Lineaarialgebra II, MATH.1240 Matti laaksonen, Lassi Lilleberg

Insinöörimatematiikka D, laskuharjoituksien esimerkkiratkaisut

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu

Determinantti 1 / 30

Moniulotteisia todennäköisyysjakaumia. Moniulotteisia todennäköisyysjakaumia. Moniulotteisia todennäköisyysjakaumia: Mitä opimme?

Oppimistavoitematriisi

Matriisilaskenta Luento 16: Matriisin ominaisarvot ja ominaisvektorit

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

3.1 Lineaarikuvaukset. MS-A0004/A0006 Matriisilaskenta. 3.1 Lineaarikuvaukset. 3.1 Lineaarikuvaukset

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Avaruuden R n aliavaruus

s = 11 7 t = = 2 7 Sijoittamalla keskimmäiseen yhtälöön saadaan: k ( 2) = 0 2k = 8 k = 4

Lineaariset mollit, kl 2017, Harjoitus 1

Ominaisarvo ja ominaisvektori

x = y x i = y i i = 1, 2; x + y = (x 1 + y 1, x 2 + y 2 ); x y = (x 1 y 1, x 2 + y 2 );

Lineaarialgebra ja matriisilaskenta I

MS-C1340 Lineaarialgebra ja

Lineaarikuvausten. Lineaarikuvaus. Lineaarikuvauksia. Ydin. Matriisin ydin. aiheita. Aiheet. Lineaarikuvaus. Lineaarikuvauksen matriisi

Transkriptio:

Laskennallinen data-analyysi II Ella Bingham, ella.bingham@cs.helsinki.fi Kevät 2008 Ulottuvuuksien vähentäminen, SVD, PCA Kalvot perustuvat Saara Hyvösen kalvoihin 2007 Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto

Yleistä kurssista Kurssi on suoraan jatkoa Laskennallinen data-analyysi I:lle Sekä ohjatun että ohjaamattoman oppimisen menetelmiä Menetelmiä, jotka tulevat jatkossa vastaan muilla kursseilla ja tutkimuksessa Kolme luennoitsijaa, jokaisella 2 luentoa, väliviikoilla laskarit Ensimmäinen osuus: Ohjaamatonta oppimista Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 1

Toinen osuus (Jyrki Kivinen): Tukivektorikone (support vector machine, SVM) yleistää lineaarisen luokittelun (tai lineaarisen regression) ei-lineaaristen ennustajien muodostamiseen. SVM on nykyään eräs suosituimmista yleiskäyttöisistä oppimismenetelmistä. Tukivektorikoneessa lineaariseen luokittelijaan yhdistetään - ydinfunktio ja - regularisointi. Ydinfunktio on matemaattinen apukeino, jonka avulla lineaariseen oppijaan voidaan sisällyttää hyvin monipuolista piirteiden muodostamista (datan esikäsittelyä) pitäen laskenta tehokkaana. Regularisointia tarvitaan, jotta runsas uusien piirteiden salliminen ei Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 2

johtaisi ylisovittamiseen. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 3

Kolmas osuus (Patrik Hoyer): Vedetään kurssien lda-i ja lda-ii pääteemoja yhteen Probabilistinen (jopa Bayeslainen) näkökulma koneoppimiseen Epävarmuuden mallintaminen: miten menetelmistä saa sellaisia, että ne osaavat kertoa, kun eivät ole varmoja Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 4

Lisälukemista ensimmäisestä osuudesta: Kleinberg, Tomkins: Applications of linear algebra in information retrieval and hypertext analysis. Proc. ACM Symp. Principles of Database Systems, pp. 185-193, 1999 Tutorial site by Todd Will: http://www.uwlax.edu/faculty/will/svd/ Wikipedia: Singular value decomposition, Principal components analysis Muuttujien valinta: elektroninen kevytversio kirjasta H. Lohninger: Teach/Me Data Analysis, Springer-Verlag, 1999 löytyy http://www.vias.org/tmdatanaleng/wrapnt mlr183.html Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 5

Ulottuvuuksien vähentäminen: miksi? visualisointi ihmissilmälle datan kompressio kohinan poisto, poikkeavien arvojen etsiminen Kaksi peruslähestymistapaa: heitetään muuttujia pois, tai muodostetaan uusia muuttujia. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 6

Esim. käsinkirjoitetut numerot Halutaan luokitella käsinkirjoitetut numerot automaattisesti luokkiin 0-9: Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 7

Käsinkirjoitetut numerot jatkuu Jokainen numero on (esimerkiksi) 100x100 pikselin harmaasävykuva. Tätä voidaan ajatella pisteenä 10000-ulotteisessa avaruudessa. Kuvitellaan tilanne, jossa otetaan numero 3 ja luodaan joukko uusia kolmosia siirtämällä, kiertämällä ja skaalaamalla peruskolmonen: Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 8

Nyt, vaikka jokaisen pisteen dimensio on 10000, on meillä oikeasti vain neljä vapausastetta: siirto pysty- ja vaakasuunnissa, kierto sekä skaalaus. Näitä neljää vapausastetta voidaan ajatella latentteina eli piilomuuttujina. Oikeasti käsinkirjoitetut numerot eivät tietenkään muodostu näin yksinkertaisesti, vaan niissä on yksilöllisiä deformaatioita; tällaisten deformaatioiden lukumäärän voidaan kuitenkin ajatella olevan pieni verrattuna joukon dimensioon (10000). Koko käsinkirjoitettu numerojoukko voidaan siis kuvata paljon pienempidimensioisessa avaruudessa. Mutta miten? Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 9

(Lineaariset) piilomuuttujamallit Yksinkertaisimmillaan voidaan ajatella, että m n datamatriisi A, missä rivit ovat pisteitä ja sarakkeet ovat muuttujia, esitetään k:n piilomuuttujan avulla kahden matriisin tulona: A m n = D m k V k n, missä matriisin V rivit ovat latentit muuttujat ja matriisi D antaa datapisteet latenttien muuttujien avulla lausuttuna. Siis V:n rivit = uudet kantavektorit, ja D = pisteiden koordinaatit uudessa kannassa. Menetelmiä on paljon, ja eri menetelmät antavat eri piilomuuttujat. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 10

Singulaariarvohajotelma Jokainen m n matriisi A voidaan kirjoittaa muotoon A m n = U m d S d d (V n d ) T, missä d = min(m, n). Matriisien U ja V sarakkeet ovat ortonormaalit (kohtisuorassa toisiaan vastaan ja yksikköpituiset). Matriisi S on diagonaalimatriisi: S = diag(σ 1, σ 2,..., σ d ), σ 1 σ 2... σ d 0. (singular value decom- Tämä on matriisin A singulaariarvohajotelma position, SVD) Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 11

Singulaariarvot ja -vektorit Matriisin S diagonaalialkiot σ j ovat matriisin A singulaariarvot. Matriisien U ja V sarakkeet ovat matriisin A vasemman- ja oikeanpuoleiset singulaarivektorit. Singulaariarvohajotelma voidaan myös kirjoittaa muodossa Av j = σ j u j, A T u j = σ j v j. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 12

Matlab-esimerkki A= 1 1 1 2 1 3 1 4 [U,S,V]=svd(A, econ ) U= -0.2195 0.8073-0.3833 0.3912-0.5472-0.0249-0.7110-0.4410 S= 5.7794 0 V= -0.3220 0.9467 0 0.7738-0.9467-0.3220 Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 13

Matriisin approksimointi Lause. Olkoon U k = (u 1 u 2... u k ), V k = (v 1 v 2... v k ) ja S k = diag(σ 1, σ 2,..., σ k ), ja määritellään A k = U k S k V T k. Tällöin min A B 2 = A A k 2 = σ k+1. rank(b) k Eli: 2-normin (myös Frobenius-normin) mielessä paras astetta k oleva approksimaatio matriisille saadaan singulaariarvohajotelmaa käyttämällä, ottamalla k ensimmäistä singulaariarvoa ja -vektoria. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 14

Entä sitten? Siis: 2-normin mielessä paras astetta k oleva approksimaatio matriisille saadaan singulaariarvohajotelmaa käyttämällä: A k = U k S k V T k. (aste = rank = lineaarisesti riippumattomien sarakkeiden määrä, nollasta poikkeavien singulaariarvojen määrä.) Tätä voi käyttää: kohinan poistoon datan kompressioon matriisin oikean asteen määrittämiseen Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 15

Esimerkki: kohinan poisto Olkoon A = A k + N, missä A k on (alhaista) astetta k oleva matriisi, ja N on pieni. Tällaisessa tapauksessa matriisin A singulaariarvoat käyttäytyvät tyypillisesti tähän tapaan: 8 singular values 7 6 5 4 3 2 1 0 0 2 4 6 8 10 12 14 16 18 20 index Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 16

2 log of singular values 1 0 1 2 3 4 0 2 4 6 8 10 12 14 16 18 20 index Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 17

Esimerkki: käsinkirjoitetut numerot Käytetään singulaariarvohajotelmaa käsinkirjoitettujen numeroiden kuvaamiseen. Sen sijaan, että käytetään 10000 pikseliä, käytetäänkin pientä määrää singulaarivektoreita. Otetaan siis iso kasa kolmosia, muodostetaan joka kuvasta vektori, laitetaan ne sarakkeiksi datamatriisiin, ja lasketaan singulaariarvohajotelma. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 18

Esimerkki: käsinkirjoitetut numerot Vasemmanpuoleiset singulaariarvot tai singulaarikuvat u j : Ensimmäinen on tyypillisesti datan keskiarvo ja seuraavat tuovat datasta lisää piirteitä esiin Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 19

Esimerkki: käsinkirjoitetut numerot Voidaan olettaa, että kolmoset on helpompi muodostaa käyttäen kolmosen singulaarivektoreita kuin vaikkapa viitosen singulaarivektoreita. Nyt voidaan esimerkiksi luokitella käsinkirjoitettuja numeroita katsomalla, miten hyvin ne voidaan muodostaa kussakin kannassa. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 20

Esimerkki: Tekstidatan analysointi Esitetään dokumenttikokoelma termi-dokumentti-matriisina A, jossa rivit vastaavat sanoja, ja sarakkeet dokumentteja, ja matriisin alkion a i,j arvo kertoo sanan i painon dokumentissa j. Varoitus: Tekstianalyysissä on tapana laittaa matriisin rivit ja sarakkeet eri päin kuin tiedon louhinnassa yleensä! Tekstidatassa usein ongelmana synonyymit (haluaisimme, että elefantti ja norsu samaistuisivat) ja polyseemit (haluaisimme erottaa milloin kurkku tarkoittaa vihannesta ja milloin ruumiinosaa). SVD auttaa tässä: sanojen merkitykset kuvautuvat avaruuden eri ulottuvuuksiin. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 21

Tässä kontekstissa SVD kulkee nimellä LSI (Latentti Semanttinen Indeksointi) Esimerkki kirjasta [Manning and Schütze: Foundations of statistical natural language processing]: termi-dokumenttimatriisi A on doc1 doc2 doc3 doc4 doc5 doc6 cosmonaut 1 0 1 0 0 0 astronaut 0 1 0 0 0 0 moon 1 1 0 0 0 0 car 1 0 0 1 1 0 truck 0 0 0 1 0 1 Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 22

Vasempien singulaarivektoreiden matriisi U on Dim 1 Dim 2 Dim 3 Dim 4 Dim 5 cosmonaut 0.44-0.30-0.57 0.58-0.25 astronaut 0.13-0.33 0.59 0.00-0.73 moon 0.48-0.51 0.37 0.00 0.61 car 0.70 0.35-0.15-0.58-0.16 truck 0.26 0.65 0.41 0.58 0.09 ja singulaariarvot sisältävä matriisi S on Dim 1 Dim 2 Dim 3 Dim 4 Dim 5 Dim 1 2.16 0 0 0 0 Dim 2 0 1.59 0 0 0 Dim 3 0 0 1.28 0 0 Dim 4 0 0 0 1.00 0 Dim 5 0 0 0 0 0.39 Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 23

ja oikeanpuoleisten singulaarivektoreiden matriisi V T on doc1 doc2 doc3 doc4 doc5 doc6 Dim 1 0.75 0.28 0.20 0.45 0.33 0.12 Dim 2-0.29-0.53-0.19 0.63 0.22 0.41 Dim 3-0.28 0.75-0.45 0.20-0.12 0.33 Dim 4 0.00 0.00 0.58 0.00-0.58 0.58 Dim 5 0.53-0.29-0.63-0.19-0.41 0.22 Otetaan vain 2 ensimmäistä singulaariarvoa ja -vektoria: U:ssa termit ryhmittyvät toisen singulaarivektorin mukaan (cosmonaut, astronaut, moon) ja (car, truck) V T :ssä dokumentit ryhmittyvät toisen singulaarivektorin mukaan (doc1,doc2,doc3) ja (doc4,doc5,doc6) Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 24

Esimerkki: Tiedonhaku tekstidokumenteissa Halutaan tehdä hakuja suuresta tekstidokumenttien kokoelmasta. Haku on tällöin vektori q, jonka jokainen alkio vastaa niinikään sanaa. Haku voidaan tehdä vertaamalla suoraan vertaamalla hakuvektoria kuhunkin dokumenttiin: cos(θ(a j, q)) = a T j q a j 2 q 2 tol. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 25

Usein sen sijaan lasketaan ensin termi-dokumentti-matriisille singulaariarvohajotelma, approksimoidaan matriisia (ongelman alkuperäiseen kokoon verrattuna) pienehköllä määrällä singulaarivektoreita, lausutaan myös hakuvektori singulaarivektorien avulla, ja tehdään hakuvektorin ja dokumenttien vertailu tässä uudessa kannassa. Nopeampaa (datan kompressio) ja (usein) tarkempaa (kohinan poisto). Dokumenttien esitysmuoto LSI-avaruudessa on â = U T k a jossa a on alkuperäinen dokumenttivektori ja U k on k:n ensimmäisen vasemmanpuoleisen singulaarivektorin muodostama matriisi Samoin hakuvektorin esitysmuoto on ˆq = U T k q Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 26

Esimerkki: Hakuvektori cosmonaut astronaut on alkuperäisessä avaruudessa q cosmonaut 1 astronaut 1 moon 0 car 0 truck 0 ja 2-ulotteisessa LSI-avaruudessa ˆq = U T 2 q = ( ) 0.57 0.63 Dokumenttien â ja hakuvektorin ˆq väliset kosini-similaarisuudet ovat 0.85, 0.99, 0.97, -0.06, 0.27 ja -0.43. Hakuvektori on siis lähimpänä dokumentteja 2 ja 3. Tämä näkyy myös kuvassa: Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 27

1 4 0.8 0.6 6 0.4 0.2 5 0 0.2 0.4 0.6 3 q 1 0.8 2 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 28

Myös uudet dokumentit (sarakkeet) voi esittää LSI-avaruudessa kertomalla ne U k :lla, eli ei tarvitse laskea SVD:tä uudestaan Uudet termit (rivit) voisi samoin esittää LSI-avaruudessa kertomalla V k :lla, mutta tämä on käytännössä harvinaisempaa Varoitus: Harjoitustehtävässä pyydetään esittämään uusi vektori vanhojen datavektoreiden avulla lasketussa kannassa. Nyt pitää olla tarkkana, onko uusi datavektori rivi vai sarake! Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 29

Laskennan vaativuudesta SVD:n vaativuus on neliöllinen d:n suhteen ja kuutiollinen k:n suhteen, jossa d = ranki = min(sarakkeiden määrä, rivien määrä) ja k = laskettavien singulaariarvojen määrä Harvalle datalle on olemassa tehokkaita implementaatioita Laskentaa voi keventää tekemällä SVD:n vain osalle havainnoista (dokumenteista) ja esittämällä uudet havainnot SVD-avaruudessa kertomalla ne U k :lla Tärkeintä on kuitenkin valita k mahdollisimman pieneksi, mutta ei liian pieneksi Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 30

Laskennan vaativuudesta: k:n valinta Yleensä muutama kymmenen riittää, mutta teoreettisiakin menetelmiä on: tarkastele singulaariarvojen pienenemistä, ja lopeta kun uusi arvo on selvästi pienempi kuin aiemmat. Ongelma: pitää laskea monta ylimääräistä arvoa, jotta näkee milloin joku on selvästi pienempi laske Frobenius-normi datamatriisin ja sen approksimaation erotukselle: olkoon Y = A A k, silloin F (Y) = sum(diag(y T Y)) ja vertaa tätä F (A):n arvoon; jos edellinen on pieni niin silloin A k on tarpeeksi hyvä approksimaatio Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 31

Laske kaikkien singulaariarvojen summa ja k:n ensimmäisen summa, ja valitse k niin että saat esim. 85 % kaikkien summasta. (Mutta tällöin pitää laskea kaikki!) Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 32

Pääkomponenttianalyysi Tavoitteena on etsiä pieni joukko (keinotekoisia) muuttujia siten, että datan varianssista säilyy mahdollisimman suuri osuus. Ensimmäinen pääkomponentti on se vektori, jolle projisoidun datan varianssi on suurin. Kun tämä on löydetty, jatketaan etsimällä tälle ortogonaalinen eli kohtisuora suunta, joka selittää mahdollisimman suuren osan vielä selittämättä jääneestä varianssista. Jokainen pääkomponentti on lineaariyhdistely alkuperäisiä muuttujia. PCA = principal component analysis Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 33

1st principal component x x x x x x x x x x x x 2nd principal component x x x Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 34

PCA lyhyesti Olkoon A n m-matriisi, jonka rivit ovat havaintopisteitä ja sarakkeet muuttujia. Keskitetään eli nollakeskiarvoistetaan A: vähennetään jokaisesta sarakkeesta sarakkeen keskiarvo, jolloin uuden datamatriisin sarakkeiden keskiarvo on nolla. Olkoon tämä keskitetty matriisi nyt A. Muodostetaan nollakeskiarvoistetun datan kovarianssimatriisi C = 1 n AT A. Pääkomponentit ovat kovarianssimatriisin ominaisvektorit. Ominaisarvot kertovat datan varianssin pääkomponenttien suunnassa. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 35

PCA pitkästi Miten löydetään ensimmäinen pääkomponentti w? Olkoon w R m (toistaiseksi tuntematon) vektori, jolle projisoituna datan varianssi on suurin. Vaaditaan vielä, että w T w = 1. Vektorin a projektio vektorille w on w T a = m j=1 a jw j. Koko datamatriisin projektio vektorille w on Aw. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 36

Varianssi: PCA pitkästi σw 2 = 1 n (Aw)T (Aw) = 1 n wt A T Aw = w T Cw missä C = 1 n AT A on matriisin A kovarianssimatriisi (A on keskitetty!) Tavoitteena on maksimoida varianssi ehdolla w T w = 1. Optimointiongelma: maksimoi f = w T Cw λ(w T w 1), missä λ on Lagrangen kerroin. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 37

PCA pitkästi Optimointiongelma: maksimoi f = w T Cw λ(w T w 1), missä λ on Lagrangen kerroin. Derivoidaan w:n suhteen ja saadaan f w = 2Cw 2λw = 0 Tämä on itse asiassa ominaisarvoyhtälö: Cw = λw, missä C = 1 n AT A. Varianssi saadaan kertomalla yhtälöä vasemmalta w:n transpoosilla. Kun vieä muistetaan, että w T w = 1 saadaan varianssiksi w T Cw = λ. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 38

PCA pitkästi Varianssi: w T Cw = λ. Tämä on maksimissaan, kun w on kovarianssimatriisin suurinta ominaisarvoa vastaava ominaisvektori, ja suurin ominaisarvo itse kertoo varianssin. Ensimmäinen pääkomponentti on siis kovarianssimatriisin suurinta ominaisarvoa vastaava ominaisvektori. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 39

PCA:n ja SVD:n yhteys Mutta jos kirjoitetaankin A = USV T saadaan C = A T A = VS T U T USV T, CV = VS T S. Kun tämä kirjoitetaan sarake kerrallaan, nähdään, että Cv j = σ 2 jv j, eli matriisin A kovarianssimatriisin ominaisarvot ovat singulaariarvojen neliöt, ja ominaisvektorit ovat oikeanpuoleiset singulaarivektorit! Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 40

Ensimmäinen pääkomponentti on siis datamatriisin 1. oikeanpuoleinen singulaarivektori. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 41

Entä seuraavaksi? Jatketaan samaan tapaan: etsitään kaikille löydetyille pääkomponenteille kohtisuorassa oleva vektori, jolle projisoituna varianssi on suurin. Pääkomponentit ovat oikeanpuoleiset singulaarivektorit, singulaariarvojen neliöt kertovat varianssin kyseisen pääkomponentin suuntaan. Eli: PCA on SVD keskitetylle datalle! Singulaariarvojen avulla voi arvioida, montako pääkomponenttia tarvitaan. Peukalosääntö: valitse komponenttien lukumäärä siten, että 85% varianssista säilyy: k j=1 σ2 j n 0.85. j=1 σ2 j Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 42

Esimerkki: ilmakehädata Data: 1500 päivää, kymmeniä muuttujia (lämpötila, tuulen suunta ja nopeus, UV-säteilyn määrä, hiilidioksidikonsentraatio etc.) Visualisointi esim. 60-ulotteisessa avaruudessa on haastavaa! Sen sijaan, tee pääkomponenttianalyysi ja projisoi data kahden ensimmäisen komponentin määrittämään tasoon. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 43

Miten pääkomponentteja ei lasketa: Kirjallisuudessa esitellään tavan takaa algoritmeja, joissa pääkomponentit lasketaan kovarianssimatriisin ominaisvektoreina. Laskennallisesti tämä on huono tapa! Parempi laskea singulaariarvohajotelma. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 44

Miten pääkomponentit lasketaan: Matriisi A, rivit: datapisteet, sarakkeet=muuttujat. 1. Keskitä data vähentämällä jokaisesta sarakkeesta keskiarvo 2. Laske keskitetyn matriisin  singulaariarvohajotelma (tai k ensimmäistä singulaariarvoa ja -vektoria):  = USV T. 3. Matriisin V sarakkeet ovat pääkomponentit, ja datapisteiden kooridnaatit uudessa (pääkomponenttien virittämässä) kannassa ovat US. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 45

Matlab-koodi %Data matrix A, columns:variables, rows: data points %matlab function for computing the first k principal components of A. function [pc,score]=pca(a,k); [rows,cols]=size(a); Ameans=repmat(mean(A,1),rows,1); %matrix, rows=means of columns A=A-Ameans; %centering data [U,S,V]=svds(A,k); %k is the number of pc:s desired pc=v; score=u*s; %now A=score*pc +Ameans; Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 46

Huom. PCA löytyy myös valmiina statistics toolboxista, MUTTA... ÄLÄ KÄYTÄ SITÄ!! Miksi? Lisenssejä on liian vähän! Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 47

Miksi PCA? Jos PCA = SVD niin miksi siitä piti puhua? Koska SVD antaa aina origon kautta kulkevan vektorin. Datan keskittäminen pitää huolen siitä, että origo on datajoukon keskellä. Esimerkiksi harvalla datalla tämä ei ole ratkaisevaa; mutta joskus voi olla: Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 48

4 3 2 1 0 1 2 0 1 2 3 4 5 6 Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 49

4 3 2 1 0 1 2 0 1 2 3 4 5 6 Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 50

Yhteenveto Jokainen m n matriisi A, m n, voidaan kirjoittaa singulaariarvohajotelman avulla muotoon A = USV T, missä U R m d ja V R n d ovat ortogonaaliset, d = min(m, n), ja S R d d on diagonaalimatriisi, jonka diagonaalialkiot ovat singulaariarvot σ 1 σ 2... σ n 0. 2-normin mielessä paras astetta k oleva approksimaatio matriisille saadaan singulaariarvohajotelmaa käyttämällä: A k = U k S k V T k, missä U k, V k koostuvat ksta ensimmäisestä vasemman- ja oikeanpuoleisesta singulaarivektorista ja S k :n diagonaalialkiot ovat k suurinta singulaariarvoa. Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 51

Pääkomponenttianalyysi on sukua SVD:lle: pääkomponentit ovat keskitetyn datamatriisin oikeanpuoleiset singulaarivektorit. Pääkomponentit valitaan siten, että datan varianssista selittyy suurin osa. Ensimmäinen pääkomponentti on se vektori, jolle projisoidun datan varianssi on suurin. Laskemalla datamatriisille SVD tai PCA ja approksimoimalla matriisia muutaman ensimmäisen singulaarivektorin/pääkomponentin avulla kompressoidaan dataa ja poistetaan kohinaa. Nyt voidaan klusteroida/luokitella/tms uutta dataa. PCA toimii parhaiten silloin kun data on gaussista, tai vähintäänkin Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 52

jatkuva-arvoista SVD:llä on paljon muutakin käyttˆä kuin latenttimuuttujamallinnus: esimerkiksi Googlen PageRank-algoritmi tai spektraalijärjestys Myös muita latenttimuuttujamenetelmiä löytyy: ICA, NMF, probabilistiset versiot (näissä datan gaussisuus ei ole vaatimuksena) Laskennallinen data-analyysi II, kevät 2008, Helsingin yliopisto 53