kadi_kilgi_msc_2022.pdf

Type: Document | Status: ready

alusel on andmed kaheks piirkonnaks jaotatud. 1.5 Otsustusmets Üksik puu ei anna enamasti head tulemust. Kasutades mudelis mitut erinevat puud saame kokkuvõttes hea tulemuse. Üks selline ansambelmeetod (ensemble method) on otsustusmets. (James et al., 2021, lk 340) Järgnev alapeatükk põhineb raamatul James et al. (2021, lk 340–345), kui ei ole märgitud teisiti. Otsustusmets koosneb mitmest otsustuspuust. Erinevate puude defineerimiseks võetakse mudeldamiseks kasutatav andmestik ning moodustatakse B andmestikku bootstrap-meetodil taasvalikuga. Iga b-nda puu (b = 1, 2, ..., B) tipu defineerimisel võetakse b-ndast andmestikust m ≈√p, kus p tähistab kirjeldavate tunnuste arvu, juhuslikult valitud tunnust. Selekteeritud m kirjeldava tunnuse seast valitakse tun- nus, mis määrab puu tipu. Otsustusmetsaga saab leida vaatlusele nii konkreetsesse klassi kuulumise prognoos kui ka tõenäosuse kuuluda mingisse klassi. Edaspidi nimetatakse kirjeldatud metsi klassifitseerimis- ja tõenäosusmetsaks. Klassifitsee- rimismetsa puhul leitakse uuele vaatlusele prognoos iga puu prognoositud klassi enamuse põhjal. Tõenäosusmetsa korral annab puu klassi k korral prognoosiks piir- konnas leiduvate klassi k vaatluste osakaalu ning metsa prognoos leitakse puude prognooside keskmisena. Otsustusmetsa defineerimisel saab määrata mitmeid hüperparameetreid (vt ta- bel 1), millel on ka vastavalt kasutatavale tarkvarale omad vaikeväärtused. Antud töö käigus kasutatakse otsustusmetsa defineerimiseks rakendustarkvara R paketti ranger (Wright, Wager ja Probst, 2021), mille nimetused koos vaikeväärtustega on toodud tabelis 1. Fikseeritud vaikeväärtustega on võimalik saada häid tulemusi, kuid mudeli võimekust on võimalik hüperparameetrite seadistamisega parandada. Probst, Wright ja Boulesteix (2019) toovad oma artiklis välja otsustusmetsa hü- perparameetrid ning nende mõju kui vaikeväärtuseid muuta. Kõige olulisem sea- 15

Tabel 1: Otsustusmetsa hüperparameetrid funktsiooni ranger korral Hüperparameeter Parameetri nimetus Vaikeväärtus (ranger) Valikumäär sample.fraction 1 ehk valim suurusega n Tunnuste arv mtry √p Lehe puhtuse hinnang splitrule Gini impurity Minimaalne min.node.size 10 (tõenäosusmets), lehe suurus 1 (klassifitseerimismets) Puude arv metsas num.trees 500 Valimi moodustamine replace TRUE (tagasipanekuga) tagasipanekuga või tagasipanekuta distatav parameeter on puude arv ning selgub, et otsustusmetsa korral on mõistlik kasutada rohkelt puid. Samal ajal tuleb arvestada, et puude lisamisel metsa ku- lub rohkem aega mudeli arvutusele ning, et mingist hetkest puude lisamine enam mudeli võimekust ei tõsta. Artiklis tuuakse välja, et lisaks puude arvule on oluline seadistada ka valitavate tunnuste arvu. Puu defineerimiseks valitakse m tunnust p kirjeldava tunnuse seast. Kui ülesandeks on leida klassifitseerimismets, siis kasutatakse tihti m ≈√p. Mida väiksem on valitavate tunnuste arv, seda rohkem defineerivad puu tippe tunnused, mis ei ole tugevalt seotud uuritava tunnusega. See võib tuua positiivset efekti kui sellised tunnused suudavad kirjeldada mõne alamgrupi, mis tugevalt seotud tunnuste korral võivad varju jääda. Mida suurem on valitavate tunnuste arv, seda kindlam on see, et valikusse satub ka vähemalt üks tugevalt seotud tunnus. Selline lähenemine on hea, kui andmestik koosneb enamasti tunnustest, mis on vähemolulised. (Probst, Wright ja Boulesteix, 2019) Lisaks toovad Probst, Wright ja Boulesteix (2019) välja, et valikumäära ja mini- maalse lehe suuruse vaikeväärtuste muutmisel on väike mõju mudelile, kuid tasub proovimist. Valikumäär kirjeldab puu defineerimiseks kasutatava valimi suurust 16

