1, kun m = 0 ja n = 0, 0, muulloin.

Save this PDF as:
 WORD  PNG  TXT  JPG

Koko: px
Aloita esitys sivulta:

Download "1, kun m = 0 ja n = 0, 0, muulloin."

Transkriptio

1 Luku 1 Digitaalinen kuvankäsittely Tässä kappaleessa luodaan lyhyt katsaus digitaaliseen kuvankäsittelyyn ja joihinkin sen sovelluksiin. Yksinkertaisimmillaan kuvankäsittelyä voidaan pitää perusmenetelmien laajennuksena kahteen ulottuvuuteen. Koska kuvien rakenne sekä havaitsemismekanismi kuitenkin poikkeavat selvästi esimerkiksi äänisignaalien vastaavista, ovat kuvankäsittelyn menetelmät usein selvästi poikkeavia tähän mennessä opituista yksiulotteisten signaalien käsittelymenetelmistä. Arkikielessä kuvankäsittely viittaa usein käsin tapahtuvaan kuvien sisällön tai ulkoasun muokkaamiseen; kuvamanipulaatioon. Tässä kappaleessa tarkasteltavat menetelmät ovat kuitenkin pääosin automaattisia tietokoneella toteutettavia algoritmeja, joiden pääasiallinen käyttökohde on kuvan ulkoasun muokkaaminen käyttötarkoituksen mukaan. 1.1 Kaksiulotteiset järjestelmät Monet restaurointityökalut perustuvat kaksiulotteisiin lineaarisiin järjestelmiin sekä kaksiulotteisen Fourier-muunnoksen käyttöön. Seuraavaksi määritellään kaksiulotteisten lineaaristen järjestelmien peruskäsitteet. Kaksiulotteisesta diskreettiaikaisesta signaalista käytetään merkintää x(m, n), missä m, n Z. Kuva on kaksiulotteinen signaali, joka on määritelty vain tietyissä pisteissä (esim. m {,1,...,M 1} ja n {,1,...,N 1}). Indeksi m kertoo kuvapisteen (pikselin) pystykoordinaatin ja indeksi n kuvapisteen vaakakoordinaatin kuvan vasemmasta ylälaidasta lukien. Äärimmäisenä vasemmassa yläkulmassa oleva pikseli on x(,). Kaksiulotteinen impulssi δ(m, n) määritellään seuraavasti δ(m,n) = { 1, kun m = ja n =,, muulloin. Kaksiulotteinen järjestelmä muuntaa kaksiulotteisen signaalin toiseksi vastaavaksi signaaliksi. Jos järjestelmä on lineaarinen ja aikainvariantti, sen impulssivaste h(m, n)

2 154 SIGNAALINKÄSITTELYN MENETELMÄT määrää järjestelmän täydellisesti (aivan kuten yksiulotteisessa tapauksessakin). Tällöin vaste y(m, n) on herätteen x(m, n) ja impulssivasteen h(m, n) kaksiulotteinen konvoluutio y(m,n) = h(m,n) x(m,n) = h(j,k)x(m j,n k). j= k= Kaksiulotteisesta impulssivasteesta h(m, n) käytetään usein englanninkielistä nimeä point spread function; PSF, koska se kertoo kuinka yksittäinen valkoinen piste (eli esimerkiksi impulssi δ(m,n)) leviää kulkiessaan järjestelmän läpi Kaksiulotteinen diskreetti Fourier-muunnos Kaksiulotteinen diskreetti Fourier-muunnos muuntaa kuvan x(m, n) (m {, 1,..., M 1} jan {,1,...,N 1}) toiseksi kuvaksix(m,n) (m {,1,...,M 1} jan {,1,...,N 1}) kaavalla X(m,n) = M 1 j= N 1 k= x(j,k)w jm M w kn N, missä w N on ykkösen N:s juuri (w N = e πi/n ). Käänteismuunnos määritellään kaavalla x(m,n) = 1 MN M 1 j= N 1 k= X(j,k)w jm M wkn N, Vastaavalla tavalla voidaan määritellä Fourier-muunnoksen, Fourier-sarjan ja diskreettiaikaisen Fourier-muunnoksen kaksiulotteiset yleistykset. Kaksiulotteinen DFT on separoituva, eli se voidaan laskea kahden yksiulotteisen DFT:n avulla. Tämä nähdään muokkaamalla kaksiulotteisen DFT:n kaavaa seuraavasti. X(m,n) = = M 1 j= M 1 j= N 1 k= w jm M x(j,k)w jm M w kn N ( N 1 k= x(j,k)w kn N ) Nyt havaitaan, että sulkujen sisällä oleva lauseke on kuvan j:nnen vaakarivin DFT. Jos tästä käytetään merkintää N 1 X j (n) = x(j,k)w kn N, saa X(m, n) muodon k= N 1 X(m,n) = X j (n)w jm N, j= mikä on jonon X j (n) yksiulotteinen DFT. Käänteismuunnokselle voidaan johtaa vastaava menetelmä, joka käyttää yksiulotteisia käänteisiä muunnoksia.

3 1. DIGITAALINEN KUVANKÄSITTELY 155 Kaksiulotteinen DFT saadaan siis muuntamalla kuvan jokainen vaakarivi yksiulotteisella DFT:llä (käytännössä tietysti FFT:llä) ja muuntamalla tuloksen jokainen pystyrivi yksiulotteisella DFT:llä. Alla vasemmalla olevan kuvan jokainen vaakarivi on muunnettu ja tulos on nähtävissä oikealla olevassa kuvassa. Vaaleammat pisteet kuvaavat suuria arvoja. Muunnoksesta nähdään selvästi mm. alkuperäisen kuvan yläosassa olevan taivaan vaikutus muunnokseen. Yläosan harmaasävy on miltei vakio, ja näinollen kyseiset vaakarivit sisältävät pääosin pieniä taajuuksia. Pienet taajuudet on kuvattu kuvan vasemmassa laidassa (ja symmetrisyyden vuoksi myös oikeassa), mihin yläosan energia selvästi keskittyykin Vaakarivimuunnosten jälkeen muunnetaan jokainen pystyrivi. Tulos on alla vasemmalla. Nyt nollataajuus on vasemmassa yläkulmassa ja suurin taajuus aivan kuvan keskellä. Muunnoksen itseisarvo on vaaka- ja pystysuunnassa symmetrinen, kuten yksiulotteisen DFT:n yhteydessä opittiin. Muunnoskuvan havainnollisuuden lisäämiseksi on yleensä tapana siirtää nollataajuus kuvan keskelle, kuten oikeanpuoleisessa kuvassa on tehty Muunnoskuvasta nähdään, että nollataajuus ja sen lähellä olevat pienet taajuudet ovat voimakkaimpia. Siirryttäessä nollataajuuden kohdalta vaakasuoraan oikealle nähdään kuin-

4 156 SIGNAALINKÄSITTELYN MENETELMÄT ka paljon kuvassa on eritaajuisia vaakasuoria värähtelyjä. Toisaalta nollataajuudesta ylöspäin löytyvät pystysuorat värähtelyt. Tämä näkyy selvästi alla vasemmalla olevan keinotekoisen testikuvan Fourier-muunnoksesta. Kuva muodostuu pelkästään vaakasuorasta värähtelystä, joten oikealla olevassa DFT:ssä nähdään ainoastaan yksi taajuus nollataajuuden oikealla puolella. Fourier-muunnoksen itseisarvon symmetrisyydestä johtuen kuvassa on myös toinen piste vastaavan negatiivisen taajuuden kohdalla Kaksiulotteinen DFT voidaan esittää myös matriisien avulla. Aiemmin määriteltiin Fouriermuunnoksen muunnosmatriisi N:n mittaiselle signaalille w N w N w N... w N w N w 1 N w N... w (N 1) N F N = w N w N w 4 N... w (N 1) N w (N 1) N w N w (N 1) N w (N 1) N Jos kuvan pikseliarvot muodostavat matriisin X: x(,) x(,1) x(,n 1) x(1,) x(1,1) x(1,n 1) X =......, x(m 1,) x(m 1,1) x(m 1,N 1) saadaan vaakarivit muunnettua kertomalla kuva X muunnosmatriisilla F N oikealta 1, s.o., XF N. Tämän jälkeen saadaan pystyrivit muunnettua kertomalla matriisi XF N muunnosmatriisilla F M vasemmalta. Näin ollen kuvan X kaksiulotteinen DFT on matriisien avulla esitettynä yksinkertaisesti F M XF N. 1 Itse asiassa kertolasku tehdään muunnosmatriisin transpoosilla, mutta symmetrian vuoksi transpoosi voidaan jättää pois.

5 1. DIGITAALINEN KUVANKÄSITTELY 157 Esimerkiksi 4 4-kuvan X = DFT saadaan matriisikertolaskulla F 4 XF 4 = 1 i 1 i i 1 i i 1 i i 1 i i i = 44 11i 69+56i 16+49i i i i i i 16 49i 69 56i Käänteismuunnos saadaan vastaavasti. Ainoa ero on muunnosmatriisi, jonka eksponentit ovat tällöin positiivisia, ja jonka kertoimena on 1 MN. 1. Dekonvoluutio Kuvassa olevien häiriöiden syntyä mallinnetaan usein kaksiulotteisella LTI-järjestelmällä. Tällöin siis havaittu kuva y(m, n) on kulkenut jonkin lineaarisen järjestelmän läpi ja samalla sen laatu on heikentynyt. Tällöin siis ajatellaan, että on olemassa ns. ideaalikuva x(m, n), jonka laatu on täydellinen. Jos mainitun lineaarisen järjestelmän impulssivaste on h(m,n), on voimassa relaatio y(m,n) = h(m,n) x(m,n). Yksiulotteisessa tapauksessa lineaarisen järjestelmän aiheuttamaa vääristymää korjattiin Fourier-muunnosten avulla. Samaa menetelmää voidaan käyttää myös nyt. Ottamalla Fourier-muunnos yllä olevan yhtälön molemmista puolista, muuttuu konvoluutio kertolaskuksi ja saadaan yhtälö Y(m,n) = H(m,n)X(m,n). Näin ollen ideaalikuvan DFT saadaan teoriassa yhtälöstä X(m,n) = Y(m,n) H(m,n). Ongelmaksi tässä jakolaskussa tulee kuitenkin mahdolliset nollalla jakamiset. Kirjallisuudessa esitetään useita ratkaisuja tähän ongelmaan. Yksi mahdollisuus on lisätä pieni positiivinen luku impulssivasteen DFT:hen, eli arvoida ideaalikuvan DFT:tä kaavasta X(m,n) = Y(m,n) H(m,n)+ǫ,

6 158 SIGNAALINKÄSITTELYN MENETELMÄT missä ǫ on pieni positiivinen reaaliluku. Tällöinkin nimittäjässä voi toki teoriassa olla nolla, mutta käytännössä se on hyvin epätodennäköistä. Toinen ratkaisu on tehdä jakolasku normaalisti nollasta poikkeaville funktion H(m, n) arvoille ja nolla-arvojen tapauksessa sijoittaa funktion X(m, n) arvoksi nolla. Kaavamuodossa tämä esitetään seuraavasti: X(m,n) = { Y(m,n), josh(m,n), H(m,n), josh(m,n) =. Tästä menetelmästä käytetään nimitystä pseudoinverssi tai yleistetty käänteissuodin. Yleisimmin käytetty menetelmä on ns. Wiener-suodin, jossa käänteissuotimen DFT:tä arvioidaan tieteellisemmin; havaitun kuvan ja siinä olevan kohinan tilastollisiin ominaisuuksiin perustuen. Konvoluutiolla on menestyksekkäästi mallinnettu esimerkiksi väärin tarkennetun linssin ja kameran tärähtämisen vaikutusta. Alla vasemmalla on digitaalikameralla otettu kuva, jossa kamera on liikkunut vasemmalle kuvaa otettaessa. Kameran nopeutta voidaan arvioida kuvassa olevien terävien reunojen kohdille piirtyneistä varjokuvista; varjot näyttäisivät olevan noin 3 pikseliä pitkiä Tällöin havaittu kuva on muotoa y(m,n) = h(m,n) x(m,n), missä x(m, n) on tärähtämätön kuva ja h(m, n) on liikkuvan kameran vaste impulssille. Jos liikkuvalla kameralla otetaan kuva yksittäisestä kirkkaasta pisteestä mustalla taustalla, lopputuloksena on yksittäinen viiva, tässä tapauksessa vaakasuora viiva, jonka pituus on

7 1. DIGITAALINEN KUVANKÄSITTELY 159 noin 3 pikseliä. Siis { 1, kun n = ja m =,1,...,9, 3 h(m,n) =, muilla arvoilla m {,1,...,479} ja n {,1,...,639}. Huomaa, että impulssivastekuvasta tehdään samankokoinen kuin havaitusta kuvasta, jotta Fourier-tasossa tapahtuva jakolasku olisi mahdollinen. Vakioarvon 1 sijasta voidaan 3 käyttää kasvavia tai laskevia arvoja, jos kameran liike on kiihtyvää tai hidastuvaa. Tässä tapauksessa paras tulos saavutettiin laskevilla arvoilla. Seuraavaksi sekä impulssivasteesta h(m, n) että havaitusta kuvasta y(m, n) otetaan kaksiulotteinen DFT. Tämän jälkeen kuvan DFT:n Y(m, n) jokainen piste jaetaan impulssivasteen DFT:n H(m, n) vastaavalla pisteellä. Nollalla jakamiselta vältyttiin tässä esimerkissä lisäämällä vakio.5 impulssivasteen DFT:hen: X(m,n) = Y(m, n) H(m,n)+.5. Kun tuloksesta otetaan vielä käänteinen kaksiulotteinen DFT, lopputulos on alla olevan näköinen. Vaikka liikkeen vaikutusta ei aivan täysin voitukaan eliminoida, on tulos silti selvästi alkuperäistä parempi. Erityisesti kuvassa olevat pienet yksityiskohdat (esimerkiksi kirjojen selkämysten teksti) tulivat selvemmiksi Piste-ehostus Kaksiulotteisia muistittomia järjestelmiä kutsutaan pisteoperaatioiksi (engl. point operation) tai piste-ehostukseksi. Näiden järjestelmien vaste riippuu ainoastaan yhdestä herätteen arvosta, eli ne soveltavat samaa funktiota yhteen kuvan pisteeseen kerrallaan. Useimmiten

8 16 SIGNAALINKÄSITTELYN MENETELMÄT piste-ehostus lasketaan nimensä mukaisesti kuuluvaksi kuvaa ehostavien operaatioiden joukkoon. Yleisesti käytettyjä pisteoperaatioita ovat mm. gammakorjaus (engl. gamma correction) ja histogrammin ekvalisointi (engl. histogram equalization) Gammakorjaus Tietokoneen monitoreilla ja televisioilla on tapana vääristää kirkkautta siten, etteivät kuvat näytä ruudulla luonnollisilta. Tätä efektiä kompensoidaan ns. gammakorjauksella. Useimmiten kuvaputkella näkyvän pisteen intensiteetti riippuu kuvattavan kohteen kirkkaudesta epälineaarisesti noudattamalla jotain potenssifunktiota. Jos siis videosignaalin jännite on u, ruudulla havaittu intensiteetti I on suunnilleen muotoa I = u γ. Eri järjestelmissä (PAL, NTSC, jne.) eksponentti gamma vaihtelee ja lisäksi mittauksilla saatu funktio voi olla hieman yllä olevaa monimutkaisempi. Radioalan standardointijärjestö ITU-R esittää suosituksessaan BT.79: "Basic parameter values for the HDTV standard for the studio and for international programme exchange" funktion I = { u 4.5, kun u.81, ( u ) 1.45, kun u >.81. Tämän funktion kuvaaja on esitetty alla olevassa kuvassa. 1.8 Intensiteetti Jännite Jotta kuvat näyttäisivät luonnollisilta, tehdään tallennettavaan tai lähetettävään videosignaaliin gammakorjaus. Gammakorjaus korjaa monitorin aiheuttaman vääristymän soveltamalla havaittuun kuvaan yllä olevan funktion käänteisfunktiota, joka on f(x) = { 4.5x, kun x.18, 1.99x.45.99, kun x >.18. Gammakorjaus on mahdollista useimmissa kuvankäsittelyohjelmissa. Toteutuksesta riippuen ohjelmalle annetaan joko monitorin gamma (yo. esimerkissä 1 ) tai käänteisfunktion gamma (yo. esimerkissä.45). Yleensä funktion kuvaajaa on mahdollistä vielä.45 muokata hiirellä. Mahdollisuus muokata gammakäyrää käsin avaa luonnollisesti uusia mahdollisuuksia käyttää gammakorjausta kuvan ulkoasun parantamiseen. Kuvankäsittelyohjelmissa operaation käyttötarkoitus ei yleensä liity lainkaan menetelmän alkuperäiseen ideaan eli monitorin vääristymien kompensoimiseen. Alla vasemmalla on kuva sellaisena kuin se näkyisi ruudulla ilman gammakorjausta, kun monitorin gamma on γ = 1 =.. Oikealla on gammakorjattu kuva..45

9 1. DIGITAALINEN KUVANKÄSITTELY Histogrammin ekvalisointi Histogrammi on käyrä, joka esittää kuvan eri harmaasävyjen määrää. Histogrammin ekvalisoinnilla pyritään saamaan histogrammi mahdollisimman tasaiseksi siten, että se levittäytyy mahdollisimman laajalle harmaasävyalueelle. Tällöinhän kuvan kontrasti paranee, koska vaaleat ja tummat pisteet erottuvat toisistaan paremmin. Esimerkki kuvasta, joka on ekvalisoinnin tarpeessa löytyy alta. Vasemmalla on ekvalisoimaton kuva ja sen histogrammi, josta nähdään valtaosan pikseleistä olevan harmaasävyalueella 1. Näin ollen koko harmaasävyalue ei tule tehokkaasti käytetyksi ja kuvan kontrasti on huono Pisteiden lukumäärä Pisteiden lukumäärä Harmaasävy Harmaasävy

10 16 SIGNAALINKÄSITTELYN MENETELMÄT Oikealla olevan kuvan histogrammi on ekvalisoitu, eli se on muunnettu lähemmäksi tasaista histogrammia, jolloin kuvan kontrasti on parantunut. Ekvalisointi tapahtuu muuntamalla kuvan jokaisen pisteen harmaasävy n uudeksi harmaasävyksi n kaavalla n n k= = (L 1) H(k) L 1 (1.1) k=h(k), missä H(k), k =,1,,...,L 1, on kuvan histogrammi ja L on kuvan harmaasävyjen lukumäärä (yllä olevassa esimerkissä L = 56). Luonnollisesti tuloksena saatavat arvot on pyöristettävä lähimpään kokonaislukuun. Menettely tasoittaa histogrammin, koska uusi harmaasävyarvo riippuu nykyistä harmaasävyä tummempien pisteiden määrästä. Tarkastellaan esimerkiksi yllä olevan ekvalisoimattoman kuvan histogrammia. Nyt vaikkapa harmaasävyn 5 vasemmalla puolella on 5868 pistettä, eli näin monta pistettä kuvassa on harmaasävyä5 tummempia. Kuvassa on kaikkiaan pistettä, joten 89.5 prosenttia pisteistä on harmaasävyarvon 5 vasemmalla puolella. Jotta histogrammista tulisi tasainen, täytyisi myös 89.5 prosenttia harmaasävyistä jäädä vasemmalle puolelle. Tämä onnistuu muuntamalla harmaasävy 5 harmaasävyksi Tekemällä sama operaatio kaikille 56:lle harmaasävyarvolle saadaan seuraava kuvaus vanhan ja uuden harmaasävyarvon välille. Uusi harmaasävy n Alkuperäinen harmaasävy n Vaaka-akselilla on alkuperäisen kuvan harmaasävyarvo ja pystyakselilla on ekvalisoidun kuvan harmaasävyarvo. Kuvan ekvalisoinnin viimeinen vaihe on muuntaa harmaasävyt piste kerrallaan yllä olevan kuvauksen avulla. Koska kaikkia tietyn harmaasävyn pisteitä käsitellään samalla tavalla, ei histogrammista tule aivan tasainen vaan siinä on erillisiä piikkejä. Tämä saattaa näkyä kuvassa rajoina harmaasävyalueiden välillä, jos harmaasävyjä on vain vähän ja kuvassa on suuria tasaisia alueita. Tämän ilmiön vaikutusta voidaan vähentää satunnaistamalla harmaasävyjen muunnos, eli esimerkiksi arpomalla kussakin pisteessä vanhan harmaasävyn 5 tilalle jokin harmaasävy väliltä 6,..., 3 kiinteän arvon 8 asemesta. Tarkkaan ottaen tummempien tai yhtä tummien pisteiden määrästä.

11 1. DIGITAALINEN KUVANKÄSITTELY Harjoitustehtäviä 1.1. (Matlab) Laadi Matlab-rutiini joka ekvalisoi annetun kuvan histogrammin. Jos kuva on muuttujassa X, niin ekvalisointi tapahtuu komennolla Y=heq(X); Kuvan X histogrammin voi laskea komennolla H=hist(double(X(:)),:55); Vertaa lopuksi tulosta valmiin histeq-komennon tulokseen. Käytä kuvaa, jonka saat osoitteesta Saat ladattua kuvan Matlabiinimread-komennolla. 1.. Laske matriisin kaksiulotteinen Fourier-muunnos. 1 1 X = (Matlab) Luo kahdesta taajuudesta koostuva keinotekoinen kuva muuttujaan X: n = :511; x1 = cos(.**pi*n); x = sin(.5**pi*n); X = x1 *x; Katso kuva imshow-komennolla. Laske sen kaksiulotteinen FFT (komento fft), ota tuloksesta itseisarvo ja muunna se desibeleiksi. Siirrä lopuksi nollataajuus kuvan keskelle komennollafftshift ja tulosta kuva ruudulle. Mitä näet? 1.4. (Matlab) Tutustutaan Matlabin valmiiseen dekonvoluutiofunktioon deconvblind. Funktio toteuttaa ns. sokean dekonvoluution, joka pyrkii arvioimaan häiriön aiheuttaneen suotimen impulssivasteen itse.

12 164 SIGNAALINKÄSITTELYN MENETELMÄT Lataa kuva Matlabiin komennolla imread. Kuvassa on simuloitu kameran pystysuuntaista tärähdystä kuvanottohetkellä. Kokeile poistaa liike-epäterävyys kuvasta I komennoilla PSF = rand(3, 1); [J, P] = deconvblind(i, PSF, 3); Menetelmä etsii sopivaa impulssivastetta, jolla dekonvoluutio palauttaisi tiettyjen kriteerien mukaisen järkevän kuvan. Tuloksena saadaan sekä terävä kuva että impulssivaste. Menetelmä on iteratiivinen ja alustaa impulssivasteen satunnaiseksi 3 näytteen mittaiseksi pystysuoraksi viivaksi. Tulosta ruudulle tuloskuva J ja impulssivaste P. Tässä tapauksessa simuloitu impulssivaste oli todellisuudessa tarkalleen 3 näytteen mittainen pystysuora viiru. Menetelmä on herkkä alkuarvaukselle. Kokeile mitä tapahtuu, jos impulssivaste alustetaan pidemmäksi kuin se todellisuudessa on ollut: PSF = rand(4, 1);. Millainen on dekonvoluution tulos? Entä jos impulssivaste on näytteen mittainen? Entä jos impulssivaste on x neliö?

13 Luku 11 Oppivat järjestelmät Tässä kappaleessa tutustutaan ns. oppiviin järjestelmiin, joille opetetaan laskennallinen ongelma esimerkkien avulla. Yksi merkittävä osa tähän luokkaan kuuluvia järjestelmiä ovat ns. luokittelijat, joiden täytyy esimerkkien perusteella oppia luokittelemaan moniulotteinen data (x 1, x,..., x N R n ) äärelliseen määrään luokkia: y 1,y,...,y N {1,,...,M}. Oppivien järjestelmien sovelluskohteisiin signaalinkäsittelyssä kuuluvat mm. tekstintunnistus ja puheentunnistus. Näiden lisäksi menetelmiä käytetään esimerkiksi hakukoneissa, lääketieteellisessä diagnostiikassa sekä mm. sähköpostisuodattimissa. Kaikille näille järjestelmille on yhteistä, että ne oppivat luokittelun esimerkkien avulla: esimerkiksi tekstintunnistuksessa luokittelijalle näytetään kustakin kirjaimesta satoja tai tuhansia esimerkkejä, joiden perusteella opetusalgoritmi valitsee luokittelijalle sopivat parametrit. Esimerkiksi käsinkirjoitettujen merkkien tunnistuksessa yleisesti käytetty MNIST-tietokanta koostuu yhteensä noin 7 käsinkirjoitettua kirjainta esittävästä bittikartasta. Yleisesti käytettyihin luokittelumenetelmiin kuuluvat mm. Fisherin lineaarinen erottelija, tukivektorikone sekä hermoverkko. Menetelmiä tarkastellaan jatkossa esimerkin avulla, jossa alla olevan kuvan mukaisten kaksiulotteisten joukkojen (punaiset ristit ja vihreät ympyrät) avulla pitäisi oppia päättelysääntö uusien näytteiden luokittelemiseksi (kuten kuvan musta pallo). 8 6 Kumpaan luokkaan tämä näyte kuuluu? 4 x x 1 Ensinäkemältä ongelma saattaa vaikuttaa helpolta, koska tässä kaksiulotteisessa tapauksessa kuka tahansa osaa piirtää kohtuullisen hyvän rajan joukkojen välille. Ongelmasta tulee kuitenkin haasteellisempi kun joukkojen dimensio kasvaa ja ne menevät osin

14 166 SIGNAALINKÄSITTELYN MENETELMÄT päällekkäin. Esimerkiksi edellä mainitun MNIST-tietokannan näytteet ovat pikselin kokoisia kuvia, joten avaruus on 4-ulotteinen. Tärkeitä käsitteitä luokittelussa sekä yleensäkin koneoppimisessa ovat opetusjoukko ja testijoukko. Opetusjoukkoa käytetään nimensä mukaisesti järjestelmän opetuksessa, mutta lopputuloksen toimivuutta arvioidaan erillisen testijoukon avulla. Todellisessa tilanteessahan luokittelija luokittelee enimmäkseen opetusjoukkoon kuulumattomia näytteitä, joten opetusjoukon luokitteluvirhe ei ole luotettava mittari. Esimerkiksi edellä mainittu MNISTtietokannan 7 merkkiä on jaettu 6:n opetusmerkkiin ja 1:n testikuvaan Lähimmän naapurin luokittelija Yksinkertainen ja helposti toteutettava ratkaisu luokitteluongelmaan on niin sanottu lähimmän naapurin luokittelija (engl. Nearest Neighbor Classifier; NN-classifier). Nimensä mukaisesti menetelmä etsii opetusaineistosta samankaltaisimman näytteen ja valitsee luokiteltavan pisteen luokan sen perusteella. Yleisempi versio tästä varsin intuitiivisesta luokittelijasta on ns. k-nn-luokittelija, joka etsii opetusdatasta k samankaltaisinta näytettä ja valitsee näiden joukosta yleisimmän luokan. Menetelmä ei siis vaadi erillistä opetusvaihetta, vaan se muistaa koko opetusmateriaalin sellaisenaan. Tämä on myös menetelmän suurin ongelma: uuden näytteen luokkaa pääteltäessä täytyy koko aineisto käydä läpi ja etsiä sieltä lähimpänä olevat. Lisäksi koko aineiston täytyy olla muistissa, mikä voi tulla ongelmaksi suurilla aineistoilla. Pienille opetusdatan määrille k-nn sen sijaan toimii yleensä yhtä hyvin kuin mikä tahansa muukin luokittelija, ja onkin usein käytetty helpohkoissa luokitteluongelmissa, joissa luokat erottuvat toisistaan selvästi. Alla olevassa kuvassa on piirretty k-nn-luokittelijan luokkarajat aiemmin esillä olleen kahden luokan testidatan tapauksessa. Vasemmanpuoleisessa kuvassa on 1-NN-luokittelijan tulos ja oikeanpuoleisessa 9-NN-luokittelijan tulos. Kuvasta nähdään, että suuremmilla parametrin k arvoilla menetelmästä tulee epäherkempi yksittäisille poikkeaville näytteille. Oikeanpuoleisessa kuvassa oikeanpuolimmaiset vihreät ympyrät eivät vaikuta luokkarajaan yhtä paljon, koska ne ovat melko irrallisia muista näytteistä ja näin ollen sattuman tulosta x x x x 1 Jos luokat ovat enemmän päällekkäin, tulee 1-NN-luokittelijan luokkarajasta melko rikkonainen. Alla on esimerkki tällaisesta tilanteesta. Vasemmalla olevassa 1-NN-luokitteli-

15 11. OPPIVAT JÄRJESTELMÄT 167 jan tuloksessa jokainen näytepiste vaikuttaa lopputulokseen, ja luokkaraja koostuu monesta irrallisesta osasta. Oikealla olevassa 9-NN-luokittelijan kuvassa luokkaraja on yhtenäinen ja luultavasti paremmin toimiva x x x x 1 Seuraavaksi tutustutaan monimutkaisempiin luokittelijoihin, joiden esitysmuoto on k- NN-luokittelijaa kompaktimpi. Kompakti esitys voi olla esimerkiksi funktio f(x), jonka arvo (esim. positiivinen vai negatiivinen) määrää näytteen x luokan. Tällöin luokan valinta on nopeampaa, mutta hyvän funktion f päättely vie enemmän aikaa. Tämä on yleensä toivottu toimintatapa, koska opetusvaihe ei ole reaaliaikainen eikä opetuksen kesto ole niin kriittinen tekijä kuin itse luokittelun. 11. Lineaarinen erottelija Fisherin lineaarinen erottelija eli lineaarinen diskriminantti (Linear Discriminant Analysis; LDA) on julkaistu jo vuonna 1936, mutta on edelleen yleisesti käytetty ratkaisu pääasiassa yksinkertaisuutensa vuoksi. Perusideana on ratkaista se suora, jolle projisoitu moniulotteinen data maksimoi luokkien välisen varianssin (eli vie luokat mahdollisimman kauas toisistaan). Ensimmäinen mieleen tuleva ratkaisu on vetää raja suunnilleen joukkojen puoliväliin. Kaksiulotteiselle datalle tämä voidaan määrittää käsinkin, mutta esim. sataulotteiselle datalle tarvitaan automaattinen menetelmä rajan (eli ns. päätöspinnan) määräämiseksi. Yksinkertaisin ratkaisu on piirtää jana joukkojen massakeskipisteiden välille, ja vetää (ortogonaalinen) päätöspinta niiden puoliväliin. Tämä ratkaisu on esitetty alla olevassa kuvassa.

16 168 SIGNAALINKÄSITTELYN MENETELMÄT 6 4 Päätöspinta Väärin luokittuvia pisteitä x 4 Massakeskipisteet x 1 Tuloksesta nähdään, että ratkaisu ei ole paras mahdollinen, jos luokat ovat vähänkään limittäin. Nyt nimittäin vääriä päätöksiä jää valittiinpa rajan sijainti miten hyvänsä, jos suunta on kuvan mukainen. Parempi ratkaisu olisi suora, jolle projisoitaessa pistejoukot tulevat toisistaan erillisiksi yksiulotteisiksi joukoiksi. Esimerkiksi alla olevassa kuvassa on edellä olleet kaksi pisteparvea projisoitu eräälle tällaiselle suoralle x x 1 Kuvion perusteella havaitaan, ettei erottelun kannalta ole väliä missä suora sijaitsee, ainoastaan sen suunnalla on merkitystä. Tämän vuoksi riittää tarkastella pelkästään suoran suunnan määrävää vektoria w. Pisteen x projektio vektorille w määritellään kaavalla proj w (x) = w x w w. Projisoidun pisteen sijainti suoralla määräytyy pistetulon w x perusteella, joten yksinkertaisuuden vuoksi riittää tarkastella pelkästään sitä. Suureen w x jakauma on esitetty alla olevassa kuvassa. 1 Muistin virkistämiseksi: pisteen projektio kuvaa sen lähimmäksi suoralla olevaksi pisteeksi.

17 11. OPPIVAT JÄRJESTELMÄT 169 Lukumäärä w x Näyttäisi siis, että käytetty suora on hyvä valinta, ja esimerkiksi seuraava yksinkertainen algoritmi vaikuttaisi olevan hyvä luokittelija kyseiselle datalle: { vihreä ympyrä, jos w x 7.5, Pisteen x luokka = punainen risti, jos w x < 7.5. Kuinka vektori w sitten valitaan? Tässä yksinkertaisessa tapauksessa se onnistuu käsinkin, mutta 1-ulotteisten osin päällekkäin olevien luokkien tapauksessa automaattinen menetelmä on tarpeen. Fisher muotoili kysymyksen optimointiongelman muotoon: mikä on se vektori w, jolle projisoitaessa luokkien välinen varianssi maksimoituu suhteessa luokkien sisäiseen varianssiin. Kyseinen vektori saadaan ratkaistua kirjoittamalla Fisherin määritelmän mukaiset lausekkeet auki ja sieventämällä tulos. Melko suoraviivaisen matriisilaskennan avulla voidaan osoittaa että tämä suure saa muodon J(w) = luokkien välinen varianssi luokkien sisäinen varianssi = wt (µ 1 µ )(µ 1 µ ) T w, w T (C 1 + C )w missä µ 1 ja µ ovat luokkien keskipisteet ja C 1 ja C niiden otoskovarianssimatriisit. Etsimällä gradientin nollakohta voidaan osoittaa, että tämän lausekkeen maksimoiva vektori w on w = (C 1 + C ) 1 (µ 1 µ ). Edellä olleen esimerkin tapauksessa kovarianssimatriiseilla ja keskipisteillä on seuraavat arvot ( ) ( ) ( ) ( ) C 1 =, C =, µ =, µ.699 = jolloin w = [ 3.477,.8695] T, joka on aiemmassa kuvassa olleen projektiosuoran suuntavektori. Huomaa, että kaikki samansuuntaiset (ja vastakkaissuuntaiset) vektorit kelpaavat yhtä lailla. Usein onkin tapana normalisoida vektori ykkösen mittaiseksi: w = w/ w. Näin saadun luokittelijan ohjelmallinen toteutus on äärimmäisen yksinkertainen. Uuden näytteen x = (x(1), x()) luokka päätellään laskemalla pistetulo x w = 3.477x(1)+.8695x() ja vertaamalla tulosta kynnysarvoon c (esim. edellä ollut raja c = 7.5). Todellisessa tilanteessa kynnyksen valinta "kuvasta katsomalla"on liian epätarkkaa, joten tähänkin tarvitaan automaattinen menetelmä. Paras tapa on valita c niin, että väärin menneiden opetusnäytteiden osuus on mahdollisimman pieni (esimerkin tapauksessa kaikki kynnykset väliltä c [ 8.967, ] tuottavat nollavirheen, joten ne kaikki kelpaisivat). Yksinkertaisempi tapa on valita kynnys joukkojen keskipisteiden puolivälistä (ks. harjoitus 11.3), jolloin saadaan arvo c = Huomaa, että kaavassa käytetään pistetulon kanssa yhtäpitävää matriisituloa w x = w T x.

18 17 SIGNAALINKÄSITTELYN MENETELMÄT Tällä kynnysarvolla saatava päätöspinta on alla olevassa kuvassa. Kuvasta nähdään menetelmän jakavan opetusjoukot kahtia täysin oikein. 8 Projektiosuora 6 4 x 4 Päätöspinta x 1 Päätöspinnan lähellä on kuitenkin nyt kaksi vihreää pistettä, jotka luokittuvat juuri ja juuri oikein. Tätä ratkaisua turvallisemmalta tuntuisikin valinta, jossa marginaali päätöspinnan molemmin puolin olisi mahdollisimman suuri. Tähän ajatukseen perustuvat tukivektorikoneet, joita käsitellään seuraavaksi Tukivektorikoneet Tukivektorikone (engl. support vector machine (SVM)) kehitettiin alunperin 196-luvulla Moskovassa 3, mutta laajempi suosio syntyi vasta 199-luvun lopulla tehokkaiden laskentamenetelmien sekä kehittyneemmän teorian myötä. Menetelmän ideana on valita se päätöspinta, joka maksimoi luokkien väliin jäävän marginaalin (eli on mahdollisimman keskellä pisteparvien välissä). Esimerkiksi yllä ollut LDA:n päätöspinta on piirretty luokkien keskipisteiden puoliväliin, mutta se sattuu olemaan lähempänä vihreitä ympyröitä kuin punaisia ristejä. SVM piirtää päätöspinnan niin, että etäisyys molempien luokkien lähimpiin alkioihin on mahdollisimman suuri. Tukivektoreiden ja päätöspinnan ratkaisu on varsin matemaattinen ja tulee vastaan myöhemmillä kursseilla. SVM:stä on kuitenkin useita toteutuksia, joita voi käyttää vaikka algoritmin toiminta ei olisikaan täysin selvä 4. Optimiratkaisu on kuvattu alla olevassa kuvassa. Kuvan sininen katkoviiva kuvaa LDA:n päätöspintaa ja musta yhtenäinen viiva SVM:n päätöspintaa, joka lepää ns. tukivektoreiden varassa. Kaikkiin kolmeen tukivektoriin on nyt sama etäisyys (eli marginaali) ja tukivektorit on merkitty mustilla neliöillä. 3 V. Vapnik ja A. Lerner, "Pattern recognition using generalized portrait method," Automation and Remote Control, Suosittuja toteutuksia ovat mm. LibSVM sekä Matlabin Bioinformatics-toolboxin toteutus.

19 11. OPPIVAT JÄRJESTELMÄT LDA päätöspinta 4 x 4 Tukivektorit SVM päätöspinta x 1 Tukivektorikoneet siis maksimoivat päätöspinnan ympärille jäävän marginaalin ja valitsevat tukivektorit sen mukaan. Tämä ominaisuus ei pääse täysin oikeuksiinsa lineaarisen päätöspinnan tapauksessa, koska LDA:n päätöspinta on usein melko lähellä SVM:n pintaa. Marginaalin maksimointi kuitenkin korostuu kun data on korkeampiulotteista, ja marginaalit tyypillisesti suuremmat. Tähän havaintoon perustuu SVM:n suosio ns. kernelitempun (engl. kernel trick) yhteydessä, joka esiteltiin jo vuonna 1964 käytettäväksi LDA:n kanssa. 5 Se ei kuitenkaan saavuttanut merkittävää suosiota, koska se ei toimi LDA:n kanssa erityisen hyvin. Kernelitempun idea on kuvata data korkeampiulotteiseen avaruuteen ns. kernelin eli ytimen avulla. Ytimeksi sopii mikä tahansa tietyt ehdot toteuttava funktio, ja tarkoituksena on että data olisi luokiteltavissa korkeammassa ulottuvuudessa lineaarisen päätöspinnan avulla. Ratkaisua kutsutaan tempuksi sen vuoksi, että sen toteuttamiseksi dataa ei tarvitse eksplisiittisesti siirtää korkeampaan ulottuvuuteen, vaan riittää pelkästään korvata kaikki algoritmin pistetulot sopivalla funktiolla. Menetelmää voidaan näin ollen käyttää kaikilla menetelmillä, jotka perustuvat vektoreiden pistetuloon (kuten mm. LDA ja SVM). Ytimiä ja sitä kautta erilaisia kuvauksia on olemassa lukuisia. Yksinkertaisimmat ytimet ovat ns. polynomiytimiä, jotka muodostetaan nostamalla pistetulo johonkin kokonaislukupotenssiin. Esimerkiksi toisen asteen polynomiydin vastaa normaalin pistetulon korvaamista sen toisella potenssilla: k(x i, x j ) = (x i x j ). Esimerkin tapauksessa data oli kaksiulotteista, joten vektoreiden x i = (x i (1), x i ()) ja x j = (x j (1), x j ()) pistetulo määritellään kaavalla x i x j = x i (1)x j (1)+x i ()x j (). 5 M. Aizerman, E. Braverman, and L. Rozonoer, "Theoretical foundations of the potential function method in pattern recognition learning". Automation and Remote Control, 1964.

20 17 SIGNAALINKÄSITTELYN MENETELMÄT Pistetulon toinen potenssi on näin ollen lauseke k(x i, x j ) = [ x i (1)x j (1)+x i ()x j () ] = [ x i (1)x j (1)+x i ()x j () ] [x i (1)x j (1)+x i ()x j () ] = x i(1)x j(1)+x i()x j()+x i (1)x j (1)x i ()x j () = x i(1)x j(1)+x i()x j()+( x i (1)x i ()) ( x j (1)x j ()) = (x i(1), x i(), x i (1)x i ()) T (x j(1), x j(), x j (1)x j ()) T Kernelitempun idea on siis hoksata, että tämäkin lauseke on eräs pistetulo kolmiulotteisessa avaruudessa. Kuten viimeisestä lausekkeesta nähdään, niin samaan tulokseen päästään kuvaamalla alkuperäinen -ulotteinen vektori x = (x(1), x()) kolmiulotteiseen avaruuteen kuvauksella ( ) x(1) x() x(1) x() x(1)x(). (11.1) Johtopäätöksenä voidaan siis todeta, että pistetulojen nostaminen toiseen potenssiin vastaa normaalia SVM:ää kolmiulotteisessa tapauksessa, jossa näytteet on saatu kaavalla Alla oleva kuva esittää luokittelun tulosta x x 1 Edellisessä tapauksessa sama luokittelija olisi voitu toteuttaa ilman kernelitemppuakin, yksinkertaisesti suunnittelemalla kolmiulotteinen SVM-luokittelija kuvauksen 11.1 jälkeiselle datalle. Eksplisiittinen kuvaus korkeampaan dimensioon ei kuitenkaan ole mahdollista, jos dimensio on kovin suuri. Tällainen tilanne syntyy esimerkiksi käytettäessä epähomogeenista polynomiydintä k(x i, x j ) = (x i x j +1) d, joka tuo mukaan kaikki enintään astetta d olevat monomit. Kuvaus 11.1 muuttuisi tässä tapauksessa muotoon x(1) x() ( ) x(1) x(1)x() x() x(1). (11.) x() 1

21 11. OPPIVAT JÄRJESTELMÄT 173 Jos nyt esimerkiksi alkuperäinen data olisikin viisiulotteista ja esim. d = 8, suoraan kuvaukseen tulisi kymmeniä termejä ja kernelitemppu alkaa vaikuttaa entistä houkuttelevammalta. Äärimmäisenä esimerkkinä kernelitempun mahdollisuuksista on yleisesti käytetty ns. RBF-ydin (radial basis function), joka vastaa kuvausta ääretönulotteiseen avaruuteen. RBFydin korvaa vektoreiden pistetulon x i x j funktiolla k(x i, x j ) = exp( γ x i x j ), missä parametri γ >. Voidaan osoittaa, että tämä temppu vastaa lineaarisen päätöspinnan hakua ääretönulotteisessa avaruudessa. Alla olevassa kuvassa on esimerkki päätöspinnasta RBF-ydintä käytettäessä tapauksessa γ = x x 1 Vaikka edellä oletettiinkin, että luokat ovat eroteltavissa toisistaan lineaarisella päätöspinnalla (jotta marginaali olisi ylipäätään olemassa), ei käytännössä näin useinkaan ole. Tämän vuoksi SVM-algoritmi on yleistetty myös tilanteisiin joissa joukot menevät päällekkäin, ja kaikki järkevät toteutukset tukevat tätä. SVM on saavuttanut huomattavan suosion, mikä johtuu ensisijaisesti sen tavasta maksimoida luokittelumarginaali. Tämä nimittäin helpottaa opetusta ja saa luokittelijan toimimaan hyvin jo pienilläkin opetusjoukoilla. Muilla luokittelijoilla on nimittäin vaarana ns. ylioppiminen, josta on esimerkki hermoverkkojen yhteydessä. Yleisen käsityksen mukaan SVM ei ole yhtä herkkä opetusjoukon koolle kuin muut luokittelijat Logistinen Regressio Logistinen regressio on kolmas lineaarinen luokittelumenetelmä. Kaikilla kolmella on siis lineaarinen luokkaraja (eli esitettävissä muodossa w T x > b), mutta niiden opetusalgoritmit (ja siis tuloksena saatavat luokkarajat) ovat erilaiset. Logistisen regression erikoispiirre on sen tilastollinen luonne, eli tuloksena saadaan itse luokan lisäksi myös kunkin luokan todennäköisyys. Logistiseen regressioon saadaan liitettyä myös piirteenvalintaominaisuuksia, joiden avulla luokittelu osaa valita ennustuksen kannalta parhaan osajoukon kaikista piirteistä. Kahden luokan tapauksessa logistinen regressiomalli mallintaa toisen luokan todennä-

22 174 SIGNAALINKÄSITTELYN MENETELMÄT köisyyttä kaavalla: f(x) = 1 1+exp( w T x b), missä w on aineistosta opittu kerroinvektori, x luokiteltava näyte, b reaaliluku. Tuloksena saadaan siis yhden luokan todennäköisyys, ja kahden luokan tapauksessa toisen luokan todennäköisyys on tämän komplementti (1 f(x)). Todennäköisyys saadaan siis pistetulosta w T x kuvaamalla se niin sanotun logistisen funktion σ(x) = 1/(1 + exp( x)) läpi. Funktion kuvaaja on alla, ja sen roolina voidaan ajatella olevan rajata ulostulo todennäköisyydeksi nollan ja yhden välille. 1 Logistinen funktio Useamman kuin kahden luokan tapaus mallintaa luokan c {1,,...,C} todennäköisyyttä kaavalla exp(w T c P(c x) = x+b c) C k=1 exp(wt k x+b k), missä mallin parametrit w k andb k (k = 1,,...,C) opitaan opetusaineistosta. Luokittelutulos aiemmin esillä olleelle testidatalle on kuvattu alla. Kuten nähdään luokkaraja on hyvin samanlainen kuin kahdella aiemmalla lineaarisella luokittelijalla. Erona on nyt se, että jokaiselle pisteelle arvioidaan nyt myös todennäköisyys kuulua punaisiin rukseihin. Luokkaraja sijaitsee kohdassa, jossa molemmat luokat ovat yhtä todennäköisiä (eli P( + ) = P( ) = P( + ) pienenee x 4 P( + ) =.5 P( + ) kasvaa x Hermoverkot Hermoverkkojen historia on pitkä ja polveileva. Ensimmäiset ajatukset aivojen toiminnan mallintamisesta tietokoneella syntyivät hyvin pian ensimmäisten tietokoneiden kehittämisen jälkeen. Teollisesti käyttökelpoiseksi menetelmäksi hermoverkko kehittyi 198-

23 11. OPPIVAT JÄRJESTELMÄT luvuilla, jonka voi katsoa olleen hermoverkkojen ensimmäinen nousukausi. Verkkojen suuren laskentatarpeen vuoksi tekniikka jäi kuitenkin vähemmälle huomiolle, kunnes ne kokivat uuden läpimurron 1-luvun alussa. Tuolloin GPU-korttien laskentateho oli kasvanut uuteen kertaluokkaan, ja niitä alettiin hyödyntää hermoverkkojen opetuksessa. Perusmuodossaan hermoverkon voidaan ajatella koostuvan peräkkäisistä ja rinnakkaisista toisiinsa kytketyistä logistisista regressio-luokittimista. Jokainen hermoverkon solmu on siis logistinen regressiomalli, ja sitä kutsutaan tässä yhteydessä neuroniksi. Neuroverkoista on olemassa myös variantteja, joissa solmu ei käytä logistisen regression logistista funktiota vaan jotain muuta funktiota sen sijaan. x (1) y (1) x () y () x (3) y ( K ) x ( M ) Yllä on kuva keinotekoisesta hermoverkosta. Hermoverkko koostuu kerroksista (layer), joiden jokaisesta neuronista on yhteys jokaiseen seuraavan kerroksen neuroniin. Jokainen neuroni suorittaa parametriensa määräämän laskentaoperaation ja välittää saamansa tiedon eteenpäin seuraavalle kerrokselle. Kuvassa vasemmalla on herätekerros (input layer), jonka solmut vain välittävät lukuarvot x(1), x(),..., x(m) hermoverkon ensimmäiselle kerrokselle. Ensimmäisen, toisen ja kolmannen (piilokerros, hidden layer) kerroksen solmut suorittavat eräitä laskuoperaatioita näille luvuille ja välittävät saamansa lukuarvot edelleen, kunnes ne lopulta saapuvat ulostulokerrokselle (output layer) oikealla. Neuronin rakenne on kuvattu alla. Kuviosta havaitaan, että rakenne on itse asiassa tuttu FIR-suotimesta: herätearvot x 1,x,...,x m kerrotaan painoilla w 1,w,...,w m ja saadut tulos summataan yhteen. Erona FIR-suotimeen on summauksen jälkeen tuleva epälineaarinen aktivaatiofunktio, joka simuloi luonnossa neuronien välittämää aktivaatiota (yksinkertaistettuna hermosolu välittää muille tiedon onko se aktivoitunut vai ei). Lisäksi summauksessa on aina mukana vakiotermi b. w x 1 w 1 x w x 3 w 3 Aktivaatio funktio y k x m w m

24 176 SIGNAALINKÄSITTELYN MENETELMÄT Yksittäisen neuronin toimintaa voidaan siis kuvata kaavalla ( ) m y k = ψ b+ w k x k, missä ψ( ) on aktivaatiofunktio. Useimmiten aktivaatiofunktiona käytetään jotain S-kirjaimen muotoista, ns. sigmoidifunktiota. Tällainen funktio on esimerkiksi hyperbolinen tangentti ja logistinen funktio: k=1 tanh(x) = ex e x e x +e x ψ(x) = 1 1+e ax, missä parametri a määrää kuinka jyrkästi funktio nousee origon lähellä. Jatkossa keskitymme näistä funktioista jälkimmäiseen. Logistisen funktion kuva kolmella eri kertoimen a arvolla on alla a =.5 a = a = Kertoimen a kasvaessa funktio lähestyy jatkuvaa askelfunktiota {, kun x <, u(x) = 1, kun x. Näin ollen aktivaatiofunktio päättää aktivoituuko neuroni vai ei, eli onko neuroniin tulevien ärsykkeiden määrä riittävän suuri. Toisin sanoen, toteuttaako herätteiden painotettu summa ehdon: m w k x k b. k=1 Tämä tulkinta tulee erityisen hyvin selville äärimmäisessä tapauksessa a, jossa aktivaatiofunktiosta tulee askelfunktio ja neuronin toiminta saa yksinkertaisen muodon: {, kun m k=1 y k = w kx k < b, 1, kun m k=1 w kx k b. Neuroni siis aktivoituu, jos siihen kohdistuu riittävästi ärsykkeitä edellisen tason neuroneilta. Edelleen, kukin neuroni välittää tiedon aktivoitumisestaan seuraavan tason neuroneille ja vaikuttaa omalta osaltaan niiden aktivoitumiseen.

25 11. OPPIVAT JÄRJESTELMÄT 177 Koska hermoverkko koostuu suuresta määrästä yksinkertaisia laskentayksiköitä, on hermoverkon parametrien määrä yleensä hyvin suuri. Jos hermoverkossa on esimerkiksi kolme piilokerrosta (kuten sivun 175 kuvassa), ja eri kerroksilla on solmuja1,1,1 ja 3 kappaletta, saadaan parametrien kokonaismääräksi huikeat = 33 kerrointa. Tällaista kerroinmäärää varten tarvitaan luonnollisesti automaattinen laskentamenetelmä. Yleisimmin käytetty painojen laskentamenetelmä on englanninkieliseltä nimeltään backpropagation algorithm, josta käytetään joskus suomenkielistä käännöstä takaisinlevitysmenetelmä. Menetelmän juuret ovat LMS-algoritmissa, ja tässäkin tapauksessa virhefunktion minimi haetaan korjaamalla painoja gradientin minimin suuntaan. Hermoverkkojen opetus on erillinen prosessi, joka tapahtuu ennen kuin verkkoa aletaan käyttää tuotantokäytössä. Tällaisesta opetuksesta käytetään nimitystä off-line -oppiminen vastakohtana esimerkiksi LMS-algoritmin on-line -oppimiseen, missä painot muuttuvat suodatuksen mittaan. Yleensä off-line -oppimiseen käytetään runsaasti aikaa; tavallinen hermoverkon opetus voi viedä tunteja tai jopa vuorokausia prosessoriaikaa. Opetukseen kuluva aika ei kuitenkaan ole ongelma: järjestelmän muuhun kehitystyöhön verrattuna aika on häviävän pieni, ja opetus voidaan tehdä esimerkiksi yöllä tai viikonloppuna. Aiemmin esillä olleen kaksiulotteisen datan luokittelu voidaan tehdä alla olevan kuvan mukaisella verkolla. Herätteenään verkko saa kaksi lukua, koordinaatit x 1 ja x, jotka syötetään keskellä olevalle piilokerrokselle. Näiden solmujen laskennan tulokset syötetään edelleen ulostulokerroksen kahdelle solmulle, jotka kertovat kumpaan luokkaan näyte kuuluu: tavoitteena on nyt opettaa verkko niin, että luokan 1 näytteen tapauksessa y(1) > y() ja luokan tapauksessa y() > y(1). 6 x (1) y (1) x () y () Opetusta varten tarvitaan opetusjoukko, jossa on valmiiksi luokiteltuja esimerkkejä. Edellisen esimerkin tapauksessa verkolle näytetään kaksiulotteisia näytteitä ja sen ulostuloa verrataan haluttuihin ulostuloarvoihin. Esimerkiksi vihreän tähden tapauksessa halutut ulostulot voisivat olla d(1) =.9 d() =.1 6 Toinen vaihtoehto verkon rakenteeksi olisi käyttää vain yhtä ulostulosolmua, jonka arvo olisi suuri luokan näytteille ja pieni luokan 1 näytteille. Esimerkin kahden ulostulossolmun rakenne toimii kuitenkin myös kun luokkia on enemmän kuin kaksi.

26 178 SIGNAALINKÄSITTELYN MENETELMÄT ja punaisen ristin tapauksessa d(1) =.1 d() =.9. Halutuksi ulostuloksi ei kannata valita vektoria (1, ), koska sigmoidi saavuttaa ääriarvot ja 1 vasta kun summa on ±. Käytännössä tämä ilmenisi siten, ettei verkko oppisi luokittelua kunnolla. Halutun ulostulon d(n) määräämisen jälkeen voidaan laskea verkon virhe jokaiselle opetusjoukon näytettä vastaavalle ulostulolle y(n) kaavalla e(n) = d(n) y(n), kaikille n = 1,,...,K. Itse virhefunktio on tavallisesti puolet virhevektorin neliösummasta: E = 1 K k=1 e (n). Virhefunktio E riippuu jokaisesta verkon painosta, ja on mahdollista johtaa kaavat funktion osittaisderivaatoille kunkin painon suhteen: E w jk, missä w jk tarkoittaa kerroksen j painoa k. 7. Kun virhe on laskettu, voidaan verkon kaikkia painoja päivittää negatiivisen gradientin suuntaan (eli sinne mihin virhe pienenee). Päivitys tehdään oikealta vasemmalle, eli lähempänä ulostuloa olevat painot päivitetään ensin taso kerrallaan. Myöhäisempien tasojen painokertoimet vaikuttavat nimittäin aikaisempien tasojen osittaisderivaattoihin, joten päivityksen täytyy alkaa ulostulon suunnasta. Painojen päivitys voidaan tehdä jokaisen esimerkin esittämisen jälkeen tai vasta kun kaikki opetusjoukossa olevat näytteet on ajettu verkon läpi. Hermoverkon opetuksen tulos riippuu näytteiden esitysjärjestyksestä, joka on useimmissa toteutuksissa satunnainen. Näin ollen kahta samanlaista hermoverkkoa ei käytännössä voi saada peräkkäisillä opetuskerroilla. Tämä tulee hyvin ilmi alla olevista kolmella peräkkäisellä opetuskerralla saatavista päätöspinnoista aiemmin esillä olleessa kaksiulotteisessa tapauksessa. Esimerkin tapauksessa piilokerroksella on 1 solmua x x x x x x 1 Edellä olleet menetelmät muodostivat varsin erilaisia päätöspintoja. Yksinkertaisimmillaan päätöspinta on suora ja monimutkaisimmillaan se voi mutkitella hyvinkin paljon. Mitä monimutkaisempi luokittelija on, sitä monimutkaisempia alueita se kykenee erottelemaan toisistaan. Tällöin on kuitenkin pidettävä mielessä ylioppimisen vaara. 7 Kaavat löytyvät esimerkiksi kirjasta: Haykin, Simon: Neural networks: a comprehensive foundation, Prentice Hall, 1999.

27 11. OPPIVAT JÄRJESTELMÄT 179 Alla oleva esimerkki havainnollistaa ylioppimista. Tässä tapauksessa luokat ovat lähempänä toisiaan ja menevät osin päällekkäin. Vasemmalla on LDA-luokittelijan päätöspinta ja oikealla on hermoverkon päätöspinta. Hermoverkko on tässä tapauksessa valittu tarkoituksella melko monimutkaiseksi, eli siinä on kaksi kahdenkymmenen solmun piilokerrosta peräkkäin. Kuvista nähdään, että hermoverkko oppii luokittelemaan opetusjoukon täydellisesti: monimutkainen päätöspinta jakaa kaikki vihreät ja punaiset näytteet omille puolilleen x x x 1 x 1 Suora päätöspinta toimii kuitenkin uudelle datalle tässä tapauksessa paremmin kuin hermoverkon monimutkaisempi käyrä. Päätöspinta tekee koukkaukset muutaman sattumalta mukaan tulleen poikkeuksellisen näytteen vuoksi, joita tuskin kannattaisi ottaa huomioon; seuraavassa näytteessä näitä näytteitä tuskin on ainakaan samoilla kohdilla Esimerkki: merkkien luokittelu Tarkastellaan hermoverkon opetusta esimerkkitapauksessa, jossa hermoverkko tunnistaa bittikarttamuodossa olevia kirjaimia ja numeroita. Verkon rakenne tässä tapauksessa voi olla esimerkiksi alla olevan kuvan mukainen. x (1) y (1) x () y () x (3) x (1) y ( 34) Kuvassa verkon herätteiden lukumääräksi on valittu 1, mikä vaatii kaikkien luokiteltavien kirjainten skaalaamisen 1 1-kokoon. Mikä tahansa muukin määrä on mahdollinen, mutta hyvin suuri herätteiden määrä tuottaa jo laskennallisiakin ongelmia. Verkolla

28 18 SIGNAALINKÄSITTELYN MENETELMÄT on 34 ulostuloa, mikä vastaa englannin kielen kirjainten ja numeroiden lukumäärää ( 1 ja I sekä ja O tulkitaan samoiksi luokiksi). Ulostulon lukuarvot voidaan tulkita varmuudeksi siitä kuuluuko kirjain luokkaan 1,, 3,..., 34. Jos esimerkiksi y(1) on suuri ja muut ulostulot pieniä, tarkoittaa tämä merkin olevan. Ulostulo y() vastaa merkkiä 1, y(11) vastaa merkkiä A,y(1) merkkiä B ja y(34) merkkiä Z. Opetusjoukon lisäksi on hyvä olla pienempi testijoukko, jonka avulla hermoverkon tehokkuutta arvioidaan. Testijoukko koostuu samanlaisista näytteistä kuin opetusjoukkokin, ja käytännössä se saadaan jakamalla opetusjoukko satunnaisesti kahtia esimerkiksi suhteessa 1:9. Opetuksen edetessä testijoukkokin luokitellaan säännöllisin väliajoin senhetkisellä hermoverkolla. Luokittelutuloksen virhe lasketaan ja näin saadaan arvio siitä, kuinka hyvin verkko osaa luokitella sellaiset näytteet, joita ei ole käytetty opetuksessa. Tällaisessa tilanteessahan verkkoa tullaan todellisuudessa käyttämään. Testijoukkoa käyttämällä voidaan välttää hermoverkon ylioppiminen, joka ilmenee erityisesti pienillä opetusjoukoilla. Tällöin nimittäin hermoverkko alkaa oppia opetusjoukon epäolennnaisia piirteitä, joita ei ole joukon ulkopuolisilla näytteillä. Alla olevassa kuvassa on tyypillinen virhekäyrä ylioppimistapauksessa. Tässä esimerkissä hermoverkko opetettiin luokittelemaan 1 1 pikselin kokoisia bittikarttoja kirjaimiksi. Opetusjoukossa oli 5 ja testijoukossa 1 etukäteen käsin luokiteltua kirjainta Hermoverkon opetus 5 näytteellä Testijoukon virhe Opetusjoukon virhe Neliövirhe Kierros Kuvassa alempi käyrä esittää opetusjoukon näytteiden luokitteluvirhettä. Koska hermoverkon kertoimia muutetaan aina negatiivisen gradientin suuntaan, pienenee opetusjoukon virhe kierros kierrokselta. Ylempi käyrä esittää testijoukon näytteiden luokitteluvirhettä. Koska näitä näytteitä ei käytetä opetuksessa, luokitteluvirhe ei laskekaan monotonisesti, vaan voi jopa kasvaa ajoittain. Tällöin opetusjoukko on liian pieni tai huonosti valittu, koska opetusjoukon ja testijoukon virheet käyttäytyvät eri tavalla. Tällaisessa tapauksessa verkko oppii opetusjoukon liian hyvin, ja alkaa käyttää hyväkseen piirteitä, joita ei välttämättä ole opetusjoukon ulkopuolella. Verkko ei toimi testijoukossa läheskään yhtä hyvin kuin opetusjoukossa, ja virhe jää melko suureksi vaikka opetusta jatketaan. Usein testijoukon virhe alkaa vieläpä uudelleen kasvaa, kun ylioppiminen etenee riittävän pahaksi. Ylioppimiselta voidaan välttyä käyttämällä suurempaa ja edustavampaa opetusjoukkoa. Jos tämä ei ole mahdollista, paras vaihtoehto on keskeyttää opetus ennen kuin verkko on liian ylioppinut. Seuraavassa kuvassa on sama testi tapauksessa, jossa opetusjoukon ja koko on kasvatettu moninkertaisiksi: opetusjoukossa on nyt 1 näytettä ja testijoukossa samat 1 näytettä kuin aikaisemminkin. Tässä tapauksessa ylioppiminen on vähäisempää, mutta joukkojen käyrien välillä on edelleen selvä ero.

29 11. OPPIVAT JÄRJESTELMÄT Hermoverkon opetus 1 näytteellä Testijoukon virhe Opetusjoukon virhe Neliövirhe Kierros Kasvattamalla opetusjoukkoa edelleen ero opetusjoukon ja testijoukon välillä pienenee. Alla olevassa kuvassa on käytetty 5 näytteen opetusjoukkoa ja samaa testijoukkoa kuin aikaisemminkin. Ero käyrien välillä on aiempaa pienempi ja käyrät ovat hyvin lähellä toisiaan. Opetusjoukon virhe jää myös suuremmaksi kuin edellisessä tapauksessa, koska verkko ei opi luokittelua helpottavia vain opetusjoukossa olevia epäolennaisia piirteitä Hermoverkon opetus 5 näytteellä Testijoukon virhe Opetusjoukon virhe Neliövirhe Kierros Neljännessä testissä opetusjoukon kokoa kasvatettiin 1:n näytteeseen. Tulos on alla ja se on melko samanlainen kuin puolta pienemmällä opetusjoukolla. Testijoukon virhe kuitenkin pienenee edelleen Hermoverkon opetus 1 näytteellä Testijoukon virhe Opetusjoukon virhe Neliövirhe Kierros Esimerkki opetetun hermoverkon ulostulovektorista on alla olevassa kuvassa oikealla Tässä tapauksessa sisään meni vasemmalla oleva bittikartta, joka tunnistettiin oikein kolmanteen (merkkiä Y vastaavaan) luokkaan. 1.8 Verkon ulostulo A B C D E F G H J K L M N P Q R S T U V W X Y Z

30 18 SIGNAALINKÄSITTELYN MENETELMÄT Toisena esimerkkinä on numero 3, joka on alla olevassa kuvassa vasemmalla. Oikealla on ulostulovektori, josta näkyy selvästi verkon oppineen luokittelun erinomaisesti myös näillä opetusjoukon ulkopuolisilla näytteillä A B C D E F G H J K L M N P Q R S T U V W X Y Z Harjoitustehtäviä (Matlab) Toteutetaan tässä tehtävässä lineaarinen erottelija kaksiulotteiselle keinotekoiselle datalle. Tehtävässä 11.5 sovelletaan menetelmää kuvankäsittelyyn. Lataa kurssin sivuilta tiedosto Tiedosto sisältää kaksi kaksiulotteista dataa sisältävää matriisia, joista kumpikin esittää yhtä luokkaa. Lataa tiedosto komennolla load testdata_fisher.mat jonka jälkeen Matlabissa on kaksi uutta muuttujaa: X1 R 1 sisältää 1 kaksiulotteista datapistettä luokan 1 alkioita ja X R 1 saman määrän luokan alkioita. Molempien ensimmäinen sarake sisältää alkioiden x-koordinaatit ja toinen sarake y-koordinaatit. Tulosta samaan kuvaan matriisin X1 pisteet punaisilla palloilla ja matriisin X pisteet vihreillä risteillä olevan kuvan mukaisesti

31 11. OPPIVAT JÄRJESTELMÄT (Matlab) Edellisen tehtävän kaksi luokkaa on tarkoitus nyt luokitella Fisherin diskriminantin avulla. Kyseinen menetelmä projisoi kaksiulotteisen datan sille suoralle, jossa joukot erottuvat toisistaan mahdollisimman hyvin. Tämän jälkeen ne on helppo erotella jakamalla vain suora kahteen osaan sopivasti. Paras mahdollinen suora määritellään vektorina seuraavasti: w = (C 1 + C ) 1 (µ 1 µ ) missä C 1 ja C ovat luokkien -kokoiset kovarianssimatriisit jaµ 1 jaµ ovat luokkien keskipisteet 1-vektoreina. Laske vektori w. Kovarianssi saadaan funktiolla cov ja keskipiste funktiolla mean. Piirrä vektori ruudulle komennolla line. Komento hold on ennen piirtokomentoa pitää edellisen tehtävän kuvan mukana vertailun vuoksi. Anna myös komentoaxis equal, jotta koordinaatistosta tulisi neliö ja vertailusta helpompaa (Matlab) Jatkoa edelliseen tehtävään. Projektiosuoran suunnan lisäksi tarvitaan kohta, johon luokkien välinen raja vedetään. Yksinkertaisin tapa on sijoittaa se luokkien massakeskipisteiden puoliväliin. Käytännössä tämä tapahtuu projisoimalla data suoralle ja vertaamalla tulosta kynnysarvoon c R: { Näyte x kuuluu luokkaan 1, jos w x < c Näyte x kuuluu luokkaan, jos w x c Laske kynnysarvo c seuraavasti: Laske mille arvolle µ 1 projisoituu. Laske mille arvolle µ projisoituu. Luku c on näiden keskiarvo (Matlab) Laske montako prosenttia näytteistä saatiin luokiteltua oikein tehtävän 11. suuntavektorilla w ja tehtävän 11.3 kynnyksellä (Matlab) Sovelletaan Fisherin diskriminanttia todellisen datan käsittelyyn. Lataa kurssin sivulta tiedosto Lataa se Matlabiin ja katso kuva: imorig = imread( canoe.jpg ); imshow (imorig, []); 8 Huomaa, että tositilanteessa virhe täytyisi arvioida muulla kuin opetusdatalla. Nythän esim. 1-NNluokittelija saa täydellisen tuloksen testattaessa samalla datalla kuin opetuksessa, mikä ei silti tarkoita että se olisi hyvä millekään muulle näytejoukolle.

32 184 SIGNAALINKÄSITTELYN MENETELMÄT Kuvan kanootti on hyvin selkeästi erottuva punaisen värinsä vuoksi. Projisoidaan se Fisherin diskriminantilla sopivasti, jotta punainen erottuu muista väreistä mahdollisimman hyvin. Tätä varten tarvitaan opetusjoukko, joka saadaan kuvasta osoittamalla. Komento[x,y] = ginput(1); palauttaa kuvasta hiirellä osoitetun pisteen koordinaatit. Tee tämä kaksi kertaa niin että saat kaksi opetusjoukkoa: toisen kanootin alueelta ja toisen esimerkiksi veden pinnasta. Olkoot näin saadut koordinaatit vektoreissa x1, y1 ja x, y. Irrota näin saatujen pisteiden ympäriltä 7 7-neliö, joiden pisteet muodostavat kaksi opetusluokkaa: window1 = imorig(y1-3:y1+3, x1-3:x1+3,:); window = imorig(y-3:y+3, x-3:x+3,:); Huomaa, että data on nyt kolmiuloitteista: väri-informaatio esitetään RGB-arvoina, jonka dimensio on 3. Jotta tämä saataisiin Fisherin diskriminantin vaatimaan3 49- matriisimuotoon, anna seuraavat komennot: X1 = double(reshape(window1, 49, 3)) ; X = double(reshape(window, 49, 3)) ; (Matlab) Käytä tehtävän 8. ohjelmakoodia saadaksesi kolmiulotteisen vektorin, joka kuvaa parasta projektiota annetun kahden värin optimaaliseksi erotteluksi. Mikä kyseinen vektori on? (Matlab) Itse projektio tehdään kertomalla vektorin w komponenteilla kuvan R, G ja B -komponentit, esim. näin: imgray = w(1)*double(imorig(:,:,1)) +... w()*double(imorig(:,:,)) +... w(3)*double(imorig(:,:,3)); Katso tuloskuva. Osoittamasi punaisen alueen pitäisi hohtaa kirkkaan valkoisena ja jälkimmäisenä osoitetun alueen miltei mustana. Yritä erottaa punainen alue muista kynnystämällä tiettyä arvoa suuremmat arvot valkoisiksi ja muut mustiksi. Matlabissa on komento imshow(imgray > kynnys, []); Komennossa oleva parametri kynnys on raja, jota vaaleammat pisteet tulevat valkoisiksi ja muut mustiksi. Saatko kanootin irrotettua taustastaan?

Digitaalinen signaalinkäsittely Kuvankäsittely

Digitaalinen signaalinkäsittely Kuvankäsittely Digitaalinen signaalinkäsittely Kuvankäsittely Teemu Saarelainen, teemu.saarelainen@kyamk.fi Lähteet: Ifeachor, Jervis, Digital Signal Processing: A Practical Approach H.Huttunen, Signaalinkäsittelyn menetelmät,

Lisätiedot

Kaksiluokkainen tapaus, lineaarinen päätöspinta, lineaarisesti erottuvat luokat

Kaksiluokkainen tapaus, lineaarinen päätöspinta, lineaarisesti erottuvat luokat 1 Tukivektoriluokittelija Tukivektorikoneeseen (support vector machine) perustuva luoikittelija on tilastollisen koneoppimisen teoriaan perustuva lineaarinen luokittelija. Perusajatus on sovittaa kahden

Lisätiedot

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Sami Hokuni 12 Syyskuuta, 2012 1/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Turun Yliopisto. Gradu tehty 2012 kevään

Lisätiedot

SGN Signaalinkäsittelyn perusteet Välikoe Heikki Huttunen

SGN Signaalinkäsittelyn perusteet Välikoe Heikki Huttunen SGN- Signaalinkäsittelyn perusteet Välikoe.5.4 Heikki Huttunen Tentissä ja välikokeessa saa käyttää vain tiedekunnan laskinta. Tenttikysymyksiä ei tarvitse palauttaa. Sivuilla -3 on. Sivuilla 4-5 on. Sivulla

Lisätiedot

Yhtälön oikealla puolella on säteen neliö, joten r. = 5 eli r = ± 5. Koska säde on positiivinen, niin r = 5.

Yhtälön oikealla puolella on säteen neliö, joten r. = 5 eli r = ± 5. Koska säde on positiivinen, niin r = 5. Tekijä Pitkä matematiikka 5 7..017 31 Kirjoitetaan yhtälö keskipistemuotoon ( x x ) + ( y y ) = r. 0 0 a) ( x 4) + ( y 1) = 49 Yhtälön vasemmalta puolelta nähdään, että x 0 = 4 ja y 0 = 1, joten ympyrän

Lisätiedot

Kompleksiluvut signaalin taajuusjakauman arvioinnissa

Kompleksiluvut signaalin taajuusjakauman arvioinnissa Kompleksiluvut signaalin taajuusjakauman arvioinnissa Vierailuluento IMA-kurssilla Heikki Huttunen Lehtori, TkT Signaalinkäsittely, TTY heikki.huttunen@tut.fi Department of Signal Processing Fourier-muunnos

Lisätiedot

Johdatus tekoälyn taustalla olevaan matematiikkaan

Johdatus tekoälyn taustalla olevaan matematiikkaan Johdatus tekoälyn taustalla olevaan matematiikkaan Informaatioteknologian tiedekunta Jyväskylän yliopisto 2. luento 10.11.2017 Keinotekoiset neuroverkot Neuroverkko koostuu syöte- ja ulostulokerroksesta

Lisätiedot

4 Yleinen potenssifunktio ja polynomifunktio

4 Yleinen potenssifunktio ja polynomifunktio 4 Yleinen potenssifunktio ja polynomifunktio ENNAKKOTEHTÄVÄT 1. a) Tutkitaan yhtälöiden ratkaisuja piirtämällä funktioiden f(x) = x, f(x) = x 3, f(x) = x 4 ja f(x) = x 5 kuvaajat. Näin nähdään, monessako

Lisätiedot

SGN-1251 Signaalinkäsittelyn sovellukset Välikoe Heikki Huttunen

SGN-1251 Signaalinkäsittelyn sovellukset Välikoe Heikki Huttunen SGN-5 Signaalinkäsittelyn sovellukset Välikoe.. Heikki Huttunen Tentissä ja välikokeessa saa käyttää vain tiedekunnan laskinta. Tenttikysymyksiä ei tarvitse palauttaa. Sivuilla - on. Sivuilla 4-6 on. Vastaa

Lisätiedot

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA)

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA) JOHDATUS TEKOÄLYYN TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA) KONEOPPIMISEN LAJIT OHJATTU OPPIMINEN: - ESIMERKIT OVAT PAREJA (X, Y), TAVOITTEENA ON OPPIA ENNUSTAMAAN Y ANNETTUNA X.

Lisätiedot

Suorista ja tasoista LaMa 1 syksyllä 2009

Suorista ja tasoista LaMa 1 syksyllä 2009 Viidennen viikon luennot Suorista ja tasoista LaMa 1 syksyllä 2009 Perustuu kirjan Poole: Linear Algebra lukuihin I.3 - I.4 Esko Turunen esko.turunen@tut.fi Aluksi hiukan 2 ja 3 ulotteisen reaaliavaruuden

Lisätiedot

Tekijä Pitkä matematiikka

Tekijä Pitkä matematiikka K1 Tekijä Pitkä matematiikka 5 7..017 a) 1 1 + 1 = 4 + 1 = 3 = 3 4 4 4 4 4 4 b) 1 1 1 = 4 6 3 = 5 = 5 3 4 1 1 1 1 1 K a) Koska 3 = 9 < 10, niin 3 10 < 0. 3 10 = (3 10 ) = 10 3 b) Koska π 3,14, niin π

Lisätiedot

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

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5. 2. MS-A4/A6 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 5.9.25 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x + x 2

Lisätiedot

Ei välttämättä, se voi olla esimerkiksi Reuleaux n kolmio:

Ei välttämättä, se voi olla esimerkiksi Reuleaux n kolmio: Inversio-ongelmista Craig, Brown: Inverse problems in astronomy, Adam Hilger 1986. Havaitaan oppositiossa olevaa asteroidia. Pyörimisestä huolimatta sen kirkkaus ei muutu. Projisoitu pinta-ala pysyy ilmeisesti

Lisätiedot

y=-3x+2 y=2x-3 y=3x+2 x = = 6

y=-3x+2 y=2x-3 y=3x+2 x = = 6 MAA Koe, Arto Hekkanen ja Jussi Tyni 5.5.015 Loppukoe LASKE ILMAN LASKINTA. 1. Yhdistä kuvaaja ja sen yhtälö a) 3 b) 1 c) 5 d) Suoran yhtälö 1) y=3x ) 3x+y =0 3) x y 3=0 ) y= 3x 3 5) y= 3x 6) 3x y+=0 y=-3x+

