Kas yra `dimensijų mažinimas`

Nejaugi jų daugiau, negu trys ?

Įžanga

Niekad negalvojau, kad galėsiu sau užduoti panašios krypties klausimo, tačiau, tai vienas iš svarbiausių klausimų tiek Statistikoje, tiek Signalų apdorojime ir jį būtina spręsti.

Dimensijų mažinimas

Natūralūs klausimai perskaičius skyrelio antraštę – kas aplamai yra dimensijos ir kodėl jų būna daug? Kam aplamai reikalingas dimensijų mažinimas?

Kas gi yra dimensijos? Pirmiausiai Įsivaizduokite erdvę. Ir pradėkime nuo paprasčiausio fizikinio kūno – taško. Jį aprašyti nereikia visiškai jokių dimensijų. Sakoma, kad jis egzistuoja nulinėje dimensijoje. Vis dar toje pačioje erdvėje įdėkime naują tašką ir sujunkime tą tašką su ankstesniu. Ką gi mes turime – linija. Linija turi priklausomybę nuo ilgio, vadinasi liniją mes galime aprašyti viena dimensija. Dabar ištempkime tą liniją statmenai jos ilgiui. Gausime plokštumą, visų dviejų dimensijų plokštumą. Dabar ta plokštumą mes galime aprašyti ilgiu ir pločiu. Ištempkime mūsų plokštumą statmenai jos pagrindui. Gausime trijų dimensijų kūną, kurį galime aprašyti ilgiu, pločiu ir net aukščiu.

Iš tokio klasikinio pavyzdžio galime prieiti prie išvados, kad dimensijų skaičius – tai parametrų skaičius, kuriuo mes galime aprašyti mus dominančią erdvę. Jeigu mes norime kuo tiksliau ir kuo nuodugniau aprašyti erdvę – mes pasitelkiam vis daugiau parametrų jai aprašyti. Iš čia ir kyla besaikis dimensijų skaičius.

Kodėl mums reikalingas dimensijų mažinimas? Atsakymas yra paprastas – pabandykite įsivaizduoti 120 dimensijų erdvę. Asmeniškai pats galiu įsivaizduoti tik keturias dimensijas. Iš turimo ribotumo kyla būtinybė sumažinti dimensijų skaičių išsaugant erdvės savybes.

Logiškas ir kvailas atsakymas galėtų būti – “Numetam nereikalingas dimensijas ir paliekam tik pirmas tris”. Deja, tačiau taip mes galime pamatyti tik priklausomumą tarp pirmų trijų parametrų. Dimensijų mažinimas realiai sukuria naujus sistemos parametrus, pasiremiant ant senųjų ir išspaudžia mūsų duomenis į naują `savybių erdvę`.

Trumpai aptarkime dvi paprasčiausias ir dažniausiai naudojamas technikas.

Principinė komponentų analizė

PCA ( Principal Component Analysis, “Principinė komponentų analizė” ) tai yra dimensijų mažinimo technika, paremta kovariacijos matrica. PCA sukinėja kovariacijos matricą ir ieško kryptį, kurioje esama didžiausia duomenų variacija, t.y. kuria kryptimi duomenų yra daugiausiai. Po to, kai tokia kryptis buvo rasta, PCA paima statmenį rastai krypčiai ir ieško kuria kryptimi duomenų variacija didžiausia. Procesas kartojasi priklausomai nuo dimensijų skaičiaus.

Jeigu duomenys yra trimačiai – tuomet tokios kryptis bus trys, jeigu duomenys turi 120 dimensijų – krypčių bus tiek pat – 120. Įdomiausia tai, kad nors PCA ir paliko tiek pat dimensijų – realiai visi duomenys yra projektuojami tik pirmose dimensijose, t.y. didžiausią duomenų priklausomybę erdvėje galime pamatyti pirmose dimensijose.

Analizė linijiniu diskriminantu

LDA ( Linear Discriminant Analysis, “Analizė linijinių diskriminantu” ) tai yra dar viena dažai naudojama dimensijų mažinimo technika, paremta duomenų matricos vidurkiu skaičiavimu. LDA paima duomenų sritis, paskaičiuoja jų didžiausio vidurkio tašką ir sukalioja duomenis iki tol, kol vidurkiai nebus atskirti per maksimalų galima atstumą.

Pavyzdys

Užteks kalbų, metas ir pažiūrėti į kažką.

Tarkime mes turime du kiaušinius trijose dimensijose, kurie yra pasiskirstę pagal Gausą.

Po PCA atlikimo, PCA mums gražina kryptis, kuriomis yra didžiausia variacija.

Dabar mes jau turime kryptis, todėl galime suprojektuoti mūsų duomenis gautų krypčių atžvilgiu. Taigi, dviejuose dimensijose mūsų duomenys atrodo taip.

O taip mūsų duomenys atrodys vienoje dimensijoje.

Išvados

Dimensijų mažinimo klausimas liks aktualus visuomet. Egzistuoja labai daug būdų jų mažinimui. Paprastumo dėlei šiame įraše paminėjau tik du paprasčiausius linijinius būdus, tačiau egzistuoja ir gan sėkmingai dirba ir ne-linijiniai dimensijų mažinimo būdai, reikalaujantys žymiai daugiau skaičiavimo resursų.

Dėkojimai HSG-IMIT ir VGTU URD.