ning minimaalse lehe suurus tähistab minimaalset vaatluste arvu lehes. Väikse va- limi korral võtab mudeli arvutamine vähem aega. Samal ajal kaotatakse üksiku puu täpsuses, kuna puu defineerimisel kasutatakse vähem andmeid. Minimaalne lehe suurus määrab kaudselt ära, kui sügavaid puid defineeritakse. Väiksema luba- tud arvu korral kirjeldatakse rohkem vahetippe. Minimaalse lehe suuruse kasvades väheneb mudeli arvutusele kuluv aeg. 1.6 Närvivõrgud Järgnevas alapeatükis kirjeldatakse sügava pärilevivõrgu (deep feedforward network) metoodikat, mida lisaks nimetatakse veel mitmekihiliseks närvivõrguks (multilayer perceptron) ja pärilevi närvivõrguks (feedforward neural networks). Alapeatükk põ- hineb raamatutel Goodfellow, Bengio ja Courville (2016, ptk 4, 6–8), Bishop (2006, lk 227–246, 256–261) ja James et al. (2021, lk 403–411, 434–439), kui ei ole märgi- tud teisiti. Pärilevivõrk koosneb sisendkihist (input layer), peidetud kihtidest (hidden layer) ja väljundkihist (output layer). Joonisel 3 on kujutatud pärilevi närvivõrk, mis Joonis 3: Kahe peidetud kihiga pärilevi närvivõrk (Dertat, 2017) koosneb sisendkihist, kahest peidetud kihist ning väljundkihist. Kihid koosnevad 17

sõlmedest ning kihtide sõlmed (nodes) on omavahel seotud joonte abil, mis tä- histavad kaale (weight parameters). Pärilevivõrgu puhul liiguvad andmed mööda võrku edasi ning mudeli prognooside kohta tagasisidet ei anta. Kasutatud peidetud kihtide arv iseloomustab mudeli sügavust (depth) ning sõlmede arv peidetud kihis iseloomustab mudeli laiust (width). Binaarse tunnuse Yi ∈{0, 1} korral on soov, et närvivõrk prognoosiks P(Yi = 1). Selleks, et väljund kuuluks vahemikku (0, 1) kasutatakse väljundkihis aktivatsioo- nifunktsioonina sigmoidfunktsiooni: g(z) = σ(z) = 1 1 + exp (−z). Järgmisena vaadeldakse kahekihilist pärilevi närvivõrku, mis koosneb ühest peide- tud kihist ning kasutab väljundkihis sigmoid-funktsiooni. Sisendkihi suurus on p ning sisendiks antakse vaatlus Xi. Esmalt leitakse lineaarkombinatsioonid: al = p X j=1 w(1) lj · Xij + w(1) l0 , kus l = 1, 2, ..., M ning M tähistab sõlmede arvu peidetud kihis. Parameetrid w(1) lj tähistavad kaale (weights) ja w(1) l0 tähistab vabaliiget (bias) esimeses kihis. Seejärel teisendatakse väärtused al aktivatsioonifunktsiooniga: zl = h(al). Saadud väärtused zl on väljundid peidetud kihist. Mitme peidetud kihi korral moo- dustatakse saadud peidetud kihi väärtustega uued lineaarkombinatsioonid. Hetkel moodustatakse üks lineaarkombinatsioon peidetud kihi väljunditest zl: a = M X l=1 w(2) l · zl + w(2) 0 , 18