Lisätiedot

ImageRecognition toteutus

ImageRecognition toteutus ImageRecognition toteutus Simo Korkolainen 27 kesäkuuta 2016 Projektin tarkoituksena on tehdä ohjelma, joka opettaa neuroverkon tunnistamaan kuvia backpropagation-algoritmin avulla Neuroverkon opetuksessa

Lisätiedot

Matematiikan tukikurssi, kurssikerta 3

Matematiikan tukikurssi, kurssikerta 3 Matematiikan tukikurssi, kurssikerta 3 1 Epäyhtälöitä Aivan aluksi lienee syytä esittää luvun itseisarvon määritelmä: { x kun x 0 x = x kun x < 0 Siispä esimerkiksi 10 = 10 ja 10 = 10. Seuraavaksi listaus

Lisätiedot

2 Pistejoukko koordinaatistossa

2 Pistejoukko koordinaatistossa Pistejoukko koordinaatistossa Ennakkotehtävät 1. a) Esimerkiksi: b) Pisteet sijaitsevat pystysuoralla suoralla, joka leikkaa x-akselin kohdassa x =. c) Yhtälö on x =. d) Sijoitetaan joitain ehdon toteuttavia

Lisätiedot

Diskriminanttianalyysi I

Diskriminanttianalyysi I Diskriminanttianalyysi I 12.4-12.5 Aira Hast 24.11.2010 Sisältö LDA:n kertaus LDA:n yleistäminen FDA FDA:n ja muiden menetelmien vertaaminen Estimaattien laskeminen Johdanto Lineaarinen diskriminanttianalyysi

