Feature Selection in Machine Learning

Machine Learning

Seuraava

Follow

heinäkuu 10, 2020 – 7 min lukea

Photo by Louis Hansel @shotsoflouis on Unsplash

Todellisuudessa, data ei ole niin puhdasta kuin usein oletetaan. Juuri siinä kohtaa kaikki tiedonlouhinta ja datan käsittely tulee kyseeseen; tarkoituksena on rakentaa oivalluksia datasta, joka on jäsennelty kyselyiden avulla ja joka nyt todennäköisesti sisältää tiettyjä puuttuvia arvoja ja jossa on mahdollisia kuvioita, joita paljain silmin ei voi havaita. Tässä kohtaa koneoppiminen astuu kuvaan:

Algoritmin syvyyden ymmärtämiseksi on luettava läpi datan muuttujat ja se, mitä nämä muuttujat edustavat. Tämän ymmärtäminen on tärkeää, koska sinun on todistettava tuloksesi datan ymmärtämisen perusteella. Jos datasi sisältää viisi tai jopa viisikymmentä muuttujaa, oletetaan, että pystyt käymään ne kaikki läpi. Mutta entä jos se sisältää 200 muuttujaa? Sinulla ei ole aikaa käydä läpi jokaista muuttujaa. Tämän lisäksi erilaiset algoritmit eivät toimi kategoristen tietojen kanssa, joten sinun on muunnettava kaikki kategoriset sarakkeet kvantitatiivisiksi muuttujiksi (ne näyttävät kvantitatiivisilta, mutta mittarit perustelevat, että ne ovat kategorisia), jotta voit työntää ne malliin. Tämä lisää muuttujien määrää datassasi, ja nyt sinulla on 500 muuttujaa. Miten käsittelet niitä? Saatat ajatella, että ulottuvuuksien vähentäminen on vastaus heti. Dimensiota pienentävät algoritmit vähentävät ulottuvuuksia, mutta tulkittavuus ei ole kovin hyvä. Entä jos kerron sinulle, että on olemassa muitakin tekniikoita, joilla voidaan poistaa piirteitä, ja jäljelle jääneet piirteet olisi silti helppo ymmärtää ja tulkita?

Riippuen siitä, onko analyysi regressio- vai luokittelupohjainen, piirteiden valintatekniikat voivat olla erilaisia/vaihtelevia, mutta yleinen ajatus siitä, miten se toteutetaan, pysyy samana.

Tässä on muutamia ominaisuuksien valintatekniikoita tämän ongelman ratkaisemiseksi:

Muuttujat, jotka korreloivat vahvasti keskenään, antavat saman informaation mallille, ja näin ollen on tarpeetonta sisällyttää niitä kaikkia analyysiimme. Esim: Jos tietokokonaisuus sisältää ominaisuuden “Selausaika” ja toisen ominaisuuden “Selauksen aikana käytetty data”, voit kuvitella, että nämä kaksi muuttujaa korreloivat jossain määrin, ja näkisimme tämän korkean korrelaation, vaikka ottaisimme puolueettoman otoksen aineistosta. Tällaisessa tapauksessa vaadimme, että vain toinen näistä muuttujista on mallissa ennustajana, koska jos käytämme molempia, malli sovittuu liikaa ja muuttuu vinoutuneeksi tämän tietyn ominaisuuden (näiden ominaisuuksien) suhteen.

Photo by Akin Cakiner on Unsplash

P-arvot

Algoritmeissa, kuten lineaarinen regressio, alustava tilastollinen malli on aina hyvä idea, sillä se auttaa havainnollistamaan piirteiden tärkeyttä niiden P-arvojen avulla, jotka on saatu kyseisellä mallilla. Asetettaessa merkitsevyystaso tarkistetaan saadut P-arvot, ja jos tämä arvo on pienempi kuin merkitsevyystaso, se osoittaa, että piirre on merkitsevä, eli muutos tässä arvossa osoittaa todennäköisesti muutoksen kohteen arvossa.

Photo by Joshua Eckstein on Unsplash

Edelleenvalinta

Edelleenvalinta (forward selection) on tekniikka, johon liittyy vaiheittaisen regression käyttö. Mallin rakentaminen aloitetaan siis nollapisteestä eli tyhjästä mallista, ja sitten jokaisella iteraatiokerralla lisätään muuttuja siten, että rakennettava malli paranee. Kussakin iteraatiossa lisättävä muuttuja määritetään sen merkitsevyyden perusteella, ja se voidaan laskea käyttämällä erilaisia mittareita, joista yleisin on P-arvo, joka saadaan alkuperäisestä tilastollisesta mallista, jossa käytetään kaikkia muuttujia. Toisinaan Forward Selection voi aiheuttaa ylisovituksen, koska se voi lisätä malliin voimakkaasti korreloivia muuttujia, vaikka ne antaisivat malliin samoja tietoja (mutta malli osoittaa parannusta).

Photo by Edu Grande on Unsplash

Backward Elimination

Backward Eliminationiinkin kuuluu vaiheittainen ominaisuuksien valinta, päinvastaisella tavalla kuin Forward Selectioniin. Tässä tapauksessa alkuperäisessä mallissa on aluksi kaikki riippumattomat muuttujat, ja nämä muuttujat poistetaan yksi kerrallaan (yksi per iteraatio), jos ne eivät anna arvoa vasta muodostetulle regressiomallille kussakin iteraatiossa. Tämäkin perustuu alkuperäisen tilastollisen mallin avulla saatuihin P-arvoihin, ja näiden P-arvojen perusteella ominaisuudet poistetaan mallista. Myös tätä menetelmää käytettäessä on epävarmuutta voimakkaasti korreloivien muuttujien poistamisessa.

Photo by Markus Spiske on Unsplash

Rekursiivinen piirteiden eliminointi (RFE, Recursive Feature Elimination)

RFE:tä käytetään laajasti tekniikkaan/algoritmiin, jonka avulla saadaan valittua täsmällinen määrä merkitseviä piirteitä, joskus selittääkseen tietyn määrän liiketoimintaan vaikuttavia “tärkeimpiä” piirteitä, ja joskus menetelmänä, jolla hyvin suuri määrä piirteitä (vaikkapa noin 200-400) vähennetään vain niihin, jotka luovat edes vähän vaikutusta malliin, ja loput poistetaan. RFE käyttää luokitteluun perustuvaa järjestelmää, joka näyttää tietokokonaisuuden piirteiden sijat, ja näitä sijoja käytetään piirteiden poistamiseen rekursiivisessa silmukassa niiden välisen kollineaarisuuden ja tietenkin näiden piirteiden merkityksen perusteella mallissa. Sen lisäksi, että RFE asettaa piirteet paremmuusjärjestykseen, se voi näyttää, ovatko nämä piirteet tärkeitä vai eivät, jopa valitun piirteiden lukumäärän osalta (koska on hyvin mahdollista, että valitsemamme määrä ei välttämättä edusta optimaalista määrää tärkeitä piirteitä ja että optimaalinen määrä piirteitä voi olla enemmän tai vähemmän kuin käyttäjän valitsema määrä).

Kuva Andrew Seaman on Unsplash

Kartoitettu ominaisuuksien tärkeys

Kun puhumme koneoppimisalgoritmien tulkittavuudesta, keskustelemme yleensä lineaarisesta regressiosta (koska voimme analysoida piirteen tärkeyttä P-arvojen avulla) ja päätöspuusta (joka käytännössä näyttää piirteen tärkeyden puun muodossa, joka näyttää myös tärkeyshierarkian), mutta toisaalta käytämme usein muuttujien tärkeyskaaviota muuttujien ja niiden “tärkeyden määrän” kuvaamiseen algoritmeissa, kuten Random Forest -luokittimessa, Light Gradient Boosting Machine -luokittimessa ja XG Boost -luokittimessa. Tämä on erityisen hyödyllistä silloin, kun ominaisuuksien tärkeys on esitettävä hyvin jäsenneltynä analysoitavalle yritykselle.

Kuva Robert Anasch on Unsplash

Regularisointi

Regularisoinnilla seurataan kompromissin tekemistä harhapainotuksen (bias) ja varianssin (varianssin) välillä. Harha kertoo, kuinka paljon malli on ylisovittunut harjoitusdata-aineistoon. Varianssi kertoo, kuinka erilaiset olivat harjoitus- ja testausdata-aineistoissa tehdyt ennusteet. Ihannetapauksessa sekä harhaa että varianssia on pienennettävä. Säännöstely pelastaa tilanteen! Regularisointitekniikoita on pääasiassa kahdenlaisia:

L1 Regularisointi – Lasso: Lasso rankaisee mallin beetakertoimia muuttaakseen niiden merkitystä mallissa ja saattaa jopa maadoittaa ne (muuttaa ne nolliksi, eli periaatteessa poistaa nämä muuttujat lopullisesta mallista). Yleensä Lassoa käytetään, kun havaitaan, että aineistossasi on suuri määrä muuttujia, ja sinun on poistettava osa niistä, jotta ymmärrät paremmin, miten tärkeät piirteet vaikuttavat malliisi (eli ne piirteet, jotka Lasso lopulta valitsee ja määrittää niiden merkityksen).

L2 Regularization – Ridge: Ridgen tehtävänä on säilyttää kaikki muuttujat, eli käyttää kaikkia muuttujia mallin rakentamiseen, ja samalla määrittää niille tärkeys siten, että mallin suorituskyky paranee. Ridge on hyvä valinta silloin, kun muuttujien määrä aineistossa on vähäinen ja näin ollen kaikkia näitä muuttujia tarvitaan tulkitsemaan saatuja oivalluksia ja ennustettuja tavoitetuloksia.

Koska Ridge pitää kaikki muuttujat koskemattomina ja Lasso tekee parempaa työtä tärkeyden antamisessa muuttujille, kehitettiin molempien yhdistelmä, jota kutsutaan nimellä Elastic-Net (Elastinen-verkko) algoritmin kehittämiseksi yhdistämällä Ridgen ja Lasson parhaat ominaisuudet. Elastic-Netistä tulee siten ihanteellinen valinta.

Kuva: Hunter Harritt on Unsplash

Vastaa

Sähköpostiosoitettasi ei julkaista.