Buildrya
Tehisintellekt

12 masinõppemudelit lihtsalt selgitatud

Praktiline eestikeelne teejuht 12 levinud masinõppemudeli, nende tugevuste, piirangute, hindamismõõdikute ja õige mudeli valiku juurde.

KristjanUuendatud 5. august 202612 min lugemist
Kaartidest koostatud masinõppemudelite valikukaart töölaual

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üüpTüüpiline väljundNäide
Kui suur või kui palju?RegressioonArvJärgmise kuu müük eurodes
Millisesse klassi see kuulub?KlassifitseerimineKlass või tõenäosusKas klient lahkub järgmise 30 päeva jooksul?
Millised vaatlused on omavahel sarnased?KlasterdamineRühma tunnusKliendisegmendid ostukäitumise järgi
Kuidas õppida keerukat seost pildist, helist või tekstist?Närvivõrgupõhine õpeArv, klass, vektor või jadaDefekti 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.

Kolm paberile joonistatud regressioonimudeli kontseptsiooni

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.

Neli paberkaartidel kujutatud klassifitseerimise otsustuspiiri

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.

Otsustuspuu, juhumetsa ja gradientvõimenduse kontseptsioonid paberkaartidel

Ü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-keskmiste klastrid ja kihiline närvivõrk kõrvuti

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.
  • 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

01

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.

02

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

03

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.

04

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

05

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.

06

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

0/10 tehtud

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 siitVõrdle järgmisena
Arvuline siht, vähe tunnuseid, selgitatavus olulineLineaarne regressioonRidge, Lasso, puumudel
Binaarne klass, vaja tõenäosusi ja selgitustLogistiline regressioonJuhumets, gradientvõimendus
Väike andmestik ja loomulik sarnasusmõõtk-NNLogistiline regressioon, SVM
Hõre tekst või kiire klassifitseerimise baasNaiivne BayesLogistiline regressioon, lineaarne SVM
Keskmine, paljude tunnustega andmestikSVMLineaarne mudel, gradientvõimendus
Loetavad reeglid on tähtsamad kui viimane täpsusprotsentMadal otsustuspuuLogistiline regressioon
Tabelandmed ja tugev üldotstarbeline baasJuhumetsGradientvõimendus
Tabelandmed ja ennustustäpsus on prioriteetGradientvõimendusJuhumets, lineaarne baas
Sildistamata andmetest on vaja leida rühmik-meansTeised klasterdamismeetodid ja sisuline valideerimine
Pilt, heli, tekst või väga keerukas musterNärvivõrkLihtsam 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 Kit
K

Kristjan

Kirjutan praktiliselt AI, veebiarenduse, digitaalse tooteloome ja tehnoloogia kasutamise teemadel.

Tasuta kursus

Alusta enne koodi küsimist tasuta kursusest

Pane oma AI-veebiprojekti idee, projektikaart, MVP-leht, starter prompt ja töövoog 4 mooduli jooksul paika.