Адбор прыкмет у машынным навучанні

Прывітанне, Хабр!

Мы ў «Рэксафт» пераклалі на расейскую мову артыкул Feature Selection in Machine Learning. Спадзяемся, будзе карысна ўсім, хто неабыякавы да тэмы.

У рэальным свеце дадзеныя не заўсёды такія чыстыя, як часам думаюць бізнэс-заказчыкі. Менавіта таму запатрабаваны інтэлектуальны аналіз дадзеных (data mining і data wrangling). Ён дапамагае выяўляць адсутнічаюць значэння і патэрны ў структураваных з дапамогай запытаў дадзеных, якія не можа вызначыць чалавек. Для таго, каб знайсці і выкарыстоўваць гэтыя патэрны для прадказання вынікаў з дапамогай выяўленых сувязяў у дадзеных спатрэбіцца машыннае навучанне (Machine Learning).

Для разумення любога алгарытму неабходна прагледзець усе зменныя ў дадзеных і высветліць, што гэтыя зменныя ўяўляюць. Гэта вельмі важна, таму што абгрунтаванне вынікаў засноўваецца на разуменні дадзеных. Калі дадзеныя ўтрымоўваюць 5 ці нават 50 зменных, можна вывучыць іх усё. А што, калі іх 200? Тады проста не хопіць часу вывучыць кожную асобную зменную. Больш за тое, некаторыя алгарытмы не працуюць для катэгарыяльных дадзеных, і тады давядзецца прывесці ўсе катэгарыяльныя калонкі да колькасных зменных (яны могуць выглядаць колькаснымі, але метрыкі пакажуць, што яны катэгарыяльныя), каб дадаць іх у мадэль. Такім чынам, колькасць пераменных павялічваецца, і іх становіцца каля 500. Што зараз рабіць? Можна падумаць, што адказам будзе паніжэнне памернасці. Алгарытмы зніжэння памернасці памяншаюць колькасць параметраў, але негатыўна ўплываюць на інтэрпрэтаванасць. Што калі існуюць іншыя тэхнікі, якія выключаюць прыкметы і пры гэтым дазваляюць лёгка зразумець і інтэрпрэтаваць пакінутыя?

У залежнасці ад таго, заснаваны аналіз на рэгрэсіі ці класіфікацыі, алгарытмы адбору прыкмет могуць адрознівацца, але галоўная ідэя іх рэалізацыі застаецца адной і той жа.

Моцна карэляваныя зменныя

Моцна карэляваныя сябар з сябрам зменныя даюць мадэлі адну і тую ж інфармацыю, такім чынам, для аналізу не трэба выкарыстоўваць іх усё. Напрыклад, калі набор дадзеных (dataset) утрымоўвае прыкметы «Час у сетцы» і «Выкарыстаны трафік», можна выказаць здагадку, што яны будуць у некаторай ступені карэляваны, і мы ўбачым моцную карэляцыю, нават калі абярэм непрадузяты ўзор дадзеных. У такім разе ў мадэлі патрэбна толькі адна з гэтых зменных. Калі выкарыстоўваць абедзве, то мадэль апынецца перанавучаны (overfit) і прадузята адносна адной асобнай прыкметы.

P-значэнні

У такіх алгарытмах, як лінейная рэгрэсія, пачатковая статыстычная мадэль - гэта заўсёды добрая ідэя. Яна дапамагае паказаць важнасць прыкмет з дапамогай іх p-значэнняў, якія былі атрыманы гэтай мадэллю. Усталяваўшы ўзровень значнасці, мы правяраем атрыманыя p-значэнні, і калі нейкае значэнне апыняецца ніжэй зададзенага ўзроўня значнасці, то дадзеная прыкмета аб'яўляецца значным, гэта значыць змена яго значэння, верагодна, прывядзе да змены значэння мэты (target).

Прамы адбор

Прамы адбор - гэта тэхніка, якая складаецца ва ўжыванні пакрокавай рэгрэсіі. Пабудова мадэлі пачынаецца з поўнага нуля, гэта значыць пусты мадэлі, а затым кожная ітэрацыя дадае зменную, якая ўносіць паляпшэнне ў якая будуецца мадэль. Тое, якая зменная дадаецца ў мадэль, вызначаецца яе значнасцю. Гэта можа быць разлічана з выкарыстаннем розных метрык. Самым распаўсюджаным спосабам з'яўляецца ўжыванне p-значэнняў, атрыманых у першапачатковай статыстычнай мадэлі з выкарыстаннем усіх зменных. Часам прамы адбор можа прыводзіць да перанавучання мадэлі, таму што ў мадэлі могуць апынуцца моцна карэлявалі зменныя, нават калі яны падаюць адну і тую ж інфармацыю мадэлі (але мадэль пры гэтым паказвае паляпшэнне).

Зваротны адбор

Зваротны адбор таксама заключаецца ў пакрокавым выключэнні прыкмет, аднак у процілеглым напрамку ў параўнанні з прамым. У дадзеным выпадку пачатковая мадэль уключае ў сябе ўсе незалежныя зменныя. Затым зменныя выключаюцца (па адной за ітэрацыю), калі яны не нясуць каштоўнасці для новай рэгрэсійнай мадэлі ў кожнай ітэрацыі. У аснове выключэння прыкмет ляжаць паказчыкі p-значэнняў пачатковай мадэлі. У гэтым метадзе таксама прысутнічае нявызначанасць пры выдаленні моцна карэляваных зменных.

Рэкурсіўнае выключэнне прыкмет

RFE з'яўляецца шырока выкарыстоўванай тэхнікай/алгарытмам для выбару дакладнага ліку значных прыкмет. Часам метад выкарыстоўваецца, каб растлумачыць некаторую колькасць «самых важных» прыкмет, якія ўплываюць на вынікі; а часам для памяншэння вельмі вялікай колькасці зменных (каля 200-400), і пакідаюцца толькі тыя, якія ўносяць хоць нейкі фундуш у мадэль, а ўсе астатнія выключаюцца. RFE выкарыстоўвае рангавую сістэму. Прыкметам у наборы дадзеных выстаўляюцца рангі. Затым гэтыя рангі выкарыстоўваюцца для рэкурсіўнага выключэння прыкмет у залежнасці ад калінеярнасці паміж імі і значнасці гэтых прыкмет у мадэлі. Акрамя ранжыравання прыкмет, RFE можа паказаць, ці важныя гэтыя прыкметы ці не нават для зададзенага ліку прыкмет (таму што вельмі верагодна, што абраны лік прыкмет можа з'яўляцца не аптымальным, і аптымальны лік прыкмет можа быць як больш, так і менш абранага).

Дыяграма важнасці прыкмет

Гаворачы аб інтэрпрэтацыі алгарытмаў машыннага навучання, звычайна абмяркоўваюць лінейныя рэгрэсіі (якія дазваляюць прааналізаваць значнасць прыкмет з дапамогай p-значэнняў) і дрэвы рашэнняў (літаральна паказваюць важнасць прыкмет у форме дрэва, а заадно і іх іерархію). З іншага боку, у такіх алгарытмах, як Random Forest, LightGBM і XG Boost, часта выкарыстоўваецца дыяграма значнасці прыкмет, гэта значыць будуецца дыяграма зменных і "колькасці іх важнасці". Гэта асабліва карысна, калі трэба даць структураванае абгрунтаванне важнасці прыкмет з пункту гледжання іх уплыву на бізнэс.

Рэгулярызацыя

Рэгулярызацыя робіцца для кантролю за балансам паміж прадузятасцю (bias) і адхіленнем (variance). Прадузятасць паказвае, наколькі мадэль перанавучылася (overfit) на трэніровачным наборы дадзеных. Адхіленне паказвае, наколькі розныя былі прадказанні паміж трэніровачным і тэставым датасетамі. У ідэале і прадузятасць, і дысперсія павінны быць маленькімі. Тут на дапамогу прыходзіць рэгулярызацыя! Існуе дзве асноўных тэхнікі:

L1 Рэгулярызацыя - Ласо: Ласо штрафуе вагавыя каэфіцыенты мадэлі для змены іх важнасці для мадэлі і можа нават абнуліць іх (г.зн. прыбраць гэтыя зменныя з канчатковай мадэлі). Звычайна Ласо выкарыстоўваецца, калі набор дадзеных утрымоўвае вялікую колькасць зменных і патрабуецца выключыць некаторыя з іх, каб лепш зразумець, як важныя прыкметы ўплываюць на мадэль (г.зн. тыя прыкметы, якія былі абраныя Ласо і ў якіх усталявана важнасць).

L2 Рэгулярызацыя - метадам Ridge: Задачай Ridge з'яўляецца захаванне ўсіх зменных і ў той жа час прысваенне ім важнасці на аснове ўкладу ў эфектыўнасць мадэлі. Ridge будзе добрым выбарам, калі набор дадзеных утрымоўвае невялікі лік зменных і ўсе яны неабходныя для інтэрпрэтацыі высноў і атрыманых вынікаў.

Так як Ridge пакідае ўсе зменныя, а Ласо лепш устанаўлівае іх важнасць, быў распрацаваны алгарытм, які аб'ядноўвае лепшыя асаблівасці абедзвюх рэгулярызацый і вядомы як Elastic-Net.

Існуе яшчэ мноства спосабаў адбору прыкмет для машыннага навучання, але галоўная ідэя заўсёды застаецца адной і той жа: прадэманстраваць важнасць зменных і затым выключыць некаторыя з іх на аснове атрыманай важнасці. Важнасць - гэта вельмі суб'ектыўны тэрмін, так як гэта не адна, а цэлы набор метрык і дыяграм, які можа выкарыстоўвацца для знаходжання ключавых прыкмет.

Дзякуй за чытанне! Шчаслівага навучання!

Крыніца: habr.com

Дадаць каментар