
Masinõppemudeli valik ei alga küsimusest „milline algoritm on kõige võimsam?“. See algab palju maisemalt: mida sa tahad ennustada, millised andmed sul tegelikult olemas on ja milline viga on sinu kasutusjuhus kõige kallim? Kui need kolm asja on selged, muutub kümnete mudelinimede rägastik üsna loogiliseks valikukaardiks.
Peamised mõtted
- Regressioon ennustab arvu, klassifitseerimine kategooriat ja klasterdamine otsib sarnaseid rühmi ilma etteantud vastusteta.
- Alusta lihtsast baasmudelist ning lisa keerukust ainult siis, kui valideerimistulemus seda õigustab.
- Sama mudeliperekond võib lahendada mitut ülesannet: näiteks otsustuspuud, juhumetsad ja närvivõrgud sobivad nii regressiooniks kui ka klassifitseerimiseks.
- Mudeli kvaliteeti ei näita treeningandmete tulemus, vaid võime üldistada uutele andmetele.
- Õige mõõdik sõltub vea tegelikust hinnast; üksainus „accuracy“ või keskmine viga ei kirjelda alati seda, mis äris oluline on.
Selle teejuhi lähtepunkt on Dataquesti artikkel „12 Machine Learning Models Explained“, kuid allolev käsitlus on iseseisev eestikeelne ülevaade. Olen mudelid ümber rühmitanud, lisanud valikuraamistiku, praktilised Eesti ettevõtte näited ning täpsustanud kohti, kus mudeli nimi ja ülesandetüüp kipuvad segi minema.
Mis on masinõppemudel?
Masinõppemudel on andmetest õpitud matemaatiline seos, mis teisendab sisendid väljundiks. Kui sisendiks on korteri pindala, asukoht, seisukord ja ehitusaasta, võib väljund olla müügihind. Kui sisendiks on e-kirja tekst ja saatja tunnused, võib väljund olla tõenäosus, et kiri on rämpspost.
Siin tasub eristada kolme mõistet:
- andmed on näited, millest süsteem õpib;
- algoritm on protseduur, millega mustrit otsitakse;
- mudel on treenimise käigus õpitud struktuur ja parameetrid, millega tehakse uusi ennustusi.
Mudel ei „mõista“ nähtust inimese kombel. Ta kohandab oma parameetreid nii, et valitud veafunktsioon muutuks treeningandmetel väiksemaks. Kas sellest on päriselus kasu, selgub alles varem nägemata andmete peal.
Google'i masinõppe õppematerjal rõhutab sama põhimõtet: üleõppinud mudel võib olla treeningandmetel väga hea, kuid uutel näidetel halb. Hea mudel peab üldistama, mitte treeningridu meelde jätma. Google: overfitting ja üldistus
Kõigepealt määra ülesandetüüp
Enne mudelinime valimist kirjuta sihtmuutuja ühe lausena välja.
| Küsimus | Ülesandetüüp | Tüüpiline väljund | Näide |
|---|---|---|---|
| Kui suur või kui palju? | Regressioon | Arv | Järgmise kuu müük eurodes |
| Millisesse klassi see kuulub? | Klassifitseerimine | Klass või tõenäosus | Kas klient lahkub järgmise 30 päeva jooksul? |
| Millised vaatlused on omavahel sarnased? | Klasterdamine | Rühma tunnus | Kliendisegmendid ostukäitumise järgi |
| Kuidas õppida keerukat seost pildist, helist või tekstist? | Närvivõrgupõhine õpe | Arv, klass, vektor või jada | Defekti leidmine tootepildilt |
Jaotus pole absoluutne. Otsustuspuu, juhumets, gradientvõimendus ja närvivõrk võivad teha nii regressiooni kui ka klassifitseerimist. K-lähima naabri meetodist on samuti olemas mõlemad variandid. Seetõttu on kasulikum mõelda kahes kihis: kõigepealt ülesanne, seejärel mudeliperekond.
Regressioonimudelid: kui väljund on arv
Regressioon sobib juhul, kui sihtmuutuja on arvuline: hind, nõudlus, tarneaeg, energiakulu või kliendi eluaegne väärtus.

Lineaarne regressioon leiab lihtsa seose; Ridge ja Lasso lisavad mudeli keerukusele karistuse, et vähendada üleõppimise riski.
1. Lineaarne regressioon
Lineaarne regressioon eeldab, et väljundi ja tunnuste vahelist seost saab piisavalt hästi kirjeldada sirgjoone või mitme tunnuse korral tasandiga. Mudel õpib igale tunnusele kaalu: kui palju muutub ennustus siis, kui üks sisend muutub ja teised jäävad samaks.
Sobib hästi, kui vajad kiiret, läbipaistvat baasmudelit ja seos on ligikaudu lineaarne. Näiteks võib see hinnata energiakulu ruutmeetrite, välistemperatuuri ja kasutustundide põhjal.
Piirang: erindid, tugevalt mittelineaarsed seosed ja omavahel tihedalt seotud tunnused võivad tulemust moonutada. Lineaarne mudel ei avasta keerukaid vastasmõjusid automaatselt.
2. Ridge-regressioon
Ridge on lineaarne regressioon L2-regulatsiooniga. Treenimisel karistatakse väga suuri kaalude väärtusi, mistõttu mudel jaotab mõju tavaliselt mitme tunnuse vahel ja muutub stabiilsemaks.
Sobib hästi, kui tunnuseid on palju ja mitu neist kirjeldavad sarnast nähtust. Näiteks võivad veebipoe külastuste arv, lehevaatamised ja sessiooni pikkus olla omavahel seotud.
Piirang: Ridge vähendab ebaoluliste tunnuste kaale, kuid ei vii neid üldjuhul täpselt nulli. Kõik tunnused jäävad mudelisse alles.
3. Lasso-regressioon
Lasso kasutab L1-regulatsiooni. See võib osa tunnuste kaaludest viia täpselt nulli ning toimida seeläbi lihtsa tunnusevalikuna.
Sobib hästi, kui sul on palju võimalikke tunnuseid, kuid kahtlustad, et kasulikku signaali kannab neist ainult osa.
Piirang: tugevalt korreleeruvate tunnuste korral võib Lasso valida neist ühe üsna ebastabiilselt. Nulli viidud kaal ei tõesta ka põhjuslikkust ega seda, et tunnus oleks äriliselt tähtsusetu.
Google'i dokumentatsioon selgitab, et nii L1 kui ka L2 regulatsioon lisavad treeningeesmärgile keerukuse hinna. Mõte pole teha mudelit tingimata väikseks, vaid leida tasakaal andmetega sobitumise ja uutele andmetele üldistamise vahel. Google: mudeli keerukus ja regulatsioon
Klassifitseerimismudelid: kui väljund on kategooria
Klassifitseerimine vastab küsimusele „millisesse klassi see näide kuulub?“. Väljund võib olla lõplik klass, kuid praktikas on sageli väärtuslikum klassi tõenäosus. Kui kliendi lahkumise tõenäosus on 0,78, saab ettevõte otsustada, millise lävendi juures sekkuda.

Klassifitseerijad jõuavad otsuseni eri viisil: tõenäosusliku piiri, lähimate naabrite, tunnuste tõendite või võimalikult laia eraldusruumi kaudu.
4. Logistiline regressioon
Nimest hoolimata on logistiline regressioon klassifitseerimismudel. Binaarsel juhul hindab see tõenäosust, et näide kuulub positiivsesse klassi. Otsustuspiir on mudeli algkujul lineaarne, kuid väljund jääb nulli ja ühe vahele.
Sobib hästi selgitatavaks baasmudeliks: rämpsposti tuvastamine, kliendi lahkumine, makse hilinemine või kampaaniale reageerimine.
Piirang: ilma tunnuste teisenduste ja vastasmõjude lisamiseta ei õpi see keerukaid mittelineaarseid piire.
5. K-lähima naabri meetod ehk k-NN
k-NN vaatab uue näite lähimaid treeningnäiteid ja laseb neil „hääletada“. Kui enamik viiest lähimast naabrist kuulub klassi A, liigitatakse uus näide tõenäoliselt samuti klassi A.
Sobib hästi väikese või keskmise andmestiku ja intuitiivselt mõistetava sarnasuse korral.
Piirang: tunnuste skaalad peavad olema võrreldavad, ennustamine võib suure andmestiku puhul aeglustuda ning paljude mõõtmetega ruumis muutub „lähedus“ järjest vähem informatiivseks.
6. Naiivne Bayesi klassifikaator
Naiivne Bayes kombineerib tõenäosusi Bayesi reegli abil ja teeb lihtsustava eelduse, et tunnused on klassi teades üksteisest sõltumatud. Eeldus on sageli ebarealistlik, kuid mudel võib sellest hoolimata väga hästi töötada.
Sobib hästi tekstiklassifitseerimise, rämpsposti filtreerimise ja kiire lähtepunkti jaoks, eriti hõredate tunnuste puhul.
Piirang: tugevalt sõltuvad tunnused ja halvasti sobiv tõenäosusjaotus võivad hinnanguid moonutada. Klassi tõenäosused ei pruugi olla hästi kalibreeritud.
7. Tugivektormasin ehk SVM
SVM otsib klasside vahele piiri, mille varu lähimate näideteni on võimalikult lai. Kerneli abil saab sisendruumi kaudselt teisendada ja leida ka mittelineaarseid otsustuspiire.
Sobib hästi keskmise suurusega, paljude tunnustega andmestikule, kus klasside vahel on selge eraldusstruktuur.
Piirang: tulemused sõltuvad tunnuste skaleerimisest ja hüperparameetritest; väga suurte andmestike korral võib treenimine muutuda kulukaks ning mudelit on raskem selgitada kui logistilist regressiooni.
Puud ja ansamblid: reeglitest mudelite koguni
Puumudelid jagavad andmeruumi järjestikuste küsimustega. Üks puu on kergesti visualiseeritav, kuid võib olla ebastabiilne. Ansamblid ühendavad paljude puude ennustused, et saada parem üldistus.

Üks puu loob loetavad reeglid, juhumets keskmistab paljude erinevate puude vastused ja gradientvõimendus parandab vigu sammhaaval.
8. Otsustuspuu
Otsustuspuu jagab andmeid küsimustega, näiteks „kas ostude arv on suurem kui kolm?“ ja „kas viimasest ostust on möödas üle 90 päeva?“. Lehes asub ennustus.
Sobib hästi, kui vajad mittelineaarset mudelit, mis õpib tunnuste vastasmõjusid ja on mõõduka sügavuse korral inimesele loetav.
Piirang: sügav puu õpib müra kergesti pähe. Väike muutus andmetes võib muuta puu struktuuri märgatavalt.
9. Juhumets
Juhumets treenib palju otsustuspuid erinevatel andme- ja tunnusevalimitel ning keskmistab nende tulemused. Juhuslikkus vähendab üksikute puude omavahel seotud vigu ja seega mudeli variatsiooni.
Sobib hästi tugeva üldotstarbelise baasmudelina tabelandmetele, kui seosed on mittelineaarsed ja tunnuste vastasmõjusid on palju.
Piirang: mets on üksikust puust raskemini seletatav, mudel võib olla mahukas ning ekstrapoleerimine väljapoole treeningandmete vahemikku on regressioonis nõrk.
10. Gradientvõimendus
Gradientvõimendus ehitab nõrku mudeleid järjest. Iga järgmine puu keskendub sellele, mida senine ansambel valesti ennustas. Levinud teostused on gradient-boosted decision trees ning nende optimeeritud variandid.
Sobib hästi tabelandmetele, kus soovid väga tugevat ennustustäpsust. Scikit-learni juhend nimetab gradientvõimendusega puid heaks mudeliks nii regressioonis kui ka klassifitseerimises, eriti tabelandmete puhul. Scikit-learn: ansamblimeetodid
Piirang: õppimiskiirus, puude arv, sügavus ja regulatsioon vajavad hoolikat häälestamist. Liiga agressiivne mudel võib üle õppida ning treenimine on juhumetsast järjestikulisema iseloomu tõttu vähem paralleelne.
Klasterdamine ja närvivõrgud
11. K-keskmiste meetod ehk k-means
k-means on juhendamata õppe meetod: andmetel pole etteantud õigeid klassisilte. Algoritm paigutab andmeruumi k keskpunkti ning määrab iga vaatluse lähima keskpunkti rühma. Seejärel arvutatakse keskpunktid uuesti ja protsessi korratakse.
Scikit-learni dokumentatsiooni järgi minimeerib k-means klastrisisest ruutkauguste summat ehk inertsi ning eeldab, et klastrite arv on ette määratud. Meetod töötab kõige loomulikumalt ligikaudu ühesuuruste ja ümara kujuga rühmade puhul. Scikit-learn: k-means ja klasterdamine
Sobib hästi kliendisegmentide, dokumentide või toodete esialgseks rühmitamiseks, kui sul on mõistlik kaugusmõõt ja ettekujutus klastrite arvust.
Piirang: tulemus sõltub skaalast, algsetest keskpunktidest ja k valikust. Klastrid pole automaatselt päris ärisegmendid; neid tuleb sisuliselt tõlgendada ja uutel andmetel kontrollida.
12. Närvivõrk
Närvivõrk koosneb kihtidest, milles sisendid teisendatakse kaalude, nihete ja mittelineaarsete aktiveerimisfunktsioonide abil järjest uuteks esitusteks. Piisava andmemahu ja sobiva arhitektuuri korral õpib võrk väga keerukaid seoseid.
Närvivõrk ei ole üks konkreetne ülesandetüüp ega lihtsalt klasterdamismudel. Seda saab kasutada regressiooniks, klassifitseerimiseks, pildi- ja kõnetöötluseks, teksti modelleerimiseks ning esitusõppeks.
Sobib hästi, kui andmed on keerukad ja struktureerimata, näiteks pildid, heli või tekst, või kui lihtsamad mudelid ei suuda olulist mustrit tabada.
Piirang: treenimine nõuab sageli rohkem andmeid, arvutusvõimsust ja häälestamist. Väljundit on raskem selgitada ning vigade analüüs peab olema palju põhjalikum kui üksiku koondskoori vaatamine.