Lisätiedot

Tekijä Pitkä matematiikka Pisteen (x, y) etäisyys pisteestä (0, 2) on ( x 0) Pisteen (x, y) etäisyys x-akselista, eli suorasta y = 0 on y.

Tekijä Pitkä matematiikka Pisteen (x, y) etäisyys pisteestä (0, 2) on ( x 0) Pisteen (x, y) etäisyys x-akselista, eli suorasta y = 0 on y. Tekijä Pitkä matematiikka 5 7..017 37 Pisteen (x, y) etäisyys pisteestä (0, ) on ( x 0) + ( y ). Pisteen (x, y) etäisyys x-akselista, eli suorasta y = 0 on y. Merkitään etäisyydet yhtä suuriksi ja ratkaistaan

Lisätiedot

Kohdeyleisö: toisen vuoden teekkari

Kohdeyleisö: toisen vuoden teekkari Julkinen opetusnäyte Yliopisto-opettajan tehtävä, matematiikka Klo 8:55-9:15 TkT Simo Ali-Löytty Aihe: Lineaarisen yhtälöryhmän pienimmän neliösumman ratkaisu Kohdeyleisö: toisen vuoden teekkari 1 y y

Lisätiedot

BM20A0700, Matematiikka KoTiB2

BM20A0700, Matematiikka KoTiB2 BM20A0700, Matematiikka KoTiB2 Luennot: Matti Alatalo, Harjoitukset: Oppikirja: Kreyszig, E.: Advanced Engineering Mathematics, 8th Edition, John Wiley & Sons, 1999, luku 7. 1 Kurssin sisältö Matriiseihin

Lisätiedot

Moniulotteisia todennäköisyysjakaumia

Moniulotteisia todennäköisyysjakaumia Ilkka Mellin Todennäköisyyslaskenta Osa 3: Todennäköisyysjakaumia Moniulotteisia todennäköisyysjakaumia TKK (c) Ilkka Mellin (007) 1 Moniulotteisia todennäköisyysjakaumia >> Multinomijakauma Kaksiulotteinen

Lisätiedot

Mitä on konvoluutio? Tutustu kuvankäsittelyyn

Mitä on konvoluutio? Tutustu kuvankäsittelyyn Mitä on konvoluutio? Tutustu kuvankäsittelyyn Tieteenpäivät 2015, Työohje Sami Varjo Johdanto Digitaalinen signaalienkäsittely on tullut osaksi arkipäiväämme niin, ettemme yleensä edes huomaa sen olemassa

Lisätiedot

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45 MS-A0003/A0005 Matriisilaskenta Laskuharjoitus / vko 5 Tehtävä 1 (L): Hahmottele kompleksitasoon ne pisteet, jotka toteuttavat a) z 3 =, b) z + 3 i < 3, c) 1/z >. Yleisesti: ehto z = R, z C muodostaa kompleksitasoon

Lisätiedot

3 Suorat ja tasot. 3.1 Suora. Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta.