millele rakendatakse sigmoid-funktsiooni ning saadakse prognoos: ˆYi = ˆy(Xi, w) = σ( M X l=1 w(2) l · h( p X j=1 w(1) lj Xij + w(1) l0 ) + w(2) 0 ). Andmete liikumist sisendkihist väliskihi suunas, nagu eelnevalt kirjeldati, nimeta- takse pärileviks (forward propagation). Närvivõrgu ülesehitust iseloomustab peidetud kihtide arv ja kihi suurused ning ka- sutatud aktivatsioonifunktsioonid. Peidetud kihis kasutatakse aktivatsioonifunkt- siooni vaikeväärtusena mittenegatiivset lineaarfunktsiooni ReLu (Rectified Linear Unit) g(z) = max{0, z} =      0, kui z < 0, z, kui z ≥0. Binaarse klassifitseerimisülesande korral kasutatakse närvivõrkude treenimisel kao- funktsioonina ristentroopiat (cross-entropy) E(w) = n X i=1 Ei(w) = − n X i=1 {Yi · ln( ˆYi) + (1 −Yi) · ln (1 −ˆYi)}, kus Yi tähistab uuritava tunnuse väärtust i-nda vaatluse korral ning ˆYi tähistab mudeli prognoosi i-ndale vaatlusele. Treenimise protsessis soovitakse leida kaalud w nii, et kaofunktsioon oleks minimaalne. Sobivad kaalud leitakse iteratiivselt alus- tades juhuslikult valitud kaaludega w(0). Igal sammul t leitakse sobiv muudatuste vektor. Kaalude muudatuste sobiv suund leitakse gradiendi ∇E(w) kaudu, mis viitab kaofunktsiooni suunale, kus tõus on suurim. Seega leitakse kaalud w(t+1) = w(t) −η∇E(w(t)), kus η > 0 on õpisamm (learning rate). Kirjeldatud meetodit nimetatakse gradient- laskumiseks (gradient descent). 19

Meetodi kasutamiseks on vaja leida∇E(w), milleks kasutatakse tagasilevi (back- propagation). Vaja on leida tuletised kaaludew järgi. Hetkel käsitletava näite korral leitakse osatuletised esimese kihi kaalude suhtes∂Ei ∂w (1) lj ja teise kihi kaalude suhtes ∂Ei ∂w (2) l : ∂Ei ∂w (2) l = ∂Ei ∂ ˆYi · ∂ ˆYi ∂a · ∂a ∂w (2) l , ∂Ei ∂w (1) lj = ∂Ei ∂ ˆYi · ∂ ˆYi ∂a · ∂a ∂zl · ∂zl ∂al · ∂al ∂w (1) lj . Kui gradiendi leidmiseks kasutatakse tervet andmestikku, siis nimetatakse mee- todit batch gradient method. Enamasti ei kasutata praktikas arvutamiseks kogu treeningandmestikku, vaid ainult mingit osa. Sellisel juhul on tegemist miniplokk- stohhastilise meetodiga (minibatch stochastic method). Miniploki suurusena kasu- tatakse sageli väärtuseid 32, 64, 128, 256, mis annavad mudeli jooksutamisel kiire- mad tulemused. Lisaks määratakse enne treenimist, mitu korda treeningprotsessis andmestik läbitakse. Andmestiku läbimist nimetatakse epohhiks (epoch). Epoh- hi jooksul kasutatakse n miniploki suurus miniplokki. Stohhastilise gradientlaskumise korral leitakse ühe epohhi korral miniplokkides arvutatud gradientide keskmine. RakendustarkvaraPython pakett Keras (Abadiet al., 2015) kasutab treeningprot- sessis stohhastilise gradiendilaskumise algoritmi Adam (Kingma ja Ba, 2017). Sobivate kaalude leidmiseks saab kaofunktsioonile lisada kaaludele karistusliikme (penalty term), mille eesmärk on vähendada viga, mida mudel teeb uute andmete korral ehk vältida ülesobitamist. Kirjeldatud protsessi nimetatakse regulariseeri- miseks (regularization). Kaalude kahandamiseks (weight decay) nulli lähedale saab kasutada kantregularisatsiooni: ˜E(w) =E(w) +λ 2 wT w, kus λ ∈ [0, ∞) tähistab regulariseerimise parameetrit. Kuiλ = 0, siis regularisee- 20 rimist ei toimu. Närvivõrkude puhul on soovitatav seadistada peidetud kihtide arvu, peidetud kihti- de suuruseid, regulariseerimisparameetri väärtust, miniploki suurust ja epohhide arvu. Epohhide arvu määramine on oluline, sest andmestikku mitmeid kordi läbides hakkab mudel ühel hetkel ülehindama. Epohhide arvu määramiseks saab kasuta- da ka funktsiooni EarlyStopping, mis treenimisel jälgib, mis hetkest kaofunktsioon enam ei vähene ning lõpetab seejärel protsessi (Keras, 2022). 1.7 Mudeli võimekuse hindamine Järgnev alapeatükk põhineb raamatul Murphy (2012, lk 183–185), kui ei ole mär- gitud teisiti. Masinõppe meetodite eesmärk on õppida olemasolevatelt andmetelt ning teha või- malikult vähe vigu uute andmete korral. Selleks, et saada aimu, kuidas saab mu- del uute andmete korral hakkama, jagatakse algne andmestik treening- ja test- andmeteks (vt alapeatükk 1.1). Mudeli abil saab prognoosida tulemused testand- metel ning seejärel uurida, kui täpselt saab mudel hakkama. Saadud tulemused kantakse maatriksisse (vt tabel 2), kust saab välja lugeda erinevaid mudeli võime- kuse (model performance) näitajaid. Kirjeldatud maatriksit tuntakse kui confusion matrix. Kirjeldatud tabelist saame arvutada erinevaid mõõdikuid: • Õigsus (accuracy) = TN+TP TN+FP+FN+TP • Tundlikkus (sensitivity, true positive rate, recall) P( ˆY = 1|Y = 1) = TP TP + FN 21

Tabel 2: Klassifitseerija tulemused testandmetel Prognoos 0 1 T egelik 0 TN FP TN+FP 1 FN TP FN+TP

  • T Ntähistab õige negatiivsete tulemuste arvu (true negative), T Ptähistab õige positiivsete tulemuste arvu (true positive), F Ptähistab valepositiivsete tulemuste arvu (false positive), F Ntähistab valenegatiivsete tulemuste arvu (false negative). • Spetsiifilisus (specifity, true negative rate) P ( ˆY = 0|Y = 0) = T N F P+ T N • Valepositiivsuse määr (false positive rate) P ( ˆY = 1|Y = 0) = F P F P+ T N • Valenegatiivsuse määr (false negative rate) P ( ˆY = 0|Y = 1) = F N F N+ T P • Täpsus (precision, positive predictive value) – näitab, kui suur hulk positiiv- setest prognoosidest on tegelikult positiivsed P (Y = 1| ˆY = 1) = T P T P+ F P. Klassifitseerimisülesannete korral on kõige populaarsem mõõdik õigsus. Mudeli või- mekuse hindamiseks tuleb valida lähtuvalt eesmärgist sobiv mõõdik. 22 1.8 Tasakaalustamata andmed Järgnev alapeatükk põhineb allikatel Ling ja Sheng (2010) ja Provost (2000), kui ei ole märgitud teisiti. Tasakaalustamata andmed tähistavad olukorda, kus uuritava tunnuse Y võimali- ke väärtuste sagedused on erinevad. Binaarse tunnuse korral koosneb andmestik rohkelt esindatud klassist ehk enamusklassist (majority class) ning vähe esinda- tud klassist ehk vähemusklassist(minority class). Tasakaalustamata andmete korral võib andmestik koosneda näiteks 99% enamusklassi ja 1% vähemusklassi vaatlus- test. Enamasti pakub huvi just vähemusklassi prognoosimine. Enamus klassifitsee- rijaid treenitakse nii, et õigsus oleks võimalikult madal, mis väga tasakaalustamata andmete korral saavutatakse ka ilma vähemusklassile tähelepanu pööramata. Tasakaalustamata andmete probleem seisneb selles, et vead, mida mudel prognoo- simisel teeb, ei ole tegelikult võrdväärsed. Lihtne näide on mõne raske haiguse või- malike põdejate tuvastamine, et suunata nad täpsemale uurimisele ja jälgimisele. Enamasti on raske haigusega patsiente andmetes vähe, kuid soov on uutel inimes- tel tuvastada raske haigus varakult. Nüüd patsiente klassifitseerides terveteks ja haigeteks on selge, et haige inimese klassifitseerimine terveks on palju kallim viga kui terve inimese klassifitseerimine haigeks. Selgub, et tehes mudelis muudatusi enne või peale treenimist, saab juba tuntuid klassifitseerimise meetodeid kasutada tasakaalustamata andmete mudeldamiseks. Antud töö käigus tutvutakse kahe meetodiga:
  1. lävendi meetod (thresholding),
  2. valikumeetod (sampling). 23

1.8.1 Lävendimeetod Järgnev alapeatükk põhineb raamatul Murphy (2012, lk 183–184), kui ei ole mär- gitud teisiti. Defineeritud klassifitseerija ei pea välja andma klassi kuuluvuse hinnanguid, vaid võib hinnata ka, kui kindlalt vaatlus kuulub huvipakkuvasse klassi. Binaarse tun- nuse korral on vaatluse all enamasti Yi = 1. Mudeli poolt saadav hinnang f(Xi) ei pea olema tõenäosus p(Yi = 1|Xi), vaid võib olla ka hinnang, mis on monotoon- selt seotud tõenäosusega, et Yi = 1. Saadud hinnangu f(Xi) abil saab määrata vaatlused klassidesse. Fikseerides mingi lävendi τ, siis ˆYi = I(f(Xi) > τ). Nüüd saab tulemused kanda tabelisse 2. Kasutatud meetodit nimetatakse lävendi meetodiks (threshold method). Provost (2000) toob oma artiklis välja, et tasakaalus- tamata andmete korral võib piisata tavalise klassifitseerimismeetodi korral lävendi muutmisest. Sobiva lävendi τ valikuks saab kasutada ROC-kõverat (receiver operating charac- teristic) (vt joonis 4). Kõigepealt leitakse tundlikkus ja 1−spetsiifilisus väärtused erinevate lävendite korral. Kui lävend τ = 1, siis klassifitseeritakse kõik testandmes- tiku vaatlused klassi 0. Järelikult mõlemad näitajad, tundlikkus ja 1−spetsiifilisus, on võrdsed nulliga. Kui lävend τ = 0, siis klassifitseeritakse kõik vaatlused klassi

  1. Järelikult mõlemad näitajad on võrdsed ühega. Kui kõver langeb kokku dia- gonaaljoonega, siis kirjeldatud näitajad on võrdsed. Selline seisund tähendab, et mudel ei suuda klasse eristada ning käitub juhuslikult. Soov on leida lävend τ, mis annab määratud kindluse prognooside osas. Näiteks tahetakse võimalikult kõr- get tundlikkuse määra. Enamasti on soov leida lävend, mille korral tundlikkus ja spetsiifilisus oleks samaaegselt võimalikult kõrged ehk mudel suudaks kaks klassi omavahel täiuslikult eristada. Sellist kõverat iseloomustaks olukord, kui joonisel 4 24