Uteuzi wa kipengele katika kujifunza kwa mashine

Habari Habr!

Sisi katika Reksoft tulitafsiri makala hiyo kwa Kirusi Uteuzi wa Kipengele katika Kujifunza kwa Mashine. Tunatumahi itakuwa muhimu kwa kila mtu anayevutiwa na mada hiyo.

Katika ulimwengu wa kweli, data sio safi kila wakati kama wateja wa biashara wanavyofikiria wakati mwingine. Ndio maana uchimbaji wa data na ugomvi wa data unahitajika. Husaidia kutambua thamani na ruwaza zinazokosekana katika data iliyo na muundo wa hoja ambayo wanadamu hawawezi kutambua. Ili kupata na kutumia ruwaza hizi kutabiri matokeo kwa kutumia uhusiano uliogunduliwa kwenye data, kujifunza kwa mashine kunafaa.

Ili kuelewa algorithm yoyote, unahitaji kuangalia vigezo vyote katika data na kujua nini vigezo hivyo vinawakilisha. Hii ni muhimu kwa sababu mantiki nyuma ya matokeo inategemea kuelewa data. Ikiwa data ina vigezo 5 au hata 50, unaweza kuzichunguza zote. Je, ikiwa kuna 200 kati yao? Basi hakutakuwa na wakati wa kutosha wa kusoma kila kigezo kimoja. Kwa kuongezea, algorithms zingine hazifanyi kazi kwa data ya kategoria, na basi itabidi ubadilishe safu wima zote za kategoria kuwa anuwai za idadi (zinaweza kuonekana za kiasi, lakini metriki zitaonyesha kuwa ni za kitengo) ili kuziongeza kwenye mfano. Kwa hivyo, idadi ya vigezo huongezeka, na kuna karibu 500. Nini cha kufanya sasa? Mtu anaweza kufikiria kuwa jibu litakuwa kupunguza dimensionality. Algoriti za kupunguza vipimo hupunguza idadi ya vigezo lakini zina athari mbaya katika ukalimani. Namna gani ikiwa kuna mbinu nyingine zinazoondoa vipengele huku zikifanya zile zilizobaki kuwa rahisi kuelewa na kufasiria?

Kulingana na ikiwa uchanganuzi unategemea urekebishaji au uainishaji, algoriti za uteuzi wa kipengele zinaweza kutofautiana, lakini wazo kuu la utekelezaji wake linabaki sawa.

Vigezo Vinavyohusiana Sana

Vigezo vinavyohusiana sana vinatoa taarifa sawa kwa modeli, kwa hivyo hakuna haja ya kuzitumia zote kwa uchanganuzi. Kwa mfano, ikiwa mkusanyiko wa data una vipengele vya "Saa za Mtandaoni" na "Trafiki Zinazotumika", tunaweza kudhani kuwa zitahusiana kwa kiasi fulani, na tutaona uunganisho mkubwa hata kama tutachagua sampuli ya data isiyopendelea. Katika kesi hii, moja tu ya vigezo hivi inahitajika katika mfano. Ikiwa utatumia zote mbili, modeli itakuwa imejaa kupita kiasi na kupendelea kipengele kimoja.

P-maadili

Katika algorithms kama rejista ya mstari, mfano wa takwimu wa awali daima ni wazo nzuri. Inasaidia kuonyesha umuhimu wa vipengele kupitia maadili yao ya p ambayo yalipatikana na mtindo huu. Baada ya kuweka kiwango cha umuhimu, tunaangalia thamani za p zinazotokana, na ikiwa thamani yoyote iko chini ya kiwango cha umuhimu kilichotajwa, basi kipengele hiki kinatangazwa kuwa muhimu, yaani, mabadiliko ya thamani yake yanaweza kusababisha mabadiliko katika thamani ya Lengo.

Uchaguzi wa moja kwa moja

Uteuzi wa mbele ni mbinu inayohusisha kutumia urejeshaji wa hatua kwa hatua. Jengo la mfano huanza na sifuri kamili, ambayo ni mfano tupu, na kisha kila iteration inaongeza mabadiliko ambayo hufanya uboreshaji wa mfano unaojengwa. Ni tofauti gani inayoongezwa kwa mfano imedhamiriwa na umuhimu wake. Hii inaweza kuhesabiwa kwa kutumia vipimo mbalimbali. Njia ya kawaida ni kutumia maadili ya p yaliyopatikana katika modeli ya asili ya takwimu kwa kutumia anuwai zote. Wakati mwingine uteuzi wa mbele unaweza kusababisha kuzidisha mfano kwa sababu kunaweza kuwa na vigeuzo vilivyounganishwa sana kwenye mfano, hata kama wanatoa habari sawa kwa mfano (lakini mfano bado unaonyesha uboreshaji).

Uchaguzi wa kinyume