3 Suorat ja tasot. 3.1 Suora. Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta. 3 Suorat ja tasot Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta. 3.1 Suora Havaitsimme skalaarikertolaskun tulkinnan yhteydessä, että jos on mikä tahansa nollasta

Lisätiedot

y x1 σ t 1 = c y x 1 σ t 1 = y x 2 σ t 2 y x 2 x 1 y = σ(t 2 t 1 ) x 2 x 1 y t 2 t 1

y x1 σ t 1 = c y x 1 σ t 1 = y x 2 σ t 2 y x 2 x 1 y = σ(t 2 t 1 ) x 2 x 1 y t 2 t 1 1. Tarkastellaan funktiota missä σ C ja y (y 1,..., y n ) R n. u : R n R C, u(x, t) e i(y x σt), (a) Miksi funktiota u(x, t) voidaan kutsua tasoaalloksi, jonka aaltorintama on kohtisuorassa vektorin y

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 9 1 Implisiittinen derivointi Tarkastellaan nyt yhtälöä F(x, y) = c, jossa x ja y ovat muuttujia ja c on vakio Esimerkki tällaisesta yhtälöstä on x 2 y 5 + 5xy = 14

Lisätiedot

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

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on 13 Pistetulo Avaruuksissa R 2 ja R 3 on totuttu puhumaan vektorien pituuksista ja vektoreiden välisistä kulmista. Kuten tavallista, näiden käsitteiden yleistäminen korkeampiulotteisiin avaruuksiin ei onnistu

