Käisin kuulamas loengut teemal Higher Order Learning for Classification in Emergency Situations. Oli päris huvitav ja sain ilusti kõigest aru ka. Saavutatud tulemused olid neil päris head, aga nad olid kasutanud käsitsi tekstitöötlust eelnevalt kogu oma andmestiku peal, mis minu arusaamist mööda suuresti nullib ära automaatse tekstitöötluse idee. Samas on seni tegemist olnud puhtalt arvutiteaduse inimestega, seega neid erutabki rohkem algoritmi tulemus kui selle kasutatavus. Küsisin esinejalt peale loengut, et kas nad töötlemata andmete peal ka proovisid ja seal olevat tulemus olnud oluliselt kehvem.. nojah, mida oligi arvata.
Õige pisut sisust ka - nad kasutasid Naive Bayesi ja LDA-d, aga mitte lihtsalt sõnade sagedustega vaid arvutasid "2nd-order-distinct-path-count" iga sõna jaoks. Mis nende jaoks tähendas seda, et töödeldi kolme kaupa koos esinevate sõnade gruppe, mitte lihtsalt üksikuid sõnu. Või midagi taolist. Anyways, mul ei ole selle uue teadmisega eriti midagi peale hakata.
jätkub...
Google arendajad on teinud videoloengud R-ga päris algusest pihta hakkamise jaoks - playlist. hint, hint Valdar :)
näe veel jätkub...
Arutasime Kamiliga õhtul ühte teemat ja edaspidine jutt läheb keerulisemaks :) Aga mul on vaja see läbi kirjutada ja mõelda. Edasine on puhtalt mulle endale, läbi lugeda seda küll pole vaja, tõsiselt :)
Ühesõnaga LDA on topic modeling, ükskõik kuidas seda siis tehakse, tulemuseks on see, et iga dokumendi kohta tekib mingi hulk teemasid, millest see dokument räägib. Niipalju kui Kamil teab (ma ei ole ise uurinud), siis sellega tavaliselt piirdutakse. Millega meie tegeleme on LDA topicute põhjal ennustamine. Seal on mitu erinevat võimalikku lähenemist, aga sisuliselt võetakse ette uus dokument ja "mässitakse" (fold into) mudelisse, millega saadakse teada uue dokumendi kohta ka teemad. Pärast seda võib neid teemade järgi klassifitseerida või mida iganes nendega peale hakata, aga teemade jaotus on uue dokumendi kohta teada. Niipalju taustast.
Mida me teeme on soo ja vanuse ennustamine facebooki likede põhjal, kus LDA terminites dokument = inimene, dokumendis olevad sõnad = inimese liked. Tulemuseks on see, et me oskame (mingi tõenäosusega) öelda inimese soo ja vanuse selle põhjal mis talle facebookis meeldib.
Tänaõhtune idee tuli aga asjaolust, et me mingi kolmandiku kasutajate kohta ei tea nende vanust. Lihtsalt lineaarplaneerimist tehes tuleks need kõrvale jätta kuna nendega ei saa mudelis mingil viisil arvestada. LDA puhul aga võib nendega täiesti vabalt arvestada kuna teemade ehitamisel ei ole vahet kas me tema vanust (või muid parameetreid) teame või mitte. Meil tekkis küsimus, et kas sellest äkki midagi sõltub ja jõudsime ka vastuseni - sõltub (selles mõttes et võib sõltuda ja või mitte sõltuda). Sisuliselt on küsimus selles, et kas asjaolu "inimene ei avalda oma vanust facebookis" seostub sellega misasjad talle facebookis meeldivad või mitte. Selle seostumise olulisus avalduks siis läbi selle, et inimestele kes oma vanust ei avalda meeldivad piisavalt teistsugused asjad, et kogu populatsiooni pealt ehitatud LDA topic model tuleb erinev sellest kui need inimesed kõrvale jätta. Seda on ka lihtne vaadata, mida Kamil ka homme teeb - ehitab kahe erineva valimi pealt LDA mudelid ja võrdleb nende ennustusvõimet (10-fold crossvalidation või misiganes). Me võtame selle proovimise aluseks küll mingi facebookis kirjeldatud omaduse, aga mille avaldamine või varjamine võiks omada võimalikult suurt mõju sellele, mis isikule meeldib. Või midagi taolist.
Üldistatult on idee umbes selline, et LDA-ga topicute loomisel ennustamise jaoks peaks arvesse võtma seda, mille põhjal see topic model tehakse ja mida sellega ennustada tahetakse. Selle arvesse võtmise saaks lahendada näiteks kaalude lisamisega neile inimestele/dokumentidele, kes/mis omavad antud väärtust.
Peale mõningast edasiarutamist jõudsime põhiküsimuseni - et kui eesmärk on ennustavat mudelit ehitada, siis kas mingil puhul on mõtet LDA loomisse kaasata inimesi/kasutajaid/dokumente, kellel ennustatav väärtus puudub. Üks võimalik vastus on muidugi see, et kui on palju asju ennustada, siis on see LDA-de ehitamine tüütu, aga no ennustamisel üritatakse igat protsenti niikuinii välja pigistada, seega keerulisemal ja ähmasemal (aga ühel vs paljudel) mudelil pole selle koha pealt küll mingit eelist. Teine võimalik vastus on see, et kui kogu populatsiooni pealt tehtud LDA on väga heade (selgelt interpreteeritavate) teemadega, siis oleks hea seda kasutada... ja nüüd iseendale vastu vaieldes: kui sellisel juhul osale populatsioonist mingid teised kaalud anda ja uus LDA teha, siis võib tulemuseks olla midagi segast, mis enam üldse ei ole hea ja kogu asja mõttetuks muudab.
Viimase mõttena võiks kirja panna selle, et kogu teema puhul oleks huvitav hoopis see kui kogu populatsioonil tehtav topic model oleks mingi spetsiifilise väärtuse jaoks parem ennustaja kui ainult seda spetsiifilist väärtust omavate inimeste põhjal tehtud topic model. See tulemus oleks vist ainus asi, mis suunaks sinnapoole, et mudelisse kaasata andmeid, mida otseselt ennustamisel kasutada ei saa. Igatahes järgmine samm on testida ja siis saab edasi vaadata ja mõelda.
Mõtelda on mõnus :)