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

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

Inversio-ongelmien laskennallinen peruskurssi Luento 3

Ratkaisuehdotukset LH 7 / vko 47

Ortogonaalisen kannan etsiminen

Ominaisvektoreiden lineaarinen riippumattomuus

Ratkaisuehdotukset LH 3 / alkuvko 45

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

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

Inversio-ongelmien laskennallinen peruskurssi Luento 4

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.

Matemaattinen Analyysi / kertaus

Sisätuloavaruudet. 4. lokakuuta 2006

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

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

1 Ominaisarvot ja ominaisvektorit

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

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

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

MS-C1340 Lineaarialgebra ja

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

Luku 4. Vektoridatan tiivistäminen

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

5 OMINAISARVOT JA OMINAISVEKTORIT

Lineaarikuvauksen R n R m matriisi

1 Singulaariarvohajoitelma

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.

Kertausta: avaruuden R n vektoreiden pistetulo

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

MS-A0004/A0006 Matriisilaskenta

Vektoreiden virittämä aliavaruus

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 3 /

Ortogonaaliset matriisit, määritelmä 1

Kanta ja Kannan-vaihto

Lineaarialgebra ja matriisilaskenta I. LM1, Kesä /218

Ominaisarvo ja ominaisvektori

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

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

perusjoukosta (esim. tietyn kokoisten digitaalikuvien joukko).

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

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

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

2. Teoriaharjoitukset

6 MATRIISIN DIAGONALISOINTI

Numeeriset menetelmät

Matriisilaskenta Luento 12: Vektoriavaruuden kannan olemassaolo

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

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

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

Matematiikka B2 - Avoin yliopisto

Yhteenlaskun ja skalaarilla kertomisen ominaisuuksia

Ominaisarvo-hajoitelma ja diagonalisointi

Inversio-ongelmien laskennallinen peruskurssi Luento 2

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

1 Kannat ja kannanvaihto

Oppimistavoitematriisi

Determinantti 1 / 30

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

Moniulotteisia todennäköisyysjakaumia

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

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

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

Lineaarialgebra ja matriisilaskenta I

Lineaarialgebra ja matriisilaskenta I

3.2.2 Tikhonovin regularisaatio

Lineaarialgebra ja differentiaaliyhtälöt Harjoitus 4 / Ratkaisut

Matriisien tulo. Matriisit ja lineaarinen yhtälöryhmä

Johdatus tekoälyn taustalla olevaan matematiikkaan

Lineaariset yhtälöryhmät ja matriisit

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

Ominaisarvo ja ominaisvektori

Ortogonaalinen ja ortonormaali kanta

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

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

12. Hessen matriisi. Ääriarvoteoriaa

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

5 Ominaisarvot ja ominaisvektorit

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Lineaarialgebra, kertausta aiheita

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

Kertausta: avaruuden R n vektoreiden pistetulo

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

Ennakkotehtävän ratkaisu

Lineaariset mollit, kl 2017, Harjoitus 1

Oppimistavoitematriisi

2.5. Matriisin avaruudet ja tunnusluvut

Determinantti. Määritelmä

Lineaarialgebra II, MATH.1240 Matti laaksonen, Lassi Lilleberg

MS-C1340 Lineaarialgebra ja

Koodausteoria, Kesä 2014

1 Matriisit ja lineaariset yhtälöryhmät

Latinalaiset neliöt ja taikaneliöt

Insinöörimatematiikka D

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Matematiikka B2 - TUDI

Transkriptio:

Laskennallinen data-analyysi II Saara Hyvönen, Saara.Hyvonen@cs.helsinki.fi Kevät 2007 Ulottuvuuksien vähentäminen, SVD, PCA Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto

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

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

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 2007, Helsingin yliopisto 3

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 2007, Helsingin yliopisto 4