Uchaguzi wa kinyume pia unahusisha uondoaji wa hatua kwa hatua wa sifa, lakini katika mwelekeo kinyume ikilinganishwa na uteuzi wa mbele. Katika kesi hii, mfano wa awali unajumuisha vigezo vyote vya kujitegemea. Vigezo basi huondolewa (moja kwa kila marudio) ikiwa hazichangii thamani kwa mtindo mpya wa rejista katika kila iteration. Kutengwa kwa kipengele kunatokana na maadili ya p ya muundo wa awali. Njia hii pia ina kutokuwa na uhakika wakati wa kuondoa vigezo vinavyohusiana sana.

Kuondoa Kipengele cha Kujirudia

RFE ni mbinu/algorithm inayotumika sana kuchagua idadi kamili ya vipengele muhimu. Wakati mwingine njia hutumiwa kuelezea idadi ya vipengele "muhimu zaidi" vinavyoathiri matokeo; na wakati mwingine kupunguza idadi kubwa sana ya vigezo (kuhusu 200-400), na wale tu ambao hufanya angalau mchango fulani kwa mfano huhifadhiwa, na wengine wote wametengwa. RFE hutumia mfumo wa cheo. Vipengele katika seti ya data vimepewa safu. Safu hizi kisha hutumika kuondoa vipengele kwa kujirudia kulingana na utangamano baina yao na umuhimu wa vipengele hivyo kwenye modeli. Mbali na vipengele vya kuorodhesha, RFE inaweza kuonyesha kama vipengele hivi ni muhimu au la hata kwa idadi fulani ya vipengele (kwa sababu kuna uwezekano mkubwa kwamba idadi iliyochaguliwa ya vipengele inaweza isiwe mojawapo, na idadi kamili ya vipengele inaweza kuwa zaidi. au chini ya nambari iliyochaguliwa).

Mchoro wa Umuhimu wa Kipengele

Tunapozungumza juu ya ufasiri wa kanuni za ujifunzaji wa mashine, kwa kawaida tunajadili urejeshaji wa mstari (ambao hukuruhusu kuchambua umuhimu wa vipengee kwa kutumia maadili ya p) na miti ya maamuzi (inaonyesha kihalisi umuhimu wa vipengele katika muundo wa mti, na wakati huo huo uongozi wao). Kwa upande mwingine, algorithms kama vile Random Forest, LightGBM na XG Boost mara nyingi hutumia mchoro wa umuhimu wa kipengele, yaani, mchoro wa vigezo na "nambari zao za umuhimu" zimepangwa. Hii ni muhimu hasa unapohitaji kutoa mantiki iliyopangwa ya umuhimu wa sifa kulingana na athari zake kwa biashara.

Urekebishaji

Urekebishaji unafanywa ili kudhibiti usawa kati ya upendeleo na tofauti. Upendeleo unaonyesha ni kiasi gani modeli imejaza kwenye seti ya data ya mafunzo. Mkengeuko unaonyesha jinsi utabiri ulivyokuwa tofauti kati ya seti za data za mafunzo na majaribio. Kwa kweli, upendeleo na tofauti zinapaswa kuwa ndogo. Hapa ndipo kuhalalisha kunakuja kuwaokoa! Kuna mbinu mbili kuu:

Urekebishaji wa L1 - Lasso: Lasso huadhibu uzani wa mfano ili kubadilisha umuhimu wao kwa modeli na inaweza hata kubatilisha (yaani, kuondoa vigeu hivyo kutoka kwa modeli ya mwisho). Kwa kawaida, Lasso hutumiwa wakati mkusanyiko wa data una idadi kubwa ya vigeuzo na unataka kuwatenga baadhi yao ili kuelewa vyema jinsi vipengele muhimu vinavyoathiri mfano (yaani, vipengele hivyo ambavyo vimechaguliwa na Lasso na vimepewa umuhimu).

Urekebishaji wa L2 - Njia ya Ridge: Kazi ya Ridge ni kuhifadhi vigeu vyote na wakati huo huo kuvipa umuhimu kulingana na mchango wao katika utendakazi wa modeli. Ridge itakuwa chaguo nzuri ikiwa hifadhidata ina idadi ndogo ya vigeuzo na vyote ni muhimu kutafsiri matokeo na matokeo yaliyopatikana.

Kwa kuwa Ridge huhifadhi vigeu vyote na Lasso hufanya kazi bora zaidi ya kubainisha umuhimu wao, algorithm iliundwa ambayo inachanganya vipengele bora vya utaratibu wote, unaojulikana kama Elastic-Net.

Kuna njia nyingi zaidi za kuchagua vipengele vya kujifunza kwa mashine, lakini wazo kuu daima ni sawa: onyesha umuhimu wa vigezo na kisha uondoe baadhi yao kulingana na umuhimu unaotokana. Umuhimu ni neno linalozingatia sana, kwa kuwa si moja tu, lakini seti nzima ya metriki na chati ambazo zinaweza kutumika kupata sifa kuu.

Asante kwa kusoma! Furaha ya kujifunza!

Chanzo: mapenzi.com

Kuongeza maoni