Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Sami Hokuni 12 Syyskuuta, 2012 1/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Turun Yliopisto. Gradu tehty 2012 kevään ja kesän aikana. Ohjaaja: Janne Kaippio. Esitelmässä tiivistelmä gradun sisällöstä ja tuloksista. 2/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Mitä neuroverkot ovat? Työkalu, jolla voidaan mallintaa aineistossa olevia yhteyksiä(data Mining). Koostuu neuroneista ja niiden välisistä yhteyksistä. Lähtökohtana ihmisaivojen toiminnan mallintaminen tietokoneilla. Perustuu verkon opettamiseen havaintoja(esim. asiakkaita) käyttäen. Useita erilaisia malleja, joista käsitellään MLP verkkoa ja itseorganisoivia verkkoja. 3/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Mihin neuroverkkoja voidaan käyttää? Ennustusten tekemiseen (esim. sairastuuko ihminen johonkin tautiin). Havaintojen luokitteluun (esim. asiakkaiden jakaminen eri ryhmiin). Puheen ja hahmontunnistus. Prosessien tarkkailemiseen(esim. paperikoneen toiminnan optimointi). 4/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Mitä neuronit ovat? Neuronit ovat neuroverkkojen rakennuspalikoita Neuronit voivat olla kytkettyinä toisiinsa, ja kytkennöillä on oma painokerroin(vrt. graafin solmut ja kaaret). Lisäksi jokaisella neuronilla on oma kynnysarvo, joka toimii vakion tavoin(aivan kuin esim. regressiomallia sovitettaessa). 5/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Neuronin toiminnalla on kolme vaihetta: 1. Ota vastaan arvot kaikilta tulevilta kytkennöiltä. 2. Summaa nämä arvot ja laske jonkin funktion arvo tälle summalle. 3. Lähetä funktion arvo eteenpäin muille neuroneille. x 1 x 2 w 1 j w 2 j f y j w n j xn w 0 j 1 6/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
x1 w1 wk w3 x2 w2 w4 7/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
x1 w1 wk w3 x2 w2 w4 x1*w1+x2*w2+wk 8/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
x1 w1 wk w3 w2 w4 x2 y=f(x1*w1+x2*w2+wk) 9/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Edellisen kuvan funktiota f kutsutaan neuronin aktivointifunktioksi. Eniten käytettyjä aktivointifunktioita ovat logistinen funktio ja hyperbolinen tangentti f (x) = 1 1 + e x f (x) = tanh(x) = ex e x e x + e x. 10/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
x1 w1 wk w3 x2 w2 y*w3 w4 11/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
x1 w1 wk w3 x2 w2 y*w4 w4 12/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
MLP verkko Yleisesti käytetty neuroverkkomuoto Saa syötteenä yksittäisen havainnon, joka kulkee verkon läpi. Kun havainto on kulkenut koko verkon läpi, sille annetaan tulos. Tavoitteena on saada verkon antama tulos mahdollisimman lähelle oikeaksi tiedettyä tulosta. 13/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
MLP verkko koostuu kolmesta osasta 1. Sisääntulokerros eli se kohta, josta havainto syötetään verkkoon(tekijät). 2. Yksi tai useampi piilokerros. 3. Ulostulokerros eli se kohta, jossa havainnolle annetaan tulos(vasteet). Kaikki kytkennät ovat eteenpäin suunnattuja 14/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Asiakkaan ikä Sattuiko vahinko Auton ikä 15/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Asiakkaan ikä Sattuiko vahinko Auton ikä 16/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Asiakkaan ikä Sattuiko vahinko Auton ikä 17/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Asiakkaan ikä Sattuiko vahinko Auton ikä 18/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Asiakkaan ikä Sattuiko vahinko Auton ikä 19/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Jotta MLP verkkoa voidaan opettaa, havainnoille on oltava tiedossa niiden oikeat tulokset. Verkon antamat tulokset ovat lähellä oikeita tuloksia vain, kun painokertoimien arvot ovat sopivat. Sopivien painokertoimien etsimistä kutsutaan verkon opetukseksi. 20/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Eräs menetelmä verkon opettamiselle on Backpropagation algoritmi, jolla on seuraavat vaiheet. 1. Alusta painokertoimille (yleensä pienet) satunnaisluvut. 2. Aja verkon läpi yksi tai useampi havainto, ja laske ulostuloarvon ja oikean arvon ero. 3. Laske ulostulokerroksen kytkennöille uudet painokertoimet. 4. Laske piilokerrosten kytkennöille uudet painokertoimet. Jonkin piilokerroksen painokertoimien laskemisessa tarvitaan tietoja siitä, millaisia muutoksia sitä seuraavalle kerrokselle tehtiin. 5. Lopeta, kun havaintojen ulostuloarvon ja oikean arvon ero on tarpeeksi pieni. Havainnot menevät verkossa sisääntulokerrokselta ulostulokerrokselle, kun taas painokertoimia muuttava signaali menee ulostulokerrokselta sisääntulokerrokselle. 21/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
22/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
23/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
24/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
25/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
26/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
(oikea arvo - verkon antama arvo) 27/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
28/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
29/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
30/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Miten opetetun neuroverkon tuloksia voidaan yleistää? Verkon opetusvaiheessa käytetään yleensä kolmea eri dataa. 1. Opetusaineistoa käytetään laskemaan painokertoimille arvoja. On mukana opetuksessa. 2. Testausaineiston avulla kokeillaan, voidaanko opetus lopettaa. Tarkoituksena on jo opetusvaiheessa selvittää, kuinka hyvin verkko toimii opetusaineiston ulkopuolisille datoille. On mukana opetuksessa. 3. Validointiaineistoa käytetään vasta opetuksen loputtua. Myös sen tarkoituksena on testata, miten hyvin verkon tulokset toimivat opetuksen ulkopuolisille havainnoille. Ei ole mukana opetuksessa. 31/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Tavoitteena oli tehdä verkko, jolle syötetään asiakkaan tiedot ja joka näiden perusteella arvioi, pysyykö hän asiakkaana. Opetuksessa käytettiin Lähitapiolan asiakaspoistumasta kertovaa dataa. Jokaisesta asiakkaasta tiedettiin, poistuiko hän vai ei. Kaksi piilokerrosta, joista molemmilla oli 15 neuronia. Aktivointifunktiona käytettiin piilokerroksilla hyperbolista tangenttia ja ulostulokerroksella logistista funktiota. 32/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Verkon antama tulos Poistui Ei poistunut Oikea tulos Poistunut 657 559 Ei poistunut 287 9298 70 % niistä asiakkaista, jotka verkko arvioi poistuvan, myös oikeasti poistuivat. 33/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Itseorganisoituvat verkot. Joskus havaintojen oikeita tuloksia ei tiedetä. Neuronien rakenne ja opetusmenetelmät ovat erilaisia kuin MLP verkoissa. Soveltuu hyvin havaintoaineiston ryhmittelyyn. Jos havainnot ovat aineistossa lähellä toisiaan, ovat ne myös itseorganisoituvassa verkossa lähellä toisiaan. 34/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Itseorganisoituva verkko on yleensä kaksiulotteinen ruudukko, jossa neuronit ovat. Esimerkiksi 10 10 ruudukossa on 100 neuronia. Jokaisella neuronilla on yhtä monta painokerrointa kuin opetusaineiston havainnoilla on muuttujia. Opetus perustuu neuronien väliseen kilpailuun. 35/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Jokaiselle havainnolle lasketaan sen etäisyys kaikista neuroneista, ja voittajaneuroni on se, jolla etäisyys on pienin. Jos havainnolla on muuttujat (x 1,, x n ) ja neuronilla painokertoimet (w 1,, w n ), voidaan etäisyys määritellä n (x i w i ) 2. i=1 Kun voittajaneuroni on selvinnyt, muutetaan sen naapurustoon kuuluvia neuroneja. Naapurustolla tarkoitetaan sitä, kuinka lähellä ruudukossa jokin neuroni on voittajaneuronia. Yleensä naapurusto on opetuksen alussa suuri, ja sitä pienennetään opetuksen edetessä. Useimmiten neuronin painokertoimia muutetaan sitä enemmän, mitä lähempänä neuroni on voittajaneuronia. 36/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Havainto 1 Havainto 2 37/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Havainto 1 Havainto 2 38/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Havainto 1 Havainto 2 39/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Havainto 1 Havainto 2 40/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Havainto 1 Havainto 2 41/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Havainto 1 Havainto 2 42/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Havainto 1 Havainto 2 43/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Havainto 1 Havainto 2 44/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Havainto 1 Havainto 2 45/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Opetetun verkon painokertoimista ei voida suoraan tulkita mitään, vaan verkkoa täytyy visualisoida. U matriisin tekeminen on yksi vaihtoehto tähän. Siinä jokaiselle neuronille lasketaan sen painokertoimien etäisyydet naapurineuroneihin. Ryhmiä erottelevissa kohdissa nämä etäisyydet ovat suuria. 46/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
47/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Sovelluksen tavoitteena oli jakaa asiakkaita eri ryhmiin. Käytetty data oli Lähitapiolan asiakaspoistuma aineisto. Tietoa siitä, oliko asiakas poistunut, ei käytetty opetuksessa. 48/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
49/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
50/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
51/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
U matriisista nähtiin seitsemän ryhmää, jotka pystyttiin (melko) selkeästi tunnistamaan. Näissä ryhmissä olleet asiakkaat erosivat toisistaan iän perusteella. Vastaavia eroja oli myös muiden muuttujien kohdalla. 52/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Neuroverkkojen vahvuudet Pystyy teoriassa löytämään minkä tahansa muuttujien välisen yhteyden(epälineaarisenkin). Käytettävältä datalta ei vaadita oletuksia esim. muuttujien jakaumista. Opetetun neuroverkon soveltaminen uusille datoille on nopeaa. Luokitteleven itseorganisoivan verkon kohdalla ei ryhmien lukumäärää tarvitse tietää etukäteen. 53/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Neuroverkkojen heikkoudet Painokertoimista ei pystytä suoraan päättelemään esim. muuttujien merkitsevyyttä. Neuroverkoille on runsaasti eri ominaisuuksia, joille sopivat arvot selviävät vain yrityksen ja erehdyksen kautta. Yleensä neuroverkkoa tarvitsee opettaa useita kertoja. Dataa tarvitaan yleensä runsaasti, erityisesti kun muuttujia on paljon. 54/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Neuroverkkojen heikkoudet Painokertoimista ei pystytä suoraan päättelemään esim. muuttujien merkitsevyyttä. Neuroverkoille on runsaasti eri ominaisuuksia, joille sopivat arvot selviävät vain yrityksen ja erehdyksen kautta. Yleensä neuroverkkoa tarvitsee opettaa useita kertoja. Dataa tarvitaan yleensä runsaasti, erityisesti kun muuttujia on paljon. Kiitos. 55/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Neuroverkkojen heikkoudet Painokertoimista ei pystytä suoraan päättelemään esim. muuttujien merkitsevyyttä. Neuroverkoille on runsaasti eri ominaisuuksia, joille sopivat arvot selviävät vain yrityksen ja erehdyksen kautta. Yleensä neuroverkkoa tarvitsee opettaa useita kertoja. Dataa tarvitaan yleensä runsaasti, erityisesti kun muuttujia on paljon. Kiitos. Kysymyksiä? 56/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun