Andmete ettevalmistus
Õpieesmärgid
Pärast selle peatüki läbimist oskate:
- Selgitada, miks andmete ettevalmistus on oluline.
- Loetleda andmete puhastamise ja ettevalmistuse põhisammud.
- Mõista treening-, valideerimis- ja testandmestike erinevusi.
Miks on andmete kvaliteet oluline?
Iga tehisintellekti mudel vajab õppimiseks andmeid. Kui need andmed on korrast ära, siis ei saa ka mudel anda usaldusväärseid tulemusi. Seda olukorda kirjeldab hästi tuntud põhimõte:
„Garbage in, garbage out“ – kui sisendiks on „prügi“, tuleb väljundiks samuti „prügi“.
Näide: Kui treenida näotuvastuse mudelit hägusate või valesti märgistatud piltidega, ei õpi mudel inimeste nägusid eristama. Selline mudel võib anda väga valesid tulemusi, näiteks segi ajada erinevaid inimesi.
Andmete kvaliteet on seega sama tähtis kui mudeli arhitektuur või treeningmeetod. Käesolevas peatükis vaatame samm-sammult, kuidas toorandmetest saab hästi ettevalmistatud treeningmaterjal.
Andmete ettevalmistuse sammud
Andmete ettevalmistus on justkui köögis tooraine puhastamine ja ettevalmistamine enne söögi valmistamist. Kui algmaterjal on korras, saab ka lõpptulemus kvaliteetne.
Peamised sammud on järgmised:
- Andmete kogumine – Kust andmed üldse tulevad? Need võivad pärineda andmebaasidest, sensoritest, küsitlustest või avalikest andmekogudest.
- Andmete puhastamine – Eemaldatakse vead, duplikaadid ja puuduolevad väärtused. Siin pannakse alus mudeli töökindlusele.
- Tunnuste (feature) valik – Otsustatakse, millised andmete omadused on mudeli jaoks olulised. Näiteks inimese vanus ja pikkus võivad olla asjakohased, aga telefoninumber mitte.
- Normaliseerimine / standardiseerimine – Andmed viiakse samasse skaalasse, et mudel neid võrdselt käsitleks. Näiteks kui üks tunnus on mõõdetud meetrites ja teine tuhandetes eurodes, võib suur vahemik põhjustada moonutusi.
Andmete hankimine
TI treenimiseks tarvilike andmete kogumiseks on mitmeid viise, sõltuvalt vajaminevate andmete tüübist, TI mudeli eesmärgist ja olemasolevatest ressurssidest. Andmete hankimiseks TI treenimiseks kasutatakse sageli automaatset kogumist (kiire ja mahukas), käsitsi kogumist (täpne, kuid aeglane) või andmete ostmist (kiire, kuid kallis ja piiratud).
-
Automaatne kogumine tähendab andmete hankimist automatiseeritud süsteemide ja tööriistade abil, sageli suurel skaalal. Selle protsessi jaoks kasutatakse näiteks:
- veebilehitsemise roboteid (web scraping)
- internetti ühendatud IoT seadmeid või andureid, mis koguvad andmeid reaalajas.
- API-dest teabe küsimine: (nt. Twitter API, Google Maps API)
- ettevõttesisesed andmebaasid: (nt. CRM, ERP süsteemid erinevate tootmis- või müügiandmetega)
- sünteetiliste andmete genereerimine, mis simuleerivad reaalset maailma
- avalikult kättesaadavate andmekogude kasutamine on automaatse andmekogumise levinuim viis.
Mõned näited tasuta avalikest andmekogudest ja platvormidest:
- Kaggle Datasets: suurim andmeteaduse kogukond, kus on tuhanded andmekogud koos koodinäidete ja õpetustega.
- MNIST: käsitsi kirjutatud numbrite (0-9) andmekogum, mida peetakse tehisintellekti "Hello World" projektiks.
- Hugging Face Datasets: kaasaegne platvorm, mis pakub lihtsalt kasutatavaid keeletöötluse andmekogusid.
- UCI Machine Learning Repository: akadeemiline repositoorium sadade valideeritud andmekogudega erinevatest valdkondadest.
- European Union Open Data Portal: Euroopa Liidu ametlik portaal avalike andmete jagamiseks.
- ImageNet: suuremahuline piltide klassifitseerimise andmekogum miljonite märgistatud piltidega.
- CIFAR-10/100: väikesed värvipildid, mis on klassifitseeritud 10 või 100 kategooriasse.
- COCO (Common Objects in Context): piltide andmekogum objektide tuvastamise ja segmenteerimise jaoks.
-
Käsitsi kogumine on protsess, kus inimesed koguvad ja haldavad andmeid käsitsi, sageli väga detailse ja täpse lähenemisega. Seda meetodit kasutatakse tavaliselt siis, kui on vaja väiksemaid, kuid väga kvaliteetseid ja spetsiifilisi andmekogumeid.
- dokumentide digitaliseerimine
- andmete sisestamine
-
Andmete ostmine tähendab valmis andmekogumite soetamist kolmandatelt osapooltelt, näiteks andmeplatvormidelt või ettevõtetelt, mis müüvad spetsiaalselt kogutud või loodud andmeid. Need võivad olla üldise otstarbega või spetsiaalselt teatud valdkonna jaoks koostatud.
Kokkuvõttes kasutatakse tehisintellekti treenimisel sageli nende meetodite kombinatsiooni, et luua mudelite jaoks vajalikud andmekogumid. Meetodi valik sõltub nii projekti eesmärkidest, ressurssidest kui ka andmete kättesaadavusest ja kvaliteedinõuetest.
Andmete puhastamine
Andmete puhastamine tähendab vigade kõrvaldamist ja usaldusväärse struktuuri loomist. Sageli öeldakse, et 80% andmeteadlase ajast kulub andmete puhastamisele ja alles ülejäänud aeg mudelite treenimisele.
Kolm tüüpilist probleemi:
Probleem | Näide | Lahendus |
---|---|---|
Puuduolevad väärtused | Andmeväljas „vanus“ on tühjad lahtrid | Täitmine keskmise väärtusega või ridade eemaldamine |
Duplikaadid | Sama inimene esineb andmestikus mitu korda | Duplikaatide eemaldamine |
Eristuvad väärtused (outliers) | Temperatuurinäidud: 20°C, 22°C, 800°C | Kontrollida, kas väärtus on vigane, ja eemaldada või parandada |
Eeltöötlus ei tohi moonutada andmete põhilist struktuuri ega jaotust. Kui andmestik on puhastatud, saab selle abil mudelit treenima hakata.
Andmete märgendamine
Juhendatud õppimise puhul on vajalik andmete märgistamine, et mudel saaks õppida seoseid andmete ja nende siltide vahel.
- Käsitsi märgendamine: Inimesed märgistavad andmed, näiteks lisavad annotatsiooni, sildistavad objektid pildil või transkribeerivad helifaili.
- Poolautomaatne märgistamine (Active Learning): TI mudel õpib pidevalt uusi andmeid ja pakub välja märgised, mida inimesed seejärel kontrollivad ja vajadusel parandavad. Mudel õpib oma vigadest ja paraneb pidevalt.
- Automaatne märgistamine (Rule-based or Heuristic): Andmeid märgistatakse automaatselt reeglite ja mustrite alusel.
- Andmete genereerimine (Synthetic Data): Genereeritakse andmeid, mis esindavad reaalset maailma, kuid on täielikult kontrollitavad ja automaatselt märgistatud.
- Eelnevalt märgistatud andmekogumid (Public Datasets): Paljud organisatsioonid ja teadlased jagavad eelnevalt märgistatud andmeid, et edendada TI uurimistööd.
Andmestike jaotamine: treening, valideerimine, test
Hea mudel peab suutma teha häid ennustusi ka uute andmete kohta, mitte ainult nende kohta, mida ta treenimisel nägi. Selleks jagatakse andmestik kolmeks osaks:
- Treeningandmestik (Training Set) – suurim osa andmetest, mille pealt mudel õpib mustreid.
- Valideerimisandmestik (Validation Set) – andmed, millega kontrollitakse, kas mudel töötab treenimise ajal hästi, ning valitakse sobivad parameetrid.
- Testandmestik (Test Set) – täiesti uued andmed, mille abil hinnatakse mudeli lõplikku täpsust.
Seda jaotust võib võrrelda eksamiks õppimisega: treening on nagu kodus harjutamine, valideerimine nagu proovieksam ja testandmestik nagu päris eksam – tulemus näitab, kas oled päriselt valmis.
Kokkuvõte
Selles peatükis õppisime, et:
- Mudeli kvaliteet sõltub andmete kvaliteedist.
- Andmete ettevalmistus sisaldab kogumist, puhastamist, tunnuste valikut ja normaliseerimist.
- Puhastamisel lahendatakse probleemid nagu puuduolevad väärtused, duplikaadid ja eristuvad väärtused.
- Õiglase tulemuse saamiseks tuleb andmestik jagada treening-, valideerimis- ja testosadeks.
Seega on andmete ettevalmistus justkui vundament, millele kogu tehisintellekti mudel toetub. Ilma tugeva vundamendita ei püsi ka kõige parem arhitektuur paigal.