Pagpili ng feature sa machine learning

Hoy Habr!

Isinalin namin sa Reksoft ang artikulo sa Russian Pagpili ng Feature sa Machine Learning. Inaasahan namin na magiging kapaki-pakinabang ito sa lahat na interesado sa paksa.

Sa totoong mundo, ang data ay hindi palaging kasinglinis ng iniisip ng mga customer sa negosyo. Ito ang dahilan kung bakit in demand ang data mining at data wrangling. Nakakatulong ito na matukoy ang mga nawawalang value at pattern sa query-structured data na hindi matukoy ng mga tao. Upang mahanap at magamit ang mga pattern na ito upang mahulaan ang mga resulta gamit ang mga natuklasang relasyon sa data, magagamit ang machine learning.

Upang maunawaan ang anumang algorithm, kailangan mong tingnan ang lahat ng mga variable sa data at alamin kung ano ang kinakatawan ng mga variable na iyon. Ito ay kritikal dahil ang katwiran sa likod ng mga resulta ay batay sa pag-unawa sa data. Kung ang data ay naglalaman ng 5 o kahit 50 variable, maaari mong suriin ang lahat ng ito. Paano kung mayroong 200 sa kanila? Pagkatapos ay hindi magkakaroon ng sapat na oras upang pag-aralan ang bawat solong variable. Bukod dito, ang ilang mga algorithm ay hindi gumagana para sa pangkategoryang data, at pagkatapos ay kailangan mong i-convert ang lahat ng mga kategoryang column sa mga quantitative na variable (maaaring magmukhang quantitative ang mga ito, ngunit ipapakita ng mga sukatan na ang mga ito ay kategorya) upang idagdag ang mga ito sa modelo. Kaya, ang bilang ng mga variable ay tumataas, at mayroong mga 500 sa kanila. Ano ang gagawin ngayon? Maaaring isipin ng isa na ang sagot ay upang mabawasan ang dimensionality. Binabawasan ng mga algorithm ng pagbabawas ng dimensionality ang bilang ng mga parameter ngunit may negatibong epekto sa interpretability. Paano kung may iba pang mga diskarte na nag-aalis ng mga tampok habang ginagawang madaling maunawaan at bigyang-kahulugan ang mga natitira?

Depende sa kung ang pagsusuri ay batay sa regression o pag-uuri, ang mga algorithm ng pagpili ng tampok ay maaaring magkakaiba, ngunit ang pangunahing ideya ng kanilang pagpapatupad ay nananatiling pareho.

Highly Correlated na mga Variable

Ang mga variable na lubos na nakakaugnay sa isa't isa ay nagbibigay ng parehong impormasyon sa modelo, kaya hindi na kailangang gamitin ang lahat para sa pagsusuri. Halimbawa, kung naglalaman ang isang dataset ng mga feature na "Online Time" at "Traffic Used", maaari naming ipagpalagay na medyo magkakaugnay ang mga ito, at makakakita kami ng malakas na ugnayan kahit na pumili kami ng walang pinapanigan na sample ng data. Sa kasong ito, isa lamang sa mga variable na ito ang kailangan sa modelo. Kung gagamitin mo ang pareho, ang modelo ay magiging overfit at magiging bias sa isang partikular na feature.

P-halaga

Sa mga algorithm tulad ng linear regression, ang isang paunang modelo ng istatistika ay palaging isang magandang ideya. Nakakatulong ito upang ipakita ang kahalagahan ng mga tampok sa pamamagitan ng kanilang mga p-values ​​​​na nakuha ng modelong ito. Kapag naitakda ang antas ng kahalagahan, sinusuri namin ang mga nagreresultang p-values, at kung ang anumang halaga ay mas mababa sa tinukoy na antas ng kahalagahan, ang tampok na ito ay idineklara na makabuluhan, iyon ay, ang pagbabago sa halaga nito ay malamang na humantong sa pagbabago sa halaga ng ang target.

Direktang pagpili

Ang pasulong na pagpili ay isang pamamaraan na nagsasangkot ng paglalapat ng stepwise regression. Ang pagbuo ng modelo ay nagsisimula sa isang kumpletong zero, iyon ay, isang walang laman na modelo, at pagkatapos ay ang bawat pag-ulit ay nagdaragdag ng isang variable na gumagawa ng isang pagpapabuti sa modelong binuo. Aling variable ang idinagdag sa modelo ay tinutukoy ng kahalagahan nito. Maaari itong kalkulahin gamit ang iba't ibang sukatan. Ang pinakakaraniwang paraan ay ang paggamit ng mga p-values ​​​​na nakuha sa orihinal na modelo ng istatistika gamit ang lahat ng mga variable. Minsan ang forward selection ay maaaring humantong sa overfitting ng isang modelo dahil maaaring mayroong mataas na pagkakaugnay na mga variable sa modelo, kahit na nagbibigay ang mga ito ng parehong impormasyon sa modelo (ngunit ang modelo ay nagpapakita pa rin ng pagpapabuti).

Baliktarin ang pagpili

Kasama rin sa reverse selection ang sunud-sunod na pag-aalis ng mga katangian, ngunit sa kabaligtaran na direksyon kumpara sa forward selection. Sa kasong ito, kasama sa paunang modelo ang lahat ng mga independiyenteng variable. Pagkatapos ay aalisin ang mga variable (isa sa bawat pag-ulit) kung hindi sila nag-aambag ng halaga sa bagong modelo ng regression sa bawat pag-ulit. Ang pagbubukod ng tampok ay batay sa mga p-value ng paunang modelo. Ang pamamaraang ito ay mayroon ding kawalan ng katiyakan kapag nag-aalis ng mga variable na lubos na nauugnay.

Recursive Feature Elimination

Ang RFE ay isang malawakang ginagamit na technique/algorithm para sa pagpili ng eksaktong bilang ng mga makabuluhang feature. Minsan ang paraan ay ginagamit upang ipaliwanag ang isang bilang ng mga "pinakamahalaga" na mga tampok na nakakaimpluwensya sa mga resulta; at kung minsan upang bawasan ang isang napakalaking bilang ng mga variable (mga 200-400), at tanging ang mga gumagawa ng kahit na ilang kontribusyon sa modelo ay pinananatili, at lahat ng iba ay hindi kasama. Gumagamit ang RFE ng sistema ng pagraranggo. Ang mga tampok sa set ng data ay itinalagang mga ranggo. Pagkatapos ay ginagamit ang mga ranggo na ito upang muling alisin ang mga feature batay sa pagkakaugnay ng mga ito at ang kahalagahan ng mga feature na iyon sa modelo. Bilang karagdagan sa mga feature sa pagraranggo, maipapakita ng RFE kung mahalaga ang mga feature na ito o hindi kahit para sa isang partikular na bilang ng mga feature (dahil malamang na ang napiling bilang ng mga feature ay maaaring hindi pinakamainam, at ang pinakamainam na bilang ng mga feature ay maaaring higit pa. o mas mababa sa napiling numero).

Feature Importance Diagram

Kapag pinag-uusapan ang interpretability ng mga algorithm sa pag-aaral ng machine, karaniwang tinatalakay namin ang mga linear regressions (na nagbibigay-daan sa iyong pag-aralan ang kahalagahan ng mga feature gamit ang p-values) at mga decision tree (literal na nagpapakita ng kahalagahan ng mga feature sa anyo ng isang puno, at sa parehong oras ang kanilang hierarchy). Sa kabilang banda, ang mga algorithm tulad ng Random Forest, LightGBM at XG Boost ay kadalasang gumagamit ng feature na diagram ng kahalagahan, iyon ay, isang diagram ng mga variable at ang "kanilang mga numero ng kahalagahan" ay naka-plot. Ito ay lalong kapaki-pakinabang kapag kailangan mong magbigay ng isang structured na katwiran para sa kahalagahan ng mga katangian sa mga tuntunin ng epekto ng mga ito sa negosyo.

Regularisasyon

Ginagawa ang regularisasyon upang makontrol ang balanse sa pagitan ng bias at pagkakaiba. Ipinapakita ng bias kung gaano kalaki ang na-overfit ng modelo sa set ng data ng pagsasanay. Ipinapakita ng deviation kung gaano kaiba ang mga hula sa pagitan ng mga dataset ng pagsasanay at pagsubok. Sa isip, ang parehong bias at pagkakaiba ay dapat na maliit. Dito nakatulong ang regularization! Mayroong dalawang pangunahing pamamaraan:

L1 Regularization - Lasso: Pinaparusahan ng Lasso ang mga timbang ng modelo upang baguhin ang kahalagahan ng mga ito sa modelo at maaari pa ngang i-null ang mga ito (ibig sabihin, alisin ang mga variable na iyon mula sa huling modelo). Karaniwan, ginagamit ang Lasso kapag ang isang dataset ay naglalaman ng malaking bilang ng mga variable at gusto mong ibukod ang ilan sa mga ito upang mas maunawaan kung gaano kahalaga ang mga feature na nakakaapekto sa modelo (ibig sabihin, ang mga feature na iyon na pinili ng Lasso at nabigyan ng kahalagahan).

L2 Regularization - Ridge method: Ang trabaho ng Ridge ay iimbak ang lahat ng mga variable at sabay na italaga ang kahalagahan sa kanila batay sa kanilang kontribusyon sa pagganap ng modelo. Ang Ridge ay magiging isang mahusay na pagpipilian kung ang dataset ay naglalaman ng isang maliit na bilang ng mga variable at lahat ng mga ito ay kinakailangan upang bigyang-kahulugan ang mga natuklasan at mga resultang nakuha.

Dahil pinapanatili ng Ridge ang lahat ng mga variable at ginagawa ng Lasso ang isang mas mahusay na trabaho sa pagtatatag ng kanilang kahalagahan, isang algorithm ay binuo na pinagsasama ang pinakamahusay na mga tampok ng parehong regularization, na kilala bilang Elastic-Net.

Marami pang paraan upang pumili ng mga feature para sa machine learning, ngunit ang pangunahing ideya ay palaging pareho: ipakita ang kahalagahan ng mga variable at pagkatapos ay alisin ang ilan sa mga ito batay sa resultang kahalagahan. Ang kahalagahan ay isang napaka-subjective na termino, dahil ito ay hindi lamang isa, ngunit isang buong hanay ng mga sukatan at mga chart na maaaring magamit upang mahanap ang mga pangunahing katangian.

Salamat sa pagbabasa! Maligayang pag-aaral!

Pinagmulan: www.habr.com

Magdagdag ng komento