Lisätiedot

Aki Taanila YHDEN SELITTÄJÄN REGRESSIO

Aki Taanila YHDEN SELITTÄJÄN REGRESSIO Aki Taanila YHDEN SELITTÄJÄN REGRESSIO 26.4.2011 SISÄLLYS JOHDANTO... 1 LINEAARINEN MALLI... 1 Selityskerroin... 3 Excelin funktioita... 4 EKSPONENTIAALINEN MALLI... 4 MALLIN KÄYTTÄMINEN ENNUSTAMISEEN...

Lisätiedot

SGN-1200 Signaalinkäsittelyn menetelmät Välikoe

SGN-1200 Signaalinkäsittelyn menetelmät Välikoe SGN-00 Signaalinkäsittelyn menetelmät Välikoe 9.3.009 Sivuilla - on. Älä vastaa siihen, jos et ollut ensimmäisessä välikokeessa. Tentin kysymykset ovat sivuilla 3-4. Vastaa vain jompaan kumpaan kokeeseen,

Lisätiedot

2 Toisen asteen polynomifunktio

2 Toisen asteen polynomifunktio Juuri Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty 4.5.017 Toisen asteen polynomifunktio ENNAKKOTEHTÄVÄT 1. a) Merkitään taulukon pisteet koordinaatistoon ja hahmotellaan niiden kautta kulkeva

Lisätiedot

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9. Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.

Lisätiedot

Lineaarinen optimointitehtävä

Lineaarinen optimointitehtävä Lineaarinen optimointitehtävä Minimointitehtävä yhtälörajoittein: min kun n j=1 n j=1 c j x j a ij x j = b i x j 0 j = 1,..., n i = 1,..., m Merkitään: z = alkuperäisen objektifunktion arvo käsiteltävänä

Lisätiedot

Kognitiivinen mallintaminen Neuraalimallinnus, luento 1

Kognitiivinen mallintaminen Neuraalimallinnus, luento 1 Kognitiivinen mallintaminen Neuraalimallinnus, luento 1 Nelli Salminen nelli.salminen@helsinki.fi D433 Neuraalimallinnuksen osuus neljä luentokertaa, muutokset alla olevaan suunnitelmaan todennäköisiä

Lisätiedot

Kognitiivinen mallintaminen. Nelli Salminen

Kognitiivinen mallintaminen. Nelli Salminen Kognitiivinen mallintaminen Neuraalimallinnus 24.11. Nelli Salminen nelli.salminen@tkk.fi Tällä kerralla ohjelmassa vielä perseptronista ja backpropagationista kilpaileva oppiminen, Kohosen verkko oppimissääntöjen

Lisätiedot

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa 9. Vektorit 9.1 Skalaarit ja vektorit Skalaari on koon tai määrän mitta. Tyypillinen esimerkki skalaarista on massa. Lukumäärä on toinen hyvä esimerkki skalaarista. Vektorilla on taas suuruus ja suunta.

Lisätiedot

3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö

3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö 3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö Yhtälön (tai funktion) y = a + b + c, missä a 0, kuvaaja ei ole suora, mutta ei ole yhtälökään ensimmäistä astetta. Funktioiden

Lisätiedot

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45 MS-A3/A5 Matriisilaskenta Laskuharjoitus 2 / vko 45 Tehtävä (L): Hahmottele kompleksitasoon ne pisteet, jotka toteuttavat a) z 2i = 2, b) z 2i < 2, c) /z

Lisätiedot

Johdatus todennäköisyyslaskentaan Moniulotteisia todennäköisyysjakaumia. TKK (c) Ilkka Mellin (2005) 1

Johdatus todennäköisyyslaskentaan Moniulotteisia todennäköisyysjakaumia. TKK (c) Ilkka Mellin (2005) 1 Johdatus todennäköisyyslaskentaan Moniulotteisia todennäköisyysjakaumia TKK (c) Ilkka Mellin (005) 1 Moniulotteisia todennäköisyysjakaumia Multinomijakauma Kaksiulotteinen normaalijakauma TKK (c) Ilkka

Lisätiedot

Johdatus tekoälyn taustalla olevaan matematiikkaan

Johdatus tekoälyn taustalla olevaan matematiikkaan Johdatus tekoälyn taustalla olevaan matematiikkaan Informaatioteknologian tiedekunta Jyväskylän yliopisto 3. luento 17.11.2017 Neuroverkon opettaminen (ohjattu oppiminen) Neuroverkkoa opetetaan syöte-tavoite-pareilla

Lisätiedot

Luento 8: Epälineaarinen optimointi

Luento 8: Epälineaarinen optimointi Luento 8: Epälineaarinen optimointi Vektoriavaruus R n R n on kaikkien n-jonojen x := (x,..., x n ) joukko. Siis R n := Määritellään nollavektori 0 = (0,..., 0). Reaalisten m n-matriisien joukkoa merkitään

Lisätiedot

Tällä kerralla ohjelmassa. Kognitiivinen mallintaminen Neuraalimallinnus Kertausta: Perseptronin oppimissääntö

Tällä kerralla ohjelmassa. Kognitiivinen mallintaminen Neuraalimallinnus Kertausta: Perseptronin oppimissääntö Tällä kerralla ohjelmassa Kognitiivinen mallintaminen Neuraalimallinnus 19.2. Nelli Salminen nelli.salminen@helsinki.fi D433 vielä perseptronista ja backpropagationista kilpaileva oppiminen, Kohosen verkko

Lisätiedot

Logistinen regressio, separoivat hypertasot

Logistinen regressio, separoivat hypertasot Logistinen regressio, separoivat hypertasot Topi Sikanen Logistinen regressio Aineisto jakautunut K luokkaan K=2 tärkeä erikoistapaus Halutaan mallintaa luokkien vedonlyöntikertoimia (odds) havaintojen

Lisätiedot

Aluksi. 1.1. Kahden muuttujan lineaarinen yhtälö

Aluksi. 1.1. Kahden muuttujan lineaarinen yhtälö Aluksi Matematiikan käsite suora on tarkalleen sama asia kuin arkikielen suoran käsite. Vai oliko se toisinpäin? Matematiikan luonteesta johtuu, että sen soveltaja ei tyydy pelkkään suoran nimeen eikä

Lisätiedot

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

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu Talousmatematiikan perusteet: Luento 13 Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu Viime luennolla Aloimme tarkastella yleisiä, usean muuttujan funktioita

Lisätiedot

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37 Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37 Tehtävä 1: Käynnistä Matlab-ohjelma ja kokeile laskea sillä muutama peruslaskutoimitus: laske jokin yhteen-, vähennys-, kerto- ja jakolasku. Laske

Lisätiedot

MAB3 - Harjoitustehtävien ratkaisut:

MAB3 - Harjoitustehtävien ratkaisut: MAB - Harjoitustehtävien ratkaisut: Funktio. Piirretään koordinaatistoakselit ja sijoitetaan pisteet:. a) Funktioiden nollakohdat löydetään etsimällä kuvaajien ja - akselin leikkauspisteitä. Funktiolla

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 4 Jatkuvuus Jatkuvan funktion määritelmä Tarkastellaan funktiota f x) jossakin tietyssä pisteessä x 0. Tämä funktio on tässä pisteessä joko jatkuva tai epäjatkuva. Jatkuvuuden

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 10 1 Funktion monotonisuus Derivoituva funktio f on aidosti kasvava, jos sen derivaatta on positiivinen eli jos f (x) > 0. Funktio on aidosti vähenevä jos sen derivaatta

Lisätiedot

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

Moniulotteisia todennäköisyysjakaumia. Moniulotteisia todennäköisyysjakaumia. Moniulotteisia todennäköisyysjakaumia: Mitä opimme? TKK (c) Ilkka Mellin (4) Moniulotteisia todennäköisyysjakaumia Johdatus todennäköisyyslaskentaan Moniulotteisia todennäköisyysjakaumia TKK (c) Ilkka Mellin (4) Moniulotteisia todennäköisyysjakaumia: Mitä

Lisätiedot

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat. MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat. Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kevät 2016 Antti Rasila

Lisätiedot

Juuri 5 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty Julkaiseminen sallittu vain koulun suljetussa verkossa.

Juuri 5 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty Julkaiseminen sallittu vain koulun suljetussa verkossa. Suora Juuri Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty 9..07 Ennakkotehtävät. a) Kumpaankin hintaan sisältyy perusmaksu ja minuuttikohtainen maksu. Hintojen erotus on kokonaan minuuttikohtaista

Lisätiedot

Lineaariset luokittelumallit: regressio ja erotteluanalyysi

Lineaariset luokittelumallit: regressio ja erotteluanalyysi Lineaariset luokittelumallit: regressio ja erotteluanalyysi Aira Hast Johdanto Tarkastellaan menetelmiä, joissa luokittelu tehdään lineaaristen menetelmien avulla. Avaruus jaetaan päätösrajojen avulla

Lisätiedot

1 Ensimmäisen asteen polynomifunktio

1 Ensimmäisen asteen polynomifunktio Ensimmäisen asteen polynomifunktio ENNAKKOTEHTÄVÄT. a) f(x) = x 4 b) Nollakohdassa funktio f saa arvon nolla eli kuvaaja kohtaa x-akselin. Kuvaajan perusteella funktion nollakohta on x,. c) Funktion f

Lisätiedot

1. Lineaarinen optimointi

1. Lineaarinen optimointi 0 1. Lineaarinen optimointi 1. Lineaarinen optimointi 1.1 Johdatteleva esimerkki Esimerkki 1.1.1 Giapetto s Woodcarving inc. valmistaa kahdenlaisia puuleluja: sotilaita ja junia. Sotilaan myyntihinta on

Lisätiedot

Johdatus tekoälyyn. Luento 6.10.2011: Koneoppiminen. Patrik Hoyer. [ Kysykää ja kommentoikaa luennon aikana! ]

Johdatus tekoälyyn. Luento 6.10.2011: Koneoppiminen. Patrik Hoyer. [ Kysykää ja kommentoikaa luennon aikana! ] Johdatus tekoälyyn Luento 6.10.2011: Koneoppiminen Patrik Hoyer [ Kysykää ja kommentoikaa luennon aikana! ] Koneoppiminen? Määritelmä: kone = tietokone, tietokoneohjelma oppiminen = ongelmanratkaisukyvyn

Lisätiedot

Matematiikan peruskurssi 2

Matematiikan peruskurssi 2 Matematiikan peruskurssi Tentti, 9..06 Tentin kesto: h. Sallitut apuvälineet: kaavakokoelma ja laskin, joka ei kykene graaseen/symboliseen laskentaan Vastaa seuraavista viidestä tehtävästä neljään. Saat

Lisätiedot

läheisyydessä. Piirrä funktio f ja nämä approksimaatiot samaan kuvaan. Näyttääkö järkeenkäyvältä?

läheisyydessä. Piirrä funktio f ja nämä approksimaatiot samaan kuvaan. Näyttääkö järkeenkäyvältä? BM20A5840 - Usean muuttujan funktiot ja sarjat Harjoitus 1, Kevät 2017 1. Tunnemme vektorit a = [ 1 2 3 ] ja b = [ 2 1 2 ]. Laske (i) kummankin vektorin pituus (eli itseisarvo, eli normi); (ii) vektorien

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS NEUROVERKOT TURINGIN KONE (TAI TAVALLINEN OHJELMOINTI) VAIN YKSI LASKENNAN MALLI ELÄINTEN HERMOSTOSSA LASKENTA ERILAISTA: - RINNAKKAISUUS - STOKASTISUUS (SATUNNAISUUS) - MASSIIVINEN

Lisätiedot

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44 MS-A0003/A0005 Matriisilaskenta Laskuharjoitus / vko Tehtävä (L): Käynnistä Matlab-ohjelma ja kokeile laskea sillä muutama peruslaskutoimitus: laske jokin yhteen-, vähennys-, kerto- ja jakolasku. Laske

Lisätiedot

Tekstuurintunnistuksen lyhyt oppimäärä. Ts. pari tapaa erottaa tiiliseinä pensaasta.

Tekstuurintunnistuksen lyhyt oppimäärä. Ts. pari tapaa erottaa tiiliseinä pensaasta. Tekstuurintunnistuksen lyhyt oppimäärä Ts. pari tapaa erottaa tiiliseinä pensaasta. Mitä on tekstuuri? Vaikea määritellä, mutta: Pintakuvio Ornamentti tuntu kuviointi Miksi tämän pitäisi kiinnostaa? (Maantienmerkkausrobotti)

Lisätiedot

2 Yhtälöitä ja epäyhtälöitä

2 Yhtälöitä ja epäyhtälöitä 2 Yhtälöitä ja epäyhtälöitä 2.1 Ensimmäisen asteen yhtälö ja epäyhtälö Muuttujan x ensimmäisen asteen yhtälöksi sanotaan yhtälöä, joka voidaan kirjoittaa muotoon ax + b = 0, missä vakiot a ja b ovat reaalilukuja

Lisätiedot

MAB3 - Harjoitustehtävien ratkaisut:

MAB3 - Harjoitustehtävien ratkaisut: MAB3 - Harjoitustehtävien ratkaisut: 1 Funktio 1.1 Piirretään koordinaatistoakselit ja sijoitetaan pisteet: 1 1. a) Funktioiden nollakohdat löydetään etsimällä kuvaajien ja - akselin leikkauspisteitä.

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 2 Lisää osamurtoja Tutkitaan jälleen rationaalifunktion P(x)/Q(x) integrointia. Aiemmin käsittelimme tapauksen, jossa nimittäjä voidaan esittää muodossa Q(x) = a(x x

Lisätiedot

Säätötekniikan matematiikan verkkokurssi, Matlab tehtäviä ja vastauksia 29.7.2002

Säätötekniikan matematiikan verkkokurssi, Matlab tehtäviä ja vastauksia 29.7.2002 Matlab tehtäviä 1. Muodosta seuraavasta differentiaaliyhtälöstä siirtofuntio. Tämä differentiaaliyhtälö saattaisi kuvata esimerkiksi yksinkertaista vaimennettua jousi-massa systeemiä, johon on liitetty

Lisätiedot

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =

Lisätiedot

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

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä) Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe 26.10.2017 Ratkaisuehdotus 1. (35 pistettä) (a) Seuraavat matriisit on saatu eräistä yhtälöryhmistä alkeisrivitoimituksilla. Kuinka monta ratkaisua yhtälöryhmällä

Lisätiedot

Käy vastaamassa kyselyyn kurssin pedanet-sivulla (TÄRKEÄ ensi vuotta ajatellen) Kurssin suorittaminen ja arviointi: vähintään 50 tehtävää tehtynä

Käy vastaamassa kyselyyn kurssin pedanet-sivulla (TÄRKEÄ ensi vuotta ajatellen) Kurssin suorittaminen ja arviointi: vähintään 50 tehtävää tehtynä Käy vastaamassa kyselyyn kurssin pedanet-sivulla (TÄRKEÄ ensi vuotta ajatellen) Kurssin suorittaminen ja arviointi: vähintään 50 tehtävää tehtynä (vihkon palautus kokeeseen tullessa) Koe Mahdolliset testit

Lisätiedot

Vektoreiden virittämä aliavaruus

Vektoreiden virittämä aliavaruus Vektoreiden virittämä aliavaruus Määritelmä Oletetaan, että v 1, v 2,... v k R n. Näiden vektoreiden virittämä aliavaruus span( v 1, v 2,... v k ) tarkoittaa kyseisten vektoreiden kaikkien lineaarikombinaatioiden

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 2. Lukujen esittäminen ja aritmetiikka 2.1 Kantajärjestelmät ja lukujen esittäminen Käytettävät lukujoukot: Luonnolliset luvut IN = {0,1,2,3,... } Positiiviset kokonaisluvut

Lisätiedot

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A) Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 017 Insinöörivalinnan matematiikan koe 30..017, Ratkaisut (Sarja A) 1. a) Lukujen 9, 0, 3 ja x keskiarvo on. Määritä x. (1 p.) b) Mitkä reaaliluvut

Lisätiedot

Ratkaisuehdotukset LH 7 / vko 47

Ratkaisuehdotukset LH 7 / vko 47 MS-C34 Lineaarialgebra, II/7 Ratkaisuehdotukset LH 7 / vko 47 Tehtävä : Olkoot M R symmetrinen ja positiividefiniitti matriisi (i) Näytä, että m > ja m > (ii) Etsi Eliminaatiomatriisi E R siten, että [

Lisätiedot

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt Yhtälöryhmät 1/6 Sisältö Yhtälöryhmä Yhtälöryhmässä on useita yhtälöitä ja yleensä myös useita tuntemattomia. Tavoitteena on löytää tuntemattomille sellaiset arvot, että kaikki yhtälöt toteutuvat samanaikaisesti.

Lisätiedot

12. Hessen matriisi. Ääriarvoteoriaa

12. Hessen matriisi. Ääriarvoteoriaa 179 12. Hessen matriisi. Ääriarvoteoriaa Tarkastelemme tässä luvussa useamman muuttujan (eli vektorimuuttujan) n reaaliarvoisia unktioita : R R. Edellisessä luvussa todettiin, että riittävän säännöllisellä

Lisätiedot

x j x k Tällöin L j (x k ) = 0, kun k j, ja L j (x j ) = 1. Alkuperäiselle interpolaatio-ongelmalle saadaan nyt ratkaisu

x j x k Tällöin L j (x k ) = 0, kun k j, ja L j (x j ) = 1. Alkuperäiselle interpolaatio-ongelmalle saadaan nyt ratkaisu 2 Interpolointi Olkoon annettuna n+1 eri pistettä x 0, x 1, x n R ja n+1 lukua y 0, y 1,, y n Interpoloinnissa etsitään funktiota P, joka annetuissa pisteissä x 0,, x n saa annetut arvot y 0,, y n, (21)

Lisätiedot

Tekijä Pitkä matematiikka Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4).

Tekijä Pitkä matematiikka Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4). Tekijä Pitkä matematiikka 4 9.12.2016 212 Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4). Vastaus esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4) 213 Merkitään pistettä

Lisätiedot

Johdatus tn-laskentaan torstai 16.2.2012

Johdatus tn-laskentaan torstai 16.2.2012 Johdatus tn-laskentaan torstai 16.2.2012 Muunnoksen jakauma (ei pelkkä odotusarvo ja hajonta) Satunnaismuuttujien summa; Tas ja N Vakiokerroin (ax) ja vakiolisäys (X+b) Yleinen muunnos: neulanheittoesimerkki

Lisätiedot

110. 111. 112. 113. 114. 4. Matriisit ja vektorit. 4.1. Matriisin käsite. 4.2. Matriisialgebra. Olkoon A = , B = Laske A + B, 5 14 9, 1 3 3

110. 111. 112. 113. 114. 4. Matriisit ja vektorit. 4.1. Matriisin käsite. 4.2. Matriisialgebra. Olkoon A = , B = Laske A + B, 5 14 9, 1 3 3 4 Matriisit ja vektorit 4 Matriisin käsite 42 Matriisialgebra 0 2 2 0, B = 2 2 4 6 2 Laske A + B, 2 A + B, AB ja BA A + B = 2 4 6 5, 2 A + B = 5 9 6 5 4 9, 4 7 6 AB = 0 0 0 6 0 0 0, B 22 2 2 0 0 0 6 5

Lisätiedot

SGN-1200 Signaalinkäsittelyn menetelmät Välikoe

SGN-1200 Signaalinkäsittelyn menetelmät Välikoe SGN-100 Signaalinkäsittelyn menetelmät Välikoe 6.4.010 Sivuilla 1- on. Älä vastaa siihen, jos et ollut ensimmäisessä välikokeessa. Tentin kysymykset ovat sivuilla 3-4. Vastaa vain jompaan kumpaan kokeeseen,

Lisätiedot

Topologia Syksy 2010 Harjoitus 4. (1) Keksi funktio f ja suljetut välit A i R 1, i = 1, 2,... siten, että f : R 1 R 1, f Ai on jatkuva jokaisella i N,

Topologia Syksy 2010 Harjoitus 4. (1) Keksi funktio f ja suljetut välit A i R 1, i = 1, 2,... siten, että f : R 1 R 1, f Ai on jatkuva jokaisella i N, Topologia Syksy 2010 Harjoitus 4 (1) Keksi funktio f ja suljetut välit A i R 1, i = 1, 2,... siten, että f : R 1 R 1, f Ai on jatkuva jokaisella i N, i=1 A i = R 1, ja f : R 1 R 1 ei ole jatkuva. Lause

Lisätiedot

Matematiikan tukikurssi: kurssikerta 10

Matematiikan tukikurssi: kurssikerta 10 Matematiikan tukikurssi: kurssikerta 10 1 Newtonin menetelmä Oletetaan, että haluamme löytää funktion f(x) nollakohan. Usein tämä tehtävä on mahoton suorittaa täyellisellä tarkkuuella, koska tiettyjen

Lisätiedot

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 1, Kevät 2018

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 1, Kevät 2018 BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 1, Kevät 2018 1. (a) Tunnemme vektorit a = [ 5 1 1 ] ja b = [ 2 0 1 ]. Laske (i) kummankin vektorin pituus (eli itseisarvo, eli normi); (ii) vektorien

Lisätiedot

Johdatus todennäköisyyslaskentaan Normaalijakaumasta johdettuja jakaumia. TKK (c) Ilkka Mellin (2005) 1

Johdatus todennäköisyyslaskentaan Normaalijakaumasta johdettuja jakaumia. TKK (c) Ilkka Mellin (2005) 1 Johdatus todennäköisyyslaskentaan Normaalijakaumasta johdettuja jakaumia TKK (c) Ilkka Mellin (2005) 1 Normaalijakaumasta johdettuja jakaumia Johdanto χ 2 -jakauma F-jakauma t-jakauma TKK (c) Ilkka Mellin

Lisätiedot

1. LINEAARISET LUOKITTIMET (jatkoa)

1. LINEAARISET LUOKITTIMET (jatkoa) 1. LINEAARISET LUOKITTIMET (jatkoa) 1.1 Tukivektorikone ( A Tutorial on Support Vector Machines for Pattern Recognition, http://www.kernel-machines.org/papers/burges98.ps.gz) Tukivektorikoneen ( Support

Lisätiedot

2.2 Neliöjuuri ja sitä koskevat laskusäännöt

2.2 Neliöjuuri ja sitä koskevat laskusäännöt . Neliöjuuri ja sitä koskevat laskusäännöt MÄÄRITELMÄ 3: Lukua b sanotaan luvun a neliöjuureksi, merkitään a b, jos b täyttää kaksi ehtoa: 1o b > 0 o b a Esim.1 Määritä a) 64 b) 0 c) 36 a) Luvun 64 neliöjuuri

Lisätiedot

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI 1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI 1 1.1 Funktion optimointiin perustuvat klusterointialgoritmit Klusteroinnin onnistumista mittaavan funktion J optimointiin perustuvissa klusterointialgoritmeissä

Lisätiedot

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

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä 1 3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä Lineaarinen m:n yhtälön yhtälöryhmä, jossa on n tuntematonta x 1,, x n on joukko yhtälöitä, jotka ovat muotoa a 11 x 1 + + a 1n x n = b 1 a

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 4 Supremum ja inmum Tarkastellaan aluksi avointa väliä, Tämä on joukko, johon kuuluvat kaikki reaaliluvut miinus yhdestä yhteen Kuitenkaan päätepisteet eli luvut ja

Lisätiedot

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.

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. Vapaus Määritelmä Oletetaan, että v 1, v 2,..., v k R n, missä n {1, 2,... }. Vektorijono ( v 1, v 2,..., v k ) on vapaa eli lineaarisesti riippumaton, jos seuraava ehto pätee: jos c 1 v 1 + c 2 v 2 +

Lisätiedot

1 Rajoittamaton optimointi

1 Rajoittamaton optimointi Taloustieteen matemaattiset menetelmät 7 materiaali 5 Rajoittamaton optimointi Yhden muuttujan tapaus f R! R Muistutetaan mieleen maksimin määritelmä. Funktiolla f on maksimi pisteessä x jos kaikille y

Lisätiedot

Aki Taanila LINEAARINEN OPTIMOINTI

Aki Taanila LINEAARINEN OPTIMOINTI Aki Taanila LINEAARINEN OPTIMOINTI 26.4.2011 JOHDANTO Tässä monisteessa esitetään lineaarisen optimoinnin alkeet. Moniste sisältää tarvittavat Excel ohjeet. Viimeisin versio tästä monisteesta ja siihen

Lisätiedot

Näihin harjoitustehtäviin liittyvä teoria löytyy Adamsista: Ad6, Ad5, 4: 12.8, ; Ad3: 13.8,

Näihin harjoitustehtäviin liittyvä teoria löytyy Adamsista: Ad6, Ad5, 4: 12.8, ; Ad3: 13.8, TKK, Matematiikan laitos Gripenberg/Harhanen Mat-1.432 Matematiikan peruskurssi K2 Harjoitus 4, (A=alku-, L=loppuviikko, T= taulutehtävä, P= palautettava tehtävä, W= verkkotehtävä ) 12 16.2.2007, viikko

Lisätiedot

Tänään ohjelmassa. Kognitiivinen mallintaminen Neuraalimallinnus laskarit. Ensi kerralla (11.3.)

Tänään ohjelmassa. Kognitiivinen mallintaminen Neuraalimallinnus laskarit. Ensi kerralla (11.3.) Tänään ohjelmassa Kognitiivinen mallintaminen Neuraalimallinnus 26.2. Nelli Salminen nelli.salminen@helsinki.fi D433 autoassosiaatio, attraktorin käsite esimerkkitapaus: kolme eri tapaa mallintaa kategorista

Lisätiedot

jens 1 matti Etäisyydet 1: 1.1 2: 1.4 3: 1.8 4: 2.0 5: 3.0 6: 3.6 7: 4.0 zetor

jens 1 matti Etäisyydet 1: 1.1 2: 1.4 3: 1.8 4: 2.0 5: 3.0 6: 3.6 7: 4.0 zetor T-1.81 Luonnollisten kielten tilastollinen käsittely Vastaukset 11, ti 8.4., 1:1-18: Klusterointi, Konekääntäminen. Versio 1. 1. Kuvaan 1 on piirretty klusteroinnit käyttäen annettuja algoritmeja. Sanojen

Lisätiedot

2 Osittaisderivaattojen sovelluksia

2 Osittaisderivaattojen sovelluksia 2 Osittaisderivaattojen sovelluksia 2.1 Ääriarvot Yhden muuttujan funktiolla f(x) on lokaali maksimiarvo (lokaali minimiarvo) pisteessä a, jos f(x) f(a) (f(x) f(a)) kaikilla x:n arvoilla riittävän lähellä

Lisätiedot

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä. MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä. Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kevät 2016

Lisätiedot