k-means otsib sarnaste vaatluste rühmi ilma vastusesiltideta; närvivõrk õpib kiht-kihilt esituse, mida saab kasutada väga erinevate ülesannete lahendamiseks.
Kuidas mudelit õiglaselt hinnata?
Mudeli valik ilma sobiva hindamiseta on sisuliselt oletamine. Jaga andmed vähemalt treening- ja testiosaks; mudeli valimiseks ning hüperparameetrite häälestamiseks kasuta eraldi valideerimisosa või ristvalideerimist. Testandmeid ei tohi kasutada korduvaks mudelivalikuks, sest siis hakkad ka testikomplektile kaudselt üle õppima.
Scikit-learn koondab ristvalideerimise, hüperparameetrite häälestamise ja mudeli hindamise eraldi mudelivaliku töövahenditeks. Scikit-learn: ristvalideerimine
Regressiooni mõõdikud
- MAE ehk keskmine absoluutviga ütleb, kui suur on tüüpiline viga algses ühikus. Seda on lihtne selgitada.
- RMSE karistab suuri vigu tugevamalt. See sobib siis, kui üks väga suur möödapanek on eriti kallis.
- R² näitab, kui palju sihtmuutuja varieeruvusest mudel seletab võrreldes keskmise ennustamisega, kuid ei ütle vea suurust eurodes, tundides ega ühikutes.
Klassifitseerimise mõõdikud
- accuracy ehk õigete vastuste osakaal sobib eelkõige tasakaalus klassidele ja võrdselt kulukatele vigadele;
- precision vastab küsimusele, kui suur osa positiivseks ennustatutest oli päriselt positiivne;
- recall näitab, kui suure osa päris positiivsetest juhtudest mudel üles leidis;
- F1-skoor tasakaalustab precision'i ja recall'i;
- ROC AUC hindab klasside järjestamise võimet üle eri lävendite, kuid väga haruldase positiivse klassi korral tasub vaadata ka precision-recall kõverat.
Scikit-learni hindamisjuhend toob eraldi välja regressiooni-, klassifitseerimis-, klasterdamis- ja järjestusmõõdikud. See on hea meeldetuletus, et „üks universaalne skoor“ puudub. Scikit-learn: mudelite mõõdikud ja skoorimine
Näide: miks accuracy võib eksitada
Oletame, et 10 000 tehingust on ainult 100 petturlikud. Mudel, mis nimetab kõik tehingud ausaks, saavutab 99% accuracy, kuid ei leia ühtegi pettust. Pettuste tuvastamisel on olulisem vaadata vähemalt recall'i, precision'it, segadusmaatriksit ja eri otsustuslävendite mõju päris töövoole.
Praktiline mudelivaliku töövoog
Sõnasta sihtmuutuja ja vea hind
Kirjuta välja, kas ennustad arvu, klassi või otsid struktuuri ilma siltideta. Seejärel kirjelda valepositiivse, valenegatiivse ja suure arvulise vea tegelikku mõju.
Auditeeri andmed enne mudelit
Kontrolli puuduvaid väärtusi, lekkeid, duplikaate, ajas muutuvat jaotust, klasside tasakaalu ja seda, kas näited esindavad päris kasutuskeskkonda. Google'i õppematerjal võtab põhimõtte tabavalt kokku: mudeli tulemus sõltub tugevalt treeningandmete kvaliteedist ja sobivusest. Google: andmestiku omadused
Loo lihtne baastase
Võrdle esmalt triviaalset ennustust ja lihtsat mudelit. Regressioonis võib triviaalne mudel ennustada mediaani, klassifitseerimises enamuse klassi. Seejärel proovi lineaarset või madalat puumudelit. Ilma baastasemeta ei tea sa, kas keerukas mudel lisas päriselt väärtust.
Võrdle väikest mudelikomplekti sama skeemiga
Kasuta kõigi kandidaatide puhul sama andmejaotust, eeltöötlust ja mõõdikuid. Tabelandmetel on mõistlik stardikomplekt lineaarne mudel, otsustuspuu või juhumets ning gradientvõimendus. Scikit-learn pakub ka praktilist mudelivaliku kaarti, kuid rõhutab, et sobiva estimaatori leidmine on sageli ülesande raskeim osa. Scikit-learn: mudeli valikukaart
Kontrolli tulemust segmentide ja aja lõikes
Üks keskmine skoor võib peita nõrga tulemuse uutele klientidele, väikese käibega ettevõtetele, mõnele piirkonnale või värskeimatele andmetele. Vaata vigu segmentide kaupa ja eelista ajapõhist valideerimist, kui mudel hakkab ennustama tulevikku.
Vali lihtsaim mudel, mis täidab nõude
Keerukam mudel peab õigustama lisakulu: parem tulemus, piisav selgitatavus, vastuvõetav latentsus ja hallatav hooldus. Kui kahe mudeli tulemus on sisuliselt võrdne, on lihtsam mudel enamasti parem tootmisvalik.
Masinõppemudeli valiku kontrollnimekiri
Levinud vead
- Mudel valitakse populaarsuse, mitte ülesande ja andmete järgi.
- Testandmeid kasutatakse korduvalt hüperparameetrite häälestamiseks.
- Tabelandmetele rakendatakse kohe närvivõrku ilma lihtsa baasmudelita.
- Tasakaalustamata klasside puhul raporteeritakse ainult accuracy.
- Klasterdamise tulemust käsitletakse automaatselt „päris“ kliendisegmentidena.
- Tunnuse olulisust tõlgendatakse põhjusliku mõjuna.
- Treeningtulemust esitletakse tootmiskvaliteedina.
Milline mudel valida?
| Kui sinu olukord on selline… | Alusta siit | Võrdle järgmisena |
|---|---|---|
| Arvuline siht, vähe tunnuseid, selgitatavus oluline | Lineaarne regressioon | Ridge, Lasso, puumudel |
| Binaarne klass, vaja tõenäosusi ja selgitust | Logistiline regressioon | Juhumets, gradientvõimendus |
| Väike andmestik ja loomulik sarnasusmõõt | k-NN | Logistiline regressioon, SVM |
| Hõre tekst või kiire klassifitseerimise baas | Naiivne Bayes | Logistiline regressioon, lineaarne SVM |
| Keskmine, paljude tunnustega andmestik | SVM | Lineaarne mudel, gradientvõimendus |
| Loetavad reeglid on tähtsamad kui viimane täpsusprotsent | Madal otsustuspuu | Logistiline regressioon |
| Tabelandmed ja tugev üldotstarbeline baas | Juhumets | Gradientvõimendus |
| Tabelandmed ja ennustustäpsus on prioriteet | Gradientvõimendus | Juhumets, lineaarne baas |
| Sildistamata andmetest on vaja leida rühmi | k-means | Teised klasterdamismeetodid ja sisuline valideerimine |
| Pilt, heli, tekst või väga keerukas muster | Närvivõrk | Lihtsam baas ning eeltreenitud mudel |
Kokkuvõte
Need 12 mudelit ei ole edetabel. Igaüks neist teeb erinevaid eeldusi ja ostab oma tugevuse mingi hinna eest: lineaarne mudel annab selgitatavuse, k-NN lihtsa sarnasuse loogika, puu loetavad reeglid, ansambel stabiilsuse või täpsuse ning närvivõrk paindlikkuse keerukate andmete jaoks.
Praktiline valik algab ülesandest ja mõõdikust, liigub lihtsa baasmudeli kaudu mõne põhjendatud kandidaadini ning lõpeb kontrolliga uutel andmetel. Mudeli nimi on ainult üks osa süsteemist. Vähemalt sama tähtsad on andmete kvaliteet, valideerimisskeem, otsustuslävend, seire ja inimese võime tulemust sisuliselt hinnata.
Kui alles alustad, vali üks reaalne ja hästi piiritletud probleem. Tee esmalt lihtne mudel, mõõda selle vigu ja vaata, millistes andmelõikudes see ebaõnnestub. Alles siis on sul piisavalt infot, et keerukam mudel oleks teadlik otsus, mitte tehnoloogiline kaunistus.
Pane AI-projekti alus enne tööriista valikut paika
Buildrya tasuta Starter Kit aitab sõnastada kasutaja, probleemi, MVP ja kontrollitava töövoo enne, kui annad AI-le suure arendusülesande.
Ava tasuta Starter KitKristjan
Kirjutan praktiliselt AI, veebiarenduse, digitaalse tooteloome ja tehnoloogia kasutamise teemadel.