(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 2007, Helsingin yliopisto 5

Singulaariarvohajotelma Jokainen m n matriisi A, m n, voidaan kirjoittaa muotoon ( ) Σ A = U V T, 0 missä U R m m ja V R n n ovat ortogonaaliset, ja Σ R n n on diagonaalimatriisi: Σ = diag(σ 1, σ 2,..., σ n ), σ 1 σ 2... σ n 0. (singular value decom- Tämä on matriisin A singulaariarvohajotelma position, SVD) Tämä voidaan myös kirjoittaa muotoon A = U 1 ΣV T, U 1 R m n. Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 6

Singulaariarvot ja -vektorit Matriisin Σ 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 i = σ j v j. Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 7

Matlab-esimerkki A= 1 1 1 2 1 3 1 4 [U,S,V]=svd(A) U= -0.2195 0.8073 0.0236 0.5472-0.3833 0.3912-0.4393-0.7120-0.5472-0.0249 0.8079-0.2176-0.7110-0.4410-0.3921 0.3824 S= 5.7794 0 V= -0.3220 0.9467 0 0.7738-0.9467-0.3220 0 0 0 0 Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 8

[U,S,V]=svd(A,0) U= -0.2195 0.8073-0.3833 0.3912-0.5472-0.0249-0.7110-0.4410 S= 5.7794 0 0 0.7738 V= -0.3220 0.9467-0.9467-0.3220 Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 9

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

Entä sitten? Siis: 2-normin mielessä paras astetta k oleva approksimaatio matriisille saadaan singulaariarvohajotelmaa käyttämällä: Tätä voi käyttää: kohinan poistoon datan kompressioon A k = U k Σ k V T k. matriisin oikean asteen määrittämiseen Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 11

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 2007, Helsingin yliopisto 12

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 2007, Helsingin yliopisto 13

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 2007, Helsingin yliopisto 14

Esimerkki: käsinkirjoitetut numerot Vasemmanpuoleiset singulaariarvot tai singulaarikuvat u j : Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 15

Esimerkki: käsinkirjoitetut numerot Alkuperäinen kuva sekä approksimaatio, johon on saatu käyttämällä 1,3,5,7 ja 9 singulaarivektoria, jotka on laskettu kaikista kolmosista: Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 16

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 2007, Helsingin yliopisto 17

Esimerkki: LSI Halutaan tehdä hakuja suuresta tekstidokumenttien kokoelmasta. 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. 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 2007, Helsingin yliopisto 18

Esimerkki: LSI 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). Tässä kontekstissa SVD kulkee nimellä LSI (Latentti Semanttinen Indeksointi) Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 19

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 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 2007, Helsingin yliopisto 20

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 2007, Helsingin yliopisto 21

PCA Olkoon A n m-matriisi, jonka rivit ovat pisteitä ja sarakkeet muuttujia. Keskitetään A: vähennetään jokaisesta sarakkeesta sarakkeen keskiarvo, jolloin uuden datamatriisin sarakkeiden keskiarvo on nolla. Olkoon tämä keskitetty matriisi nyt A. 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 2007, Helsingin yliopisto 22

Koko datamatriisin projektio vektorille w on Aw. Varianssi: σ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 2007, Helsingin yliopisto 23

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 2007, Helsingin yliopisto 24

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 2007, Helsingin yliopisto 25

Mutta jos kirjoitetaankin A = UΣV T saadaan C = A T A = VΣ T U T UΣV T, CV = VΣ T Σ. 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! Ensimmäinen pääkomponentti on siis datamatriisin 1. oikeanpuoleinen singulaarivektori. Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 26

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 2007, Helsingin yliopisto 27

Esimerkki: spatiaalisen datan analysointi Data: Suomen murteet, noin 17000 sanaa, 500 kuntaa. Sana-kunta-matriisi A: A(i, j) = { 1 jos sana i esiintyy kunnassa j 0 muutoin. Sovelletaan tähän pääkomponenttianalyysiä. Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 28

Esimerkki: spatiaalisen datan analysointi Katsomalla komponentteja nähdään miten murresanasto vaihtelee Ensimmäinen pääkomponentti kertoo kerättyjen sanojen lukumäärän! Tämän jälkeen maantieteellinen rakenne alkaa näkyä. Huomaa, että menetelmä itse ei tiedä missä mikin kunta sijaitsee. Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 29

pca 1, nocomp 6 number of words 760 760 740 740 720 720 700 700 680 680 660 320 330 340 350 360 370 660 320 330 340 350 360 370 Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 30

pca 2, nocomp 6 pca 3, nocomp 6 760 760 740 740 720 720 700 700 680 680 660 320 330 340 350 360 370 660 320 330 340 350 360 370 Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 31

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 2007, Helsingin yliopisto 32

30 Days projected in the plane defined by the 1st two principal components, colored per month 12 25 11 10 20 9 2nd principal component 15 10 5 8 7 6 5 0 4 5 3 2 10 10 5 0 5 10 15 1st principal component 1 Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 33

Miten pääkomponentteja ei lasketa: Kirjallisuudessa (mm kurssikirjassa) 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 2007, Helsingin yliopisto 34

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

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=scores*pcs +Ameans; Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 36

Huom. PCA löytyy myös valmiina statistics toolboxista, MUTTA... ÄLÄ KÄYTÄ SITÄ!! Miksi? Lisenssejä on liian vähän! http://www.cis.hut.fi/projects/somtoolbox Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 37

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 2007, Helsingin yliopisto 38

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

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

Yhteenveto Jokainen m n matriisi A, m n, ( voidaan ) kirjoittaa singulaariarvohajotelman avulla muotoon A = U V T, missä U R m m ja Σ 0 V R n n ovat ortogonaaliset, ja Σ R n n 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 Σ k Vk T, missä U k, V k koostuvat ksta ensimmäisestä vasemman- ja oikeanpuoleisesta singulaarivektorista ja Σ k :n diagonaalialkiot ovat k suurinta singulaariarvoa. Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 41

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. Myös muita menetelmiä löytyy: MDS, ICA, NMF... Laskennallinen data-analyysi II, kevät 2007, Helsingin yliopisto 42