Elekto de funkcioj en maŝina lernado

Hej Habr!

Ni ĉe Reksoft tradukis la artikolon en la rusan Karakterizaĵa Elekto en Maŝina Lernado. Ni esperas, ke ĝi estos utila al ĉiuj, kiuj interesiĝas pri la temo.

En la reala mondo, datumoj ne ĉiam estas tiel puraj kiel komercaj klientoj foje pensas. Jen kial datumminado kaj datuma kverelado estas postulataj. Ĝi helpas identigi mankantajn valorojn kaj ŝablonojn en demand-strukturitaj datumoj, kiujn homoj ne povas identigi. Por trovi kaj uzi ĉi tiujn ŝablonojn por antaŭdiri rezultojn uzante malkovritajn rilatojn en la datumoj, maŝinlernado utilas.

Por kompreni ajnan algoritmon, vi devas rigardi ĉiujn variablojn en la datumoj kaj eltrovi, kion tiuj variabloj reprezentas. Ĉi tio estas kritika ĉar la raciaĵo malantaŭ la rezultoj baziĝas sur komprenado de la datumoj. Se la datumoj enhavas 5 aŭ eĉ 50 variablojn, vi povas ekzameni ilin ĉiujn. Kio se estas 200 el ili? Tiam simple ne estos sufiĉe da tempo por studi ĉiun variablon. Plie, iuj algoritmoj ne funkcias por kategoriaj datumoj, kaj tiam vi devos konverti ĉiujn kategoriajn kolumnojn al kvantaj variabloj (ili povas aspekti kvantaj, sed la metrikoj montros, ke ili estas kategoriaj) por aldoni ilin al la modelo. Tiel, la nombro da variabloj pliiĝas, kaj estas ĉirkaŭ 500. Kion fari nun? Oni povus pensi, ke la respondo estus redukti dimensiecon. Algoritmoj de redukto de dimensieco reduktas la nombron da parametroj sed havas negativan efikon al interpretebleco. Kio se ekzistas aliaj teknikoj, kiuj forigas trajtojn, farante la ceterajn facile kompreneblajn kaj interpreteblajn?

Depende de ĉu la analizo baziĝas sur regreso aŭ klasifiko, la elektaj algoritmoj povas malsami, sed la ĉefa ideo de ilia efektivigo restas la sama.

Tre Korelaciaj Variaĵoj

Variabloj kiuj estas tre korelaciitaj kun unu la alian disponigas la samajn informojn al la modelo, do ne necesas uzi ilin ĉiujn por analizo. Ekzemple, se datumaro enhavas la funkciojn "Enreta Tempo" kaj "Trafiko Uzita", ni povas supozi, ke ili estos iom korelaciitaj, kaj ni vidos fortan korelacion eĉ se ni elektas nepartian datuman specimenon. En ĉi tiu kazo, nur unu el ĉi tiuj variabloj estas necesa en la modelo. Se vi uzas ambaŭ, la modelo estos tro ekipita kaj tendencita al unu aparta funkcio.

P-valoroj

En algoritmoj kiel linia regreso, komenca statistika modelo ĉiam estas bona ideo. Ĝi helpas montri la gravecon de la funkcioj per iliaj p-valoroj, kiuj estis akiritaj de ĉi tiu modelo. Fiksinte la signifonivelon, ni kontrolas la rezultajn p-valorojn, kaj se iu valoro estas sub la specifita signifonivelo, tiam ĉi tiu trajto estas deklarita grava, tio estas, ŝanĝo en ĝia valoro verŝajne kondukos al ŝanĝo en la valoro de la celo.

Rekta elekto

Antaŭen elekto estas tekniko kiu implikas apliki paŝon de regreso. Modelkonstruado komenciĝas per kompleta nulo, tio estas, malplena modelo, kaj tiam ĉiu ripeto aldonas variablon kiu faras plibonigon al la modelo estanta konstruita. Kiu variablo estas aldonita al la modelo estas determinita per sia signifo. Ĉi tio povas esti kalkulita per diversaj metrikoj. La plej ofta maniero estas uzi la p-valorojn akiritajn en la originala statistika modelo uzante ĉiujn variablojn. Foje antaŭa elekto povas konduki al troigo de modelo ĉar povas ekzisti tre korelaciitaj variabloj en la modelo, eĉ se ili disponigas la samajn informojn al la modelo (sed la modelo daŭre montras plibonigon).

Inversa elekto

Inversa selektado ankaŭ implikas la paŝon post paŝo eliminon de trajtoj, sed en la kontraŭa direkto kompare kun antaŭa elekto. En ĉi tiu kazo, la komenca modelo inkluzivas ĉiujn sendependajn variablojn. Variabloj tiam estas eliminitaj (unu per ripeto) se ili ne kontribuas valoron al la nova regresmodelo en ĉiu ripeto. Karakterizaĵekskludo baziĝas sur la p-valoroj de la komenca modelo. Ĉi tiu metodo ankaŭ havas necertecon dum forigado de tre korelaciitaj variabloj.

Recursive Feature Elimination

RFE estas vaste uzita tekniko/algoritmo por selektado de la preciza nombro da signifaj ecoj. Kelkfoje la metodo estas uzata por klarigi kelkajn "plej gravaj" trajtoj, kiuj influas rezultojn; kaj foje redukti tre grandan nombron da variabloj (ĉirkaŭ 200-400), kaj nur tiuj kiuj faras almenaŭ ian kontribuon al la modelo estas retenitaj, kaj ĉiuj aliaj estas ekskluditaj. RFE uzas rangosistemon. La funkcioj en la datumaro estas asignitaj rangoj. Tiuj rangoj tiam kutimas rekursie elimini ecojn bazitajn sur la kolineareco inter ili kaj la graveco de tiuj ecoj en la modelo. Krom rangigaj funkcioj, RFE povas montri ĉu ĉi tiuj trajtoj estas gravaj aŭ eĉ ne por antaŭfiksita nombro da ecoj (ĉar estas tre verŝajne ke la elektita nombro da ecoj eble ne estas optimuma, kaj la optimuma nombro da trajtoj povas esti aŭ pli. aŭ malpli ol la elektita nombro).

Karakterizaĵa Grava Diagramo

Kiam oni parolas pri la interpretebleco de maŝinlernado-algoritmoj, ni kutime diskutas linearajn regresojn (kiuj permesas al vi analizi la gravecon de trajtoj uzante p-valorojn) kaj decidarbojn (laŭvorte montrante la gravecon de trajtoj en la formo de arbo, kaj ĉe la sama tempo ilia hierarkio). Aliflanke, algoritmoj kiel Random Forest, LightGBM kaj XG Boost ofte uzas karakterizan gravecdiagramon, tio estas, diagramo de variabloj kaj "iliaj gravecnombroj" estas intrigita. Ĉi tio estas precipe utila kiam vi devas provizi strukturitan raciaĵon por la graveco de atributoj laŭ ilia efiko al la komerco.

Regularigo

Regularigo estas farita por kontroli la ekvilibron inter biaso kaj varianco. Biaso montras kiom multe la modelo tro agordis sur la trejna datumaro. La devio montras kiom malsamaj estis la antaŭdiroj inter la trejnado kaj testaj datumaroj. Ideale, ambaŭ biaso kaj varianco devus esti malgrandaj. Jen kie reguligo venas al la savo! Estas du ĉefaj teknikoj:

L1-Reguligo - Laso: Lasso punas modelajn pezojn por ŝanĝi ilian gravecon al la modelo kaj eĉ povas nuligi ilin (t.e. forigi tiujn variablojn de la fina modelo). Tipe, Lasso estas uzata kiam datumaro enhavas grandan nombron da variabloj kaj vi volas ekskludi iujn el ili por pli bone kompreni kiom gravaj trajtoj influas la modelon (tio estas, tiuj trajtoj kiuj estis elektitaj de Lasso kaj estis asignitaj graveco).

L2-Reguligo - Ridge-metodo: la tasko de Ridge estas stoki ĉiujn variablojn kaj samtempe atribui gravecon al ili surbaze de ilia kontribuo al la agado de la modelo. Ridge estos bona elekto se la datumaro enhavas malgrandan nombron da variabloj kaj ĉiuj el ili estas necesaj por interpreti la rezultojn kaj rezultojn akiritajn.

Ĉar Ridge konservas ĉiujn variablojn kaj Lasso faras pli bonan laboron por establi ilian gravecon, algoritmo estis evoluigita kiu kombinas la plej bonajn trajtojn de ambaŭ reguligoj, konataj kiel Elastic-Net.

Estas multaj pli da manieroj elekti funkciojn por maŝinlernado, sed la ĉefa ideo estas ĉiam la sama: pruvi la gravecon de variabloj kaj poste forigi kelkajn el ili surbaze de la rezulta graveco. Graveco estas tre subjektiva termino, ĉar ĝi ne estas nur unu, sed tuta aro de metrikoj kaj diagramoj, kiuj povas esti uzataj por trovi ŝlosilajn atributojn.

Dankon pro legado! Feliĉa lernado!

fonto: www.habr.com

Aldoni komenton