Friday, August 2, 2013

Day 33

Mitte midagi ei saa aru enam. Asi läheb nagu iga külje pealt jõhkralt üle pea. Mul on nüüd 108 juhtumit, mille kohta ma midagi tean. Kõigi juhtumite jaoks on välja arvutatud hulk erinevaid statistikuid. Minu ülesandeks on nende statistikute pealt välja nuputada, et kas osa neist on tsüklilised ja kui, siis millise tsükliga. Või kui see ei õnnestu, siis on võimalik veel mingi hulk erinevaid statistikuid ehitada ja uuesti sama asja kallale asuda. Kõige selle juures on mul tegelikult iga juhtumi kohta teada vähemalt osad tsüklid. Kokkuvõttes ülesanne seisneb selles, et ehitada mudel, mis ühte (või mitut) statistikut kasutades mu praeguseid andmeid kirjeldaks.

Esimene kuu siin olles ma tegelesin ja ehitasin ka mudeleid, mis andmeid kirjeldaks, et neid saaks siis edaspidi ennustamiseks kasutada. Alguses oli tegemist lihtsate lineaarsete mudelitega. Näitlikustamiseks võtame, et meil on teada, et mehed on pikemad kui naised. Kui nüüd antakse meile teada ainult inimese pikkus (ja päritolu), siis saab ennustada tema sugu - kui isiku pikkus on lähemal (sama päritolu) keskmisele mehe pikkusele kui keskmisele naise pikkusele, siis võime mingi tõenäosusega väita, et tegemist on mehega. Toodud näite puhul on mudeliks midagi sellist: "kui pikkus on suurem kui 170cm, siis mees, muidu naine". Ehk siis leitakse kahe (või suvalise arvu) gruppide jaoks mingi väärtus ja nende põhjal otsustatakse uuritava väärtuse kohta midagi. Tegevust nimetatakse klassifitseerimiseks ja seda on võimalik jube paljudel viisidel teha.

Mu viimaste (ja järgnevate) päevade tegevuse eesmärk on olnud mudeli leidmine oma treening-andmete jaoks. Keerukus seisneb antud juhul selles, et andmetes on väga palju müra, mis tuleneb jällegi suuresti sellest, et mingite tekstide põhjal automaatselt kirjutaja emotsionaalset seisundit hinnata (see ongi sentiment analysis) on raske.

Aga huvitav on. Vahepeal ajab küll närvi, et on nii palju asju millest ma üldse aru ei saa, teisalt jällegi õppida on tore.

Täna käisime Kamiliga koos kuulamas ühte loengut erinevatest vigadest, mis natural language processingus (NLP) esinevad. Esimene slaid oli ainult lühendid, millest kumbki meist mitte ühtegi ei teadnud. Edasi läks aga arusaadavamaks ja kokkuvõte oli see, et erinevad algoritmid astuvad erinevas kohas ämbrisse ja neid kohti on võimalik programmiliselt hinnata. Ühtlasi sai selgeks kolmapäevase ja tänase loengu kokkuvõttes, et see teema mulle otsest ja laialdast huvi ei paku uurimiseks. Sentiment analysis, millega ma praegu möllan on küll osa NLP-st, aga pigem rohkem sinna peale ehitatud. NLP, nagu need vennad neis loengutes seda mõtlevad, on pigem teksti parsimine ja sellega seonduv.