Satunnaismetsä — tilastollinen algoritmi: määritelmä ja käyttö klusteroinnissa
Satunnaismetsä on tilastollinen algoritmi, jota käytetään yleensä luokitteluun ja regressioon, mutta jota voidaan soveltaa myös tietojen pisteiden klusterointiin. Se rakentuu monesta päätöspuusta (ensemble), ja sen keskeinen idea on yhdistää useiden puiden ennusteet vakaamman ja usein tarkemman lopputuloksen saamiseksi. Algoritmi käyttää bootstrap-otantaa (bagging) ja satunnaista muuttujavalintaa solmujen jakokohdissa, mikä tekee siitä robustin monimutkaisia ja korkeulotteisia aineistoja käsiteltäessä. Kun datajoukko on suuri ja/tai muuttujia on paljon, perinteinen klusterointi voi olla hankalaa – satunnaismetsä antaa vaihtoehdon laskemalla havaintojen välisiä samankaltaisuuksia (proximity), joiden perusteella voidaan muodostaa klustereita tai arvioida todennäköisyyksiä kuulumisesta tiettyyn ryhmään.
Mitä satunnaismetsä tarkoittaa käytännössä?
Satunnaismetsä koostuu useista päätöspuista, jotka rakennetaan eri satunnaisotoksille ja eri muuttujajoukkojen avulla. Jokainen puu ennustaa luokan tai arvon, ja metsän ennuste saadaan useimmiten enemmistöäänestyksellä (luokittelu) tai keskiarvona (regressio). Satunnaismetsä tarjoaa myös:
- muuttujien tärkeysmittarit (mitä muuttujia kannattaa pitää merkityksellisinä),
- out-of-bag (OOB) -virhearvion ilman erillistä testijoukkoa,
- samankaltaisuusmatriisin (proximity), jonka avulla voidaan arvioida kuinka usein kaksi havaintoa päätyy samaan puun lehtisolmuun — tätä käytetään klusteroinnissa.
Miten satunnaismetsää käytetään klusteroinnissa?
Satunnaismetsä ei ole perinteinen klusterointialgoritmi, mutta sitä voidaan hyödyntää klusteroinnissa seuraavilla tavoilla:
- Proximity-menetelmä: rakennetaan satunnaismetsä (yleensä ilman etukäteen annettuja ryhmätunnisteita tai käyttämällä synteettistä dataa), lasketaan havaintojen välinen proximity-matriisi (prosenttiosuus puista, joissa kaksi havaintoa ovat samassa lehdessä). Proximity-arvot muutetaan etäisyydeksi (esim. 1 − proximity) ja käytetään tavallista etäisyyteen perustuvaa klusterointimenetelmää (hierarkkinen klusterointi, k-means marginaalissa, jne.).
- Unsupervised Random Forest (URF): menetelmä, jossa luodaan synteettinen data tai muita epävalvottuja strategioita ja sovelletaan satunnaismetsää luomaan samankaltaisuuksia alkuperäisten havaintojen välillä.
- Pehmeä jäsenyys tai todennäköisyudet: vaikka RF tuottaa selkeitä luokkaluokituksia supervisoidussa oppimisessa, proximity- tai etäisyysperusteisissa lähestymistavoissa voidaan laskea todennäköisyyden kaltaisia mittareita ryhmäjäsenyydelle normalisoimalla samankaltaisuuksia tai käyttämällä pehmeitä klusterointimenetelmiä proximity-matriisista.
Edut
- Toimii hyvin korkeulotteisessa datassa ja sekoitettujen (numeeristen ja kategoristen) muuttujien kanssa.
- Robusti ylioppimista vastaan, usein vähän parametrien hienosäätöä vaativa.
- Tarjoaa muuttujien tärkeyden, mikä auttaa ymmärtämään klustereiden taustalla olevia tekijöitä.
- Proximity-matriisi antaa joustavan tavan mitata havaintojen samankaltaisuutta ilman suoraa etäisyyspohjaista skaalausta.
Rajoitukset ja huomioitavaa
- Satunnaismetsä ei ole suoraan klusterointimenetelmä — useimmiten tarvitaan lisävaihe (etäisyyden muunnos + klusterointialgoritmi).
- Suuret aineistot ja monet puut voivat vaatia paljon laskentatehoa ja muistia.
- Tulokset voivat riippua hyperparametreista (puun määrä, mtry, puun syvyys). Erityisesti proximity-arvot saattavat vaihdella parametrien mukaan.
- Vähemmän läpinäkyvä kuin yksittäiset päätöspuut — selitysvoima on heikompi ilman lisäanalyysiä.
Käytännön vinkkejä
- Aloita riittävällä määrällä puita (esim. 500–2000) ja tarkasta OOB-virhe vakauden arvioimiseksi.
- Mittaa proximity ja muunna se etäisyydeksi ennen klusterointia: usein käytetty muunnos on d(i,j) = 1 − proximity(i,j).
- Käytä hierarkkista klusterointia tai MDS:ää (multidimensional scaling) proximity-matriisista, jotta voit visualisoida klustereita.
- Hyödynnä muuttujien tärkeyttä tulkinnassa: tarkista, mitkä muuttujat erottelevat löydetyt klusterit parhaiten.
- Tarkista tulosten stabiilisuus eri satunnaissiementen ja hyperparametriarvojen kohdalla.
Yhteenvetona: satunnaismetsä on monipuolinen ja tehokas työkalu, joka soveltuu ensisijaisesti luokitteluun ja regressioon, mutta sen proximity-ominaisuus tekee siitä myös käyttökelpoisen epävalvotussa analyysissä ja klusteroinnissa. Oikein käytettynä se auttaa löytämään rakenteita suurista ja monimuotoisista aineistoista sekä antaa lisätietoa muuttujien merkityksestä klustereiden muodostumisessa.
Algoritmin vaiheet
Näin klusterointi tapahtuu.
- Koko aineistosta otetaan osajoukko (harjoitusjoukko).
- Algoritmi ryhmittelee tiedot ryhmiin ja alaryhmiin. Jos piirtäisit viivoja alaryhmän datapisteiden välille ja viivoja, jotka yhdistävät alaryhmät ryhmään jne., rakenne muistuttaisi hieman puuta. Tätä kutsutaan päätöspuuksi.
- Ohjelma valitsee klusterin/puun/dendrogrammin jokaisessa jaossa tai solmussa muuttujat satunnaisesti sen arvioimiseksi, onko datapisteillä läheinen suhde vai ei.
- Ohjelma tekee useita puita eli metsän. Jokainen puu on erilainen, koska jokaisessa puun osassa muuttujat valitaan satunnaisesti.
- Sen jälkeen lopun tietokokonaisuuden (ei harjoitusjoukon) avulla ennustetaan, mikä metsän puu tekee parhaan luokituksen datapisteistä (tietokokonaisuudessa oikea luokitus on tiedossa).
- Algoritmin tuloksena näytetään puu, jolla on suurin ennustuskyky.
Algoritmin käyttäminen
Satunnaismetsäalgoritmissa kasvatettavien puiden lukumäärä (ntree) ja kussakin jaossa käytettävien muuttujien lukumäärä (mtry) voidaan valita käsin; esimerkkiasetukset ovat 500 puuta ja 71 muuttujaa.