Johdatus tekoälyn taustalla olevaan matematiikkaan Informaatioteknologian tiedekunta Jyväskylän yliopisto 5. luento.2.27
Lineaarialgebraa - Miksi? Neuroverkon parametreihin liittyvät kaavat annetaan monesti vektorien- ja matriisien avulla. Kerroksen ` parametrit ovat vakiotermit b` =(b`,...,bǹ`), painotetut summat z` =(z`,...,zǹ`) neuronien tulokset a` =(a`,...,aǹ`) ja painot jolloin W ` = B @ w ` w `2... w `N` w `2 w `22... w `2N`... wǹ` wǹ` 2... wǹ` N` C A, z` = a` W ` + b` ja a` = '(z`) =('(z`),...,'(zǹ`)).
Lineaarialgebraa - Miksi? Dataa on monesti kätevä käsitellä vektoreinajamatriiseina.niiden käsittely on nopeampaa kuin dataan liittyvien osien käsittely yksitellen esimerkiksi silmukoilla. Esimerkki Asuntojen hintataulukossa pystyvektoreita (sarakkeita) ovat koot, huoneiden lukumäärät, rakennusvuodet ja hinnat. Yksittäisen asunnon tiedot ovat vaakavektoreita (rivejä). Kaikkien asuntojen tiedot muodostavat matriisin. koko huoneita vuosi hinta 4 2 98 7 25 25 8 2 5 2 32 78 3 2 25
Matriisit Matriisi Olkoot m, n 2 N. Olkoot a ij 2 R kaikilla i 2{, 2,...,m} ja j 2{, 2,...,n}. Järjestetty taulukko a a 2 a n a 2 a 22 a 2n A =(a ij )= B C @... A a m a m2 a mn on m n-matriisi, jossa on m-riviä jan-saraketta.
Matriisit Matriisien yhtäsuuruus, kertominen vakiolla ja yhteenlasku Olkoot A =(a ij )jab =(b ij ) m n-matriiseja. Olkoon c 2 R. A = B jos ja vain jos a ij = b ij kaikilla i 2{, 2,...,m} ja j 2{, 2,...,n} ca ca 2 ca n ca 2 ca 22 ca 2n ca =(ca ij )= B C @... A ca m ca m2 ca mn a + b a 2 + b 2 a n + b n a 2 + b 2 a 22 + b 22 a 2n + b 2n A + B = B C @... A a m + b m a m2 + b m2 a mn + b mn
Matriisit Esimerkki Olkoot Nyt A = A +2B = 2 3 3 2 ja B = +2 2+ 3+2 = 3+ 2+2 + 3 2 5. 3 4 Miten määritellään matriisien tulo? Kerrotaanko vastinalkiot keskenään? Tämä Hadamardin tulo/schurin tulo ei toimi laskutoimituksena halutulla tavalla mutta sitä käytetään neuroverkkojen algoritmien kaavoissa.
Matriisit - Miten määritellään matriisien tulo? Matriisien tulo Olkoon A =(a ij ) m n-matriisi ja B =(b ij ) n p-matriisi. Matriisien A ja B tulo AB on m p-matriisi C =(c ij ), jolle c ij = nx a ik b kj. k= Matriisien A ja B tulon ij. alkio on matriisin Ai.rivinja matriisin Bj.sarakkeenvektoreidensisätulo. Jos A on m n- matriisi,b on n o-matriisi ja C on o p-matriisi, niin A(BC) =(AB)C ja tulo on m p-matriisi. oikeankokoisille matriiseille A(B + C) =AB + AC (A + B)C = AC + BC.
Matriisit Varo! Yleensä AB 6= BA. Tulo ei ole edes määritelty paitsi jos sekä A että B ovat n n-matriiseja. Esimerkki Olkoot A = 2 3 3 2 ja B = @ A. 2 Koska A on 2 3-matriisi ja B on 3 2-matriisi, niin tulo AB on 2 2-matriisi, +2 +3 +2 +3 2 4 8 C = AB = =. 3 +2 + 3 +2 + 2 4 4
Yhtälöryhmä, m lineaarista yhtälöä jan tuntematonta Yhtälöryhmä, jossa on m yhtälöä jan tuntematonta 8 a x + a 2 x 2 + + a n x n = b >< a 2 x + a 22 x 2 + + a 2n x n = b 2... >: a m x + a m2 x 2 + + a mn x n = b m, voidaan kirjoittaa matriisien ja vektoreiden avulla muodossa Ax = b, a a 2 a n x b a 2 a 22 a 2n A = B C @... A, x = x 2 B C @. A ja b = b 2 B C @. A. a m a m2 a mn x n b m Voiko yhtälön Ax = b ratkaista jakamalla puolittain matriisilla A?
Matriisit Diagonaalimatriisi ja kolmiomatriisit n n-matriisi A on diagonaalimatriisi, jos a ij =aina,kuni 6= j. A on yksikkömatriisi, jos se on diagonaalimatriisi ja a ii =kaikilla i.matriisi A on ylä(ala)kolmiomatriisi, jos kaikki komponentit diagonaalin ala(ylä)puolella ovat nollia. Esimerkki 2 2 3 A = @ A, B = @ A, C = 3 3 2, I = 4 A ja I ovat diagonaalimatriiseja ja I on yksikkömatriisi. B on yläkolmiomatriisi ja C on alakolmiomatriisi.
Matriisit Yksikkömatriisi käyttäytyy matriisien kertolaskussa kuten luku reaalilukujen kertolaskussa. Kaikille n n-matriiseille A ja n n-yksikkömatriisille I n on AI n = I n A = A. Osalla neliömatriiseista on käänteisalkio Kääntyvä matriisi Olkoot A ja B n n-matriiseja. Jos AB = BA = I n, niin A on kääntyvä ja B on matriisin Akäänteismatriisi, A. Käänteismatriisin käsin laskeminen suuremmille kuin 2 2-matriiseille on työlästä.
Matriisit Esimerkki Olkoon A =. Jos A:lla on käänteismatriisi B =(b ij ), niin AB = I 2, eli on oltava = AB = B = b b 2 b2 b = 22 b 2 b 22 b b 2 = A. Koska nyt myös BA = AA = I 2,niinA on itsensä käänteismatriisi.
Matriisit Transpoosi Olkoon A =(a ij ) m n-matriisi. Matriisi A T =(a ji ), a a 2 a n a a 2 a m a 2 a 22 a 2n A = B C @... A, a 2 a 22 a m2 AT = B C @... A, a m a m2 a mn a n a 2n a mn on matriisin A transpoosi. Jos A on neliömatriisi eli m = n ja A T = A, niina on symmetrinen. Huomaa, että vektoreille transpoosi kääntää rivivektorin sarakevektoriksi ja päinvastoin. Tätä muodollista operaatiota tarvitaan usein vektoreiden ja matriisien välisissä laskutoimituksissa.
Matriisit Esimerkki Olkoot A = 2 3 Matriisin A transpoosi on A T = @ A 2 3 2 ja B = @ 3A. 2 3 2 ja B T = B. Matriisi B on siis symmetrinen.
Matriisit - determinantti Neliömatriisin kääntyvyyttä voidaan testata determinantin avulla. a a 2 2-matriisin A = 2 determinatti on reaaliluku a 2 a 22 det A = a a 2 a 2 a 22 = a a 22 a 2 a 2. Jos det A 6=, niin A on kääntyvä ja A = a22 a 2. det A a 2 a Kun n 3, niin determinantti määritellään alimatriisien determinanttien avulla.
Matriisit - determinantti a a 2 a 3 3 3-matriisille A = @ a 2 a 22 a 23 A on a 3 a 32 a 33 det A = a a 22 a 23 a 32 a 33 a 2 a 2 a 23 a 3 a 33 + a 3 a 2 a 22 a 3 a 32. Jos A:n joku rivi tai sarake on pelkkiä nollia, niin det A =. Jos A on n n kolmiomatriisi, (erityisesti diagonaalimatriisi), niin det A = a a 22 a nn. n n-matriisi A on kääntyvä jos ja vain jos det A 6= ja det A = det A.
Matriisit - determinantti a b Geometrisesti 2 2-matriisin A = determinantti (sen c d itseisarvo) kertoo vektoreiden (a, c) ja(b, d) virittämän suunnikkaan pinta-alan.
Matriisit - determinantti Esimerkki Matriisin determinantti on A = @ 3 5 2 4 2 3A 2 4 det A =3 2 3 2 4 5 4 3 4 +2 4 2 2 = 3(2 4 3 2) 5(4 4 3 ( )) + 2(4 2 2 ( ) = 69.
Matriisit - yhtälöryhmä Esimerkki Ratkaistaan yhtälöryhmä ( 2x 3x 2 = x +4x 2 =. Yhtälöryhmää vastaava matriisi on A = det A = 8 + 3 = 6=. Matriisiyhtälön Ax = b ratkaisu on x = A b = 4 3 2 Python: numpy.linalg.solve(a,b) 2 3 kääntyvä, sillä 4 3 4 =.
Matriisihajotelmat Matriisit pyritään monesti esittämään kahden tai kolmen matriisin tulona, jossa tulon matriisit ovat symmetrisiä tai diagonaali- tai ikolmiomatriiseja. Esimerkiksi käänteismatriiseja ja determinantteja laskevat algoritmit tehdään hajotelmien avulla. LU-hajotelma Kääntyvät neliömatriisi voidaan (rivipermutaation jälkeen) esittää ala- ja yläkolmiomatriisien tulona A = LU, missä alakolmiomatriisin L diagonaalialkiot ovat nollia. Esimerkiksi 3 3-matriisille A on A = LU, a a 2 a 3 u u 2 u 3 @ a 2 a 22 a 23 A = @ `2 A @ u 22 u 23 A a 3 a 32 a 33 `3 `32 u 33
Matriisihajotelmat LU-hajotelma det A =detl det U = det U = u u 22 u nn. Käänteismatriisi A saadaan ratkaisemalla yhtälöt LUx i = e i, missä e i on R n :n i. (pysty)kantavektorijaratkaisux i on käänteismatriisin i. sarake. Yhtälöä Ax = b vastaavasta yhtälöstä LUx = b saadaan yhtälöpari ( Ly = b Ux = y, joista ensimmäinen ratkeaa etenevin ja toinen takenevin sijoituksin.
Matriisihajotelmat Esimerkki Etsitään matriisin A = joille A = 4 3 LU-hajotelma eli matriisit L ja U, 6 3 4 3 = 6 3 `2 Vastaava yhtälöryhmä on 8 u =4 >< u 2 =3 `2 u =6 >: `2 u 2 + u 22 =3 u u 2. u 22 ja sen ratkaisu u = 4, u 2 = 3, u 22 = 3 2, `2 = 3 2.
Matriisihajotelmat Esimerkki Etsitään matriisin A = >>> A=Matrix([[4,3],[6,3]]) >>> L,U, =A.LUdecomposition() >>> L Matrix([ [, ], [3/2, ]]) >>> U Matrix([ [4, 3], [, -3/2]]) Siten A = 4 3 LU-hajotelma SymPyn avulla: 6 3 4 3 = 6 3 4 3 3 2 3 2.
The neural network zoo A Neural Network in lines of Python Execute Python Online repl.it - a cloud coding environment