Odabir značajki u strojnom učenju

Hej Habr!

Mi u Reksoftu preveli smo članak na ruski Odabir značajki u strojnom učenju. Nadamo se da će biti od koristi svima koje ova tema zanima.

U stvarnom svijetu podaci nisu uvijek čisti kao što poslovni korisnici ponekad misle. Zbog toga su rudarenje podataka i svađa s podacima traženi. Pomaže identificirati nedostajuće vrijednosti i obrasce u podacima strukturiranim upitima koje ljudi ne mogu identificirati. Kako biste pronašli i upotrijebili te obrasce za predviđanje rezultata pomoću otkrivenih odnosa u podacima, strojno učenje je korisno.

Da biste razumjeli bilo koji algoritam, trebate pogledati sve varijable u podacima i shvatiti što te varijable predstavljaju. Ovo je ključno jer se razlog za rezultate temelji na razumijevanju podataka. Ako podaci sadrže 5 ili čak 50 varijabli, možete ih sve ispitati. Što ako ih bude 200? Tada jednostavno neće biti dovoljno vremena za proučavanje svake pojedine varijable. Štoviše, neki algoritmi ne rade za kategoričke podatke i tada ćete morati pretvoriti sve kategoričke stupce u kvantitativne varijable (možda izgledaju kvantitativno, ali metrika će pokazati da su kategorički) da biste ih dodali u model. Tako se broj varijabli povećava, a ima ih oko 500. Što sada učiniti? Moglo bi se pomisliti da bi odgovor bio smanjenje dimenzionalnosti. Algoritmi za smanjenje dimenzionalnosti smanjuju broj parametara, ali imaju negativan utjecaj na interpretabilnost. Što ako postoje druge tehnike koje eliminiraju značajke, a preostale čine lakima za razumijevanje i tumačenje?

Ovisno o tome temelji li se analiza na regresiji ili klasifikaciji, algoritmi odabira značajki mogu se razlikovati, ali glavna ideja njihove implementacije ostaje ista.

Visoko korelirane varijable

Varijable koje su međusobno visoko korelirane daju iste informacije modelu, tako da nema potrebe koristiti ih sve za analizu. Na primjer, ako skup podataka sadrži značajke "Vrijeme na mreži" i "Korišteni promet", možemo pretpostaviti da će one biti donekle povezane i vidjet ćemo jaku korelaciju čak i ako odaberemo nepristran uzorak podataka. U ovom slučaju, u modelu je potrebna samo jedna od ovih varijabli. Ako koristite oboje, model će biti previše opremljen i pristran prema jednoj posebnoj značajki.

P-vrijednosti

U algoritmima kao što je linearna regresija, početni statistički model uvijek je dobra ideja. Pomaže pokazati važnost značajki kroz njihove p-vrijednosti koje su dobivene ovim modelom. Nakon što smo postavili razinu značajnosti, provjeravamo dobivene p-vrijednosti, a ako je bilo koja vrijednost ispod navedene razine značajnosti, tada se ovo obilježje proglašava značajnim, odnosno promjena njegove vrijednosti će vjerojatno dovesti do promjene vrijednosti cilj.

Izravan odabir

Odabir unaprijed je tehnika koja uključuje primjenu postupne regresije. Izgradnja modela počinje s potpunom nulom, odnosno praznim modelom, a zatim se svakom iteracijom dodaje varijabla koja čini poboljšanje modela koji se gradi. Koja će se varijabla dodati modelu određena je njezinom značajnošću. To se može izračunati pomoću različitih metrika. Najčešći način je korištenje p-vrijednosti dobivenih u izvornom statističkom modelu korištenjem svih varijabli. Ponekad odabir unaprijed može dovesti do pretjeranog prilagođavanja modela jer u modelu mogu postojati visoko korelirane varijable, čak i ako pružaju iste informacije modelu (ali model i dalje pokazuje poboljšanje).

Obrnuti odabir

Obrnuta selekcija također uključuje postupnu eliminaciju svojstava, ali u suprotnom smjeru u odnosu na selekciju prema naprijed. U ovom slučaju početni model uključuje sve nezavisne varijable. Varijable se tada eliminiraju (jedna po iteraciji) ako ne pridonose vrijednosti novom regresijskom modelu u svakoj iteraciji. Isključivanje značajki temelji se na p-vrijednostima početnog modela. Ova metoda također ima nesigurnost pri uklanjanju visoko koreliranih varijabli.

Eliminacija rekurzivnih značajki

RFE je široko korištena tehnika/algoritam za odabir točnog broja značajnih značajki. Ponekad se metoda koristi za objašnjenje niza "najvažnijih" značajki koje utječu na rezultate; a ponekad i reducirati vrlo velik broj varijabli (oko 200-400), te se zadržavaju samo one koje daju barem neki doprinos modelu, a sve ostale se isključuju. RFE koristi sustav rangiranja. Značajkama u skupu podataka dodijeljeni su rangovi. Ti se rangovi zatim koriste za rekurzivnu eliminaciju značajki na temelju kolinearnosti između njih i važnosti tih značajki u modelu. Osim rangiranja značajki, RFE može pokazati jesu li te značajke važne ili čak ni za određeni broj značajki (jer je vrlo vjerojatno da odabrani broj značajki možda nije optimalan, a optimalan broj značajki može biti ili više ili manje od odabranog broja).

Dijagram važnosti značajki

Kada govorimo o interpretabilnosti algoritama strojnog učenja, obično raspravljamo o linearnim regresijama (koje vam omogućuju analizu važnosti značajki pomoću p-vrijednosti) i stablima odlučivanja (doslovno pokazuju važnost značajki u obliku stabla, a na istovremeno njihova hijerarhija). S druge strane, algoritmi kao što su Random Forest, LightGBM i XG Boost često koriste dijagram važnosti značajki, odnosno iscrtava se dijagram varijabli i “njihovih brojeva važnosti”. Ovo je posebno korisno kada trebate dati strukturirano obrazloženje važnosti atributa u smislu njihovog utjecaja na poslovanje.

Regulacija

Regularizacija se provodi kako bi se kontrolirala ravnoteža između pristranosti i varijance. Pristranost pokazuje koliko je model pretjerano opremio skup podataka za obuku. Odstupanje pokazuje koliko su se predviđanja razlikovala između skupova podataka za obuku i testa. U idealnom slučaju, i pristranost i varijanca trebaju biti male. Ovdje u pomoć dolazi regularizacija! Dvije su glavne tehnike:

L1 Regularizacija - Laso: Laso kažnjava težine modela kako bi promijenio njihovu važnost za model i može ih čak poništiti (tj. ukloniti te varijable iz konačnog modela). Obično se Lasso koristi kada skup podataka sadrži veliki broj varijabli i želite isključiti neke od njih kako biste bolje razumjeli koliko važne značajke utječu na model (to jest, one značajke koje je odabrao Lasso i kojima je dodijeljena važnost).

L2 Regularizacija - Ridgeova metoda: Ridgeov posao je pohraniti sve varijable i istovremeno im dodijeliti važnost na temelju njihovog doprinosa izvedbi modela. Ridge će biti dobar izbor ako skup podataka sadrži mali broj varijabli i sve su one potrebne za tumačenje nalaza i dobivenih rezultata.

Budući da Ridge čuva sve varijable, a Lasso radi bolji posao utvrđivanja njihove važnosti, razvijen je algoritam koji kombinira najbolje značajke obje regulacije, poznat kao Elastic-Net.

Postoji mnogo više načina za odabir značajki za strojno učenje, ali glavna ideja je uvijek ista: pokazati važnost varijabli i zatim eliminirati neke od njih na temelju rezultirajuće važnosti. Važnost je vrlo subjektivan pojam, jer to nije samo jedan, već čitav niz metrika i grafikona koji se mogu koristiti za pronalaženje ključnih atributa.

Hvala na čitanju! Sretno učenje!

Izvor: www.habr.com

Dodajte komentar