< eelmine | 2. OSA sisukord | järgmine > |
2.4 Juhendamata masinõpe autor: Ardi Tampuu
Mõnedel juhtudel pole andmete uurimise ja töötlemise eesmärgiks teatud tunnustest mingi väljund-tunnuse ennustamine, vaid lihtsalt andmetes olevate korduvate mustrite leidmine. Sellisel juhul käsitleme me kõiki tunnuseid võrdsetena ja ühte neist ei käsitleta märgendi või sildina (nagu eelmises peatükis juhendatud õppes). Samuti pole meil mingit õiget vastust ega oodatud tulemust, mida saavutama peaks. Tegu on mitte juhendatud, vaid juhendamata õppega (ingl unsupervised learning).
Andmetes mustrite otsimine tähendab, et me püüame avastada seoseid erinevate tunnuste ja erinevate näidete vahel. Näiteks võime avastada, et teatud näited on omavahel väga sarnased ja neil on suures hulgas tunnustest väga sarnased väärtused – nad moodustavad mingi ühtse grupi. Samuti võib avastada, et teatud tunnused on mingil viisil omavahel seotud. Näiteks, et ühe tunnuse väärtus kahaneb alati, kui teise väärtus kasvab (või mingeid palju keerulisemaid seoseid).
Selliste mustrite leidmine võimaldab muu hulgas tuvastada näiteks seda, kui mõni näide või mõni tunnuse väärtus on teistest kuidagi erinev ehk anomaalne. Teatud väärtuse anomaalsus ei pruugi seisneda lihtsalt tema väärtuses, vaid võib sõltuda kontekstist. Kehakaal 50 kg pole iseenesest eriline, aga on seda juhul, kui inimene on 190 cm pikk. Sellist imelike näidete, väärtuste ja väärtuste-kombinatsioonide otsimise rakendust nimetatakse anomaaliate tuvastamiseks (ingl anomaly detection). See võimaldab näiteks pankadel tuvastada kahtlaseid tehinguid või rahapesuga tegelevaid kontosid. See võiks aidata Maksuametil tuvastada maksupettureid või mõnel muul riigiametil toetustega skeemitajaid.
Seoste leidmine võimaldab ka aimata tulevikku (või juba praegu olemasolevaid, aga hetkel veel tuvastamata, fakte). Vaatame juhtu, kus meie andmestik koosneb inimeste lugemisharjumustest või ostude ajaloost raamatupoes. Iga näide vastab ühele inimesele ja iga veerg sellele, kas ja kui palju ta mingit raamatut ostnud on. Kui Triinu ja Kati lugemisharjumused on sarnased, siis võime Triinu eelistuste järgi aimata ka Kati eelistusi. Näiteks kui Triin on juba teatud raamatu ostnud, aga Kati veel mitte, siis võime siiski aimata, et ka Kati võiks sellest raamatust huvitatud olla. See võimaldab just seda raamatut talle e-posti teel reklaamida. Samuti võib avastada seoseid raamatute vahel – kui avastame andmetest, et inimesed, kes on ostnud “Sõrmuste Isanda” triloogia raamatuid, kipuvad ostma ka “Kääbiku”, siis teame hiljuti “Sõrmuste Vennaskonna” ostnud inimesele just seda raamatut pakkuda. Sellisel eesmärgil seoste otsimist kutsutakse assotsiatsioonireeglite õppimiseks.
Raamatupoe näites toodud seosed, mida oleks võimalik andmetest avastada, olid üsna lihtsakoelised. Ka tubli raamatupoe müüja, kes oma kliente isiklikult teab, võiks neid luua. Tänapäevased tehisintellekti meetodid on aga võimelised looma tohutult palju keerulisemaid seoseid, mida pole võimalik isegi sõnadega kirja panna. Ka reegel “Kui inimene on ostnud raamatu A, B ja C just selles järjekorras ja sellise ajalise vahega, aga mitte raamatut D ega E, siis on tema tõenäosus osta raamat F kümme protsenti suurem” on lihtne ja triviaalne võrreldes seostega, mida tehisintellekt suudaks andmetest juhendamata õppida. Pealegi suudab juhendamata masinõpe leida seoseid miljonite inimeste ja miljonite tunnuste vahel, mida inimene ei suudaks.
Assotsiatsioonireeglite leidmise lähenemist on väga edukalt ära kasutanud veebis teenuseid ja tooteid pakkuvad firmad. Filmide ja sarjade veebis vaatamise võimalust pakkuv Netflix ennustab juhendamata õpet kasutades, millist filmi iga klient järgmisena vaadata sooviks. Selle jaoks vaadatakse selle kliendi tarbimisajalugu, leitakse temaga sarnase vaatamisajalooga inimesed ning uuritakse, millised filmid neid sarnaseid inimesi veel huvitanud on. Sarnasel viisil pakuvad veebipoed Amazon ja eBay klientidele teisi tooteid, mis neid huvitada võiks.
Tegelikult pole muidugi kõik juhendamata õppe näidisrakendused ärilised, lihtsalt ärivaldkonnas on palju raha, palju andmeid ja edukad näited leiavad suuremat kõlapinda. Assotsiatsioone saab kasutada elurikkuse hindamiseks mingis elukeskkonnas – kui näeme teatud liike, siis teame, et seal on ka teisi nendega seonduvaid liike. Anomaaliaid tuvastades on võimalik näiteks lihtsasti mõõdetavate tunnuste põhjal varakult tuvastada, et inimesel on mingi terviseprobleem.
Juhendamata masinõppe ilmselt kõige tuntumaks rakenduseks on näidete klasterdamine (ingl clustering) ehk gruppideks jaotamine. Leides korduvaid mustreid andmetes, saame moodustada näidetest grupid, milles on koos mingil viisil omavahel sarnased (sarnaste mustritega) näited. Lastes algoritmil näiteid grupeerida, on võimalus ja lootus avastada andmetes seni teadmata seoseid, mida inimene ise pole võimeline märkama. Kui andmestikus on sadu või tuhandeid tunnuseid ning tuhandeid või kümneid tuhandeid ridu, siis on keeruline lihtsalt peale vaadates hoomata, kas mingi hulk näited on omavahel sarnased ja eristuvad ülejäänud näidetest mingil viisil. Juhendamata masinõpe võimaldab automatiseerida selliste peidetud gruppide avastamist. Neid gruppe kutsutakse masinõppe terminoloogias klastriteks ja nende leidmist klasterdamiseks.
Klasterdamine on osutunud kasulikuks erinevates keerulistes eluvaldkondades. Esimese näitena võime tuua ettevõtte soovi oma kliente liigitada, et paremini mõista, millised on tüüpkliendid, mida nad tahavad ja palju nad selle eest maksma on nõus. Olles kogunud väga paljude klientide kohta palju tunnuseid (elukoht, ostude sagedus, ostude keskmine summa, ostetud kaupade liik jne), on raske ainult intuitsiooni põhjal aimata, mis on klientide ühised omadused või kuidas neid grupeerida. Juhendamata masinõpe automatiseerib seda protsessi. Klasterdamise väljundiks on teatud hulk (kui palju, saab kasutaja ise otsustada) gruppe ehk klastreid, millesse igaühte kuulub erinev hulk inimesi. Mis on see, mis ühte klastrisse kuulujaid ühendab, on võimalik tagantjärele välja selgitada, et anda igale klastrile tähendus. Näiteks võivad ühe klastri moodustada juhuostjad, teise harva suuri oste tegevad kliendid, kolmanda iga päev väikseid oste tegevad kliendid jne. Teades klienditüüpe ja inimesi, kes sellesse tüüpi kuuluvad, saab ettevõte seada eesmärgiks näiteks juhuostjatest püsiklientide tegemise ning püsiklientide hoidmise.
Mitteärilistes valdkondades on klasterdamine samuti edukas. Näiteks juhtub meditsiinivaldkonnas tihti nii, et teatud ravim töötab mingil inimesel paremini kui teisel. Teadlastel on näiteks Alzheimeri tõve puhul õnnestunud klasterdamise teel luua grupid, kus sama grupi inimesi ühendab see, et neile mõjub hästi just kindel ravim. Omades sellist klasterdamismudelit on võimalik iga uue patsiendi puhul vaadata, millisesse gruppi ta kuulub ja talle vastav ravi määrata (ingliskeelne allikas). Samuti on võimalik uurida, mis on need tunnuste-mustrid, mis erinevaid gruppe eristavad ning selle abil leida näiteks geneetilised või metaboolsed algpõhjused, miks mingi ravim neile erinevalt mõjub. Sarnast lahendust on võimalik luua ka juhendatud õppe lähenemist kasutades, püstitades selle küsimuse klassifikatsiooni-ülesandena, aga täpselt märgendatud andmete vähesuse tõttu on see pisut problemaatiline. Meil on vähe patsiente, kelle kohta me kindlalt teame, kas ja mis määral mõlemad ravimid töötavad (võimalik on ka, et mõlemad töötavad või kumbki ei tööta).
Geneetikas on klasterdamine osutunud kasulikuks sarnase ekspressiooni-mustriga geenide tuvastamiseks. Võib juhtuda, et mingid geenid avalduvad alati koos, on alati üksteist välistavad või on mingil muul viisil seotud. Põhjuseks võib olla see, et need geenid reguleerivad üksteise aktiivsust või hoopis see, et leidub mingi muu geen, mis neid mõlemaid reguleerib. Üksteist mõjutavate geenivõrgustike kaardistamine ja mõistmine võimaldab mõista haiguste tekkepõhjuseid ja üldisemalt seda, kuidas meie organism töötab ja iseennast reguleerib.
Kokkuvõtteks võib öelda, et juhendamata õpe on kindlasti vähem levinud ja vähemate rakendusaladega kui juhendatud õpe. Siiski on tal oma koht ja kindlad kasutusvaldkonnad olemas.
Praktiline näide
Ühte neist kasutusjuhtudest näitlikustame Google Colab vihikus. Selle vihiku läbi vaatamine on Masinõppe mooduli kohustuslik osa. Siin viidatud vihikus ei ole kood käivitatud ja koodikastide väljundid ilmuvad, kui need käivitatakse - teilt oodatakse koodiga kastide ükshaaval käima panemist. Juhul kui see Teie brauseris mingil põhjusel ei tööta, võite vaadata juba käivitatud ja nähtavate väljunditega vihikut, mille link on antud ülalviidatud vihiku sees.
< eelmine | 2. OSA sisukord | järgmine > |