Ano ang Overfitting Sa Pag-aaral ng Makina At Paano Ito Maiiwasan?



Saklaw ng artikulong ito ang Overfitting sa Pag-aaral ng Machine sa mga halimbawa at ilang mga diskarte upang maiwasan, matukoy ang Overfitting sa isang modelo ng pag-aaral ng Machine.

Ang pagbuo ng isang modelo ng Pag-aaral ng Machine ay hindi lamang tungkol sa pagpapakain ng data, maraming mga kakulangan na nakakaapekto sa kawastuhan ng anumang modelo. Overfitting in ay isang kakulangan sa Pag-aaral ng Makina na pumipigil sa kawastuhan pati na rin sa pagganap ng modelo. Ang mga sumusunod na paksa ay sakop sa artikulong ito:

Ano ang Overfitting In Machine Learning?

Ang isang modelong pang-istatistika ay sinasabing overfitted kapag pinapakain namin ito ng mas maraming data kaysa sa kinakailangan. Upang gawin itong relatable, isipin ang pagsubok na umangkop sa sobrang laki ng damit.





Kapag umaangkop ang isang modelo ng higit pang data kaysa sa talagang kinakailangan nito, nagsisimula itong abutin ang maingay na data at hindi tumpak na mga halaga sa data. Bilang isang resulta, ang kahusayan at kawastuhan ng modelo ay bumababa. Tingnan natin ang ilang mga halimbawa ng overfitting upang maunawaan kung paano talaga ito nangyayari.



Mga Halimbawa Ng Overfitting

Halimbawa 1

Kung kukuha kami ng isang halimbawa ng simple linear regression , ang pagsasanay sa data ay tungkol sa pag-alam ng minimum na gastos sa pagitan ng pinakamahusay na linya ng fit at mga puntos ng data. Dumaan ito sa isang bilang ng mga pag-ulit upang malaman ang pinakamainam na pinakamahusay na akma, na pinapaliit ang gastos. Dito lumalabas ang larawan sa overfitting.

mababaw na kopya kumpara sa malalim na kopya ng java



Ang linya na nakikita sa imahe sa itaas ay maaaring magbigay ng isang napaka mahusay na kinalabasan para sa isang bagong punto ng data. Sa kaso ng overfitting, kapag pinatakbo namin ang algorithm ng pagsasanay sa hanay ng data, pinapayagan naming mabawasan ang gastos sa bawat bilang ng pag-ulit.

Tumatakbo ito para sa masyadong mahaba ay nangangahulugang isang nabawasan na gastos ngunit magkakasya rin ito sa maingay na data mula sa hanay ng data. Ang resulta ay magmukhang isang bagay sa grap sa ibaba.

Maaaring magmukhang mahusay ito ngunit hindi talaga. Ang pangunahing layunin ng isang algorithm tulad ng linear regression ay upang makahanap ng isang nangingibabaw na kalakaran at magkasya ang mga puntos ng data nang naaayon. Ngunit sa kasong ito, umaangkop ang linya sa lahat ng mga puntos ng data, na hindi nauugnay sa kahusayan ng modelo sa paghula ng pinakamainam na kinalabasan para sa mga bagong puntos ng data ng pagpasok.

Ngayon isaalang-alang natin ang isang mas mapaglarawang halimbawa sa tulong ng isang pahayag ng problema.

Halimbawa 2

Pahayag ng Suliranin: Isaalang-alang natin na nais nating hulaan kung ang isang manlalaro ng soccer ay mapunta sa isang puwang sa isang tier 1 football club batay sa kanyang kasalukuyang pagganap sa tier 2 liga.

Ngayon isipin, sinasanay namin at nababagay ang modelo sa 10,000 mga naturang manlalaro na may mga kinalabasan. Kapag sinubukan naming hulaan ang kinalabasan sa orihinal na hanay ng data, sabihin nating nakakuha kami ng 99% kawastuhan. Ngunit ang katumpakan sa isang iba't ibang mga hanay ng data ay dumating sa paligid ng 50 porsyento. Nangangahulugan ito na ang modelo ay hindi pangkalahatang mahusay mula sa aming data sa pagsasanay at hindi nakikitang data.

Ito ang hitsura ng overfitting. Ito ay isang pangkaraniwang problema sa Pag-aaral ng Machine at maging ang agham ng data. Ngayon ay maunawaan natin ang signal at ingay.

Signal vs Ingay

Sa mahuhulaang pagmomodelo, ang signal ay tumutukoy sa totoong pinagbabatayan na pattern na tumutulong sa modelo na malaman ang data. Sa kabilang banda, ang ingay ay walang kaugnayan at random na data sa hanay ng data. Upang maunawaan ang konsepto ng ingay at signal, gumawa tayo ng isang halimbawa ng totoong buhay.

Ipagpalagay natin na nais nating i-modelo ang edad kumpara sa pagbasa at pagsulat sa mga matatanda. Kung susubukan namin ang isang napakalaking bahagi ng populasyon, mahahanap namin ang isang malinaw na ugnayan. Ito ang signal, samantalang ang ingay ay nakakagambala sa signal. Kung gagawin natin ang pareho sa isang lokal na populasyon, magiging maputik ang relasyon. Maaapektuhan ito ng mga outliers at randomness, para sa hal, isang matanda ang maaga na pumasok sa paaralan o ang ilang may sapat na gulang ay hindi kayang bayaran ang edukasyon, atbp.

Pinag-uusapan ang ingay at signal sa mga tuntunin ng Pag-aaral ng Machine, isang mahusay na algorithm ng Pag-aaral ng Machine ay awtomatikong paghiwalayin ang mga signal mula sa ingay. Kung ang algorithm ay masyadong kumplikado o hindi mabisa, maaari itong malaman din ang ingay. Samakatuwid, overfitting ang modelo. Maunawaan din natin ang underfitting sa Pag-aaral ng Machine din.

Ano ang Underfitting?

Upang maiwasang mag-overfitting, maaari nating ihinto ang pagsasanay sa isang mas maagang yugto. Ngunit maaari ring humantong ito sa modelo na hindi matuto nang sapat mula sa data ng pagsasanay, na maaari itong maging mahirap makuha ang nangingibabaw na kalakaran. Ito ay kilala bilang underfitting. Ang resulta ay kapareho ng overfitting, inefficiency sa paghula ng mga kinalabasan.

Ngayon na naintindihan na natin kung ano talaga ang underfitting at overfitting sa Pag-aaral ng Machine, subukan nating unawain kung paano natin matutukoy ang labis na pag-overfitting sa Pag-aaral ng Machine.

Paano Makikita ang Overfitting?

Ang pangunahing hamon sa overfitting ay upang tantyahin ang kawastuhan ng pagganap ng aming modelo sa bagong data. Hindi namin magagawang tantyahin ang kawastuhan hanggang sa talagang masubukan namin ito.

Upang matugunan ang problemang ito, maaari naming hatiin ang paunang hanay ng data sa magkakahiwalay na mga set ng data ng pagsasanay at pagsubok. Sa pamamaraang ito, maaari talaga nating tantyahin kung gaano kahusay gaganap ang aming modelo sa bagong data.

Ipaunawa sa amin ito sa isang halimbawa, isipin na nakakakuha kami ng isang 90+ porsyento na kawastuhan sa hanay ng pagsasanay at isang 50 porsyento na kawastuhan sa hanay ng pagsubok. Pagkatapos, awtomatikong magiging isang pulang bandila para sa modelo.

Isa pang paraan upang makita ang labis na pagsasama ay upang magsimula sa isang simplistic na modelo na magsisilbing isang benchmark.

Sa pamamaraang ito, kung susubukan mo ang mas kumplikadong mga algorithm malalaman mo kung ang karagdagang pagiging kumplikado ay sulit para sa modelo o hindi. Kilala rin ito bilang Ang pagsubok sa labaha ng Occam , karaniwang pipiliin nito ang simplistic na modelo sa kaso ng maihahambing na pagganap sa kaso ng dalawang mga modelo. Kahit na ang pagtuklas ng overfitting ay isang mahusay na kasanayan,ngunit maraming mga diskarte upang maiwasan din ang overfitting. Tingnan natin kung paano natin maiiwasan ang pag-overfitting sa Pag-aaral ng Machine.

Paano Maiiwasan ang Overfitting Sa Pag-aaral ng Makina?

Mayroong maraming mga diskarte upang maiwasan ang labis na pag-fit sa Pag-aaral ng Machine sa kabuuan na nakalista sa ibaba.

  1. Pag-cross-Validation

  2. Pagsasanay Sa Maraming Data

  3. Inaalis ang Mga Tampok

  4. Maagang Pagtigil

  5. Regularization

  6. Paghahanda

1. Cross-Validation

Ang isa sa pinakamakapangyarihang tampok upang maiwasan / maiwasan ang overfitting ay ang cross-validation. Ang ideya sa likod nito ay ang paggamit ng paunang data ng pagsasanay upang makabuo ng mga mini train-test-split, at pagkatapos ay gamitin ang mga paghati na ito upang ibagay ang iyong modelo.

Sa isang karaniwang pagpapatunay ng k-fold, ang data ay nahahati sa mga k-subset na kilala rin bilang mga tiklop. Pagkatapos nito, ang algorithm ay sinanay nang paulit-ulit sa mga k-1 na kulungan habang ginagamit ang natitirang mga kulungan bilang set ng pagsubok, na kilala rin bilang holdout na tiklop.

Tinutulungan kami ng cross-validation na mai-tune ang mga hyperparameter na may orihinal lamang na hanay ng pagsasanay. Karaniwan nitong pinapanatili ang set ng pagsubok nang magkahiwalay bilang isang tunay na hindi nakikitang hanay ng data para sa pagpili ng panghuling modelo. Samakatuwid, pag-iwas sa overfitting kabuuan.

2. Pagsasanay Sa Maraming Data

Ang pamamaraan na ito ay maaaring hindi gumana sa bawat oras, tulad ng napag-usapan din sa halimbawa sa itaas, kung saan ang pagsasanay na may isang makabuluhang dami ng populasyon ay makakatulong sa modelo. Karaniwan nitong tinutulungan ang modelo sa pagkilala ng mas mahusay na signal.

Ngunit sa ilang mga kaso, ang pinataas na data ay maaari ring mangahulugan ng pagpapakain ng mas maraming ingay sa modelo. Kapag sinasanay namin ang modelo na may higit pang data, dapat naming tiyakin na ang data ay malinis at malaya mula sa pagiging random at hindi pagkakapare-pareho.

3. Pag-aalis ng Mga Tampok

Kahit na ang ilang mga algorithm ay may isang awtomatikong pagpili ng mga tampok. Para sa isang makabuluhang bilang ng mga walang pagpipilian sa built-in na tampok, maaari naming manu-manong alisin ang ilang mga hindi kaugnay na tampok mula sa mga tampok sa pag-input upang mapabuti ang paglalahat.

Ang isang paraan upang gawin ito ay sa pamamagitan ng pagkuha ng isang konklusyon sa kung paano umaangkop sa isang modelo ang isang tampok. Ito ay halos kapareho sa pag-debug ng code na linya sa linya.

Kung sakali kung hindi maipaliwanag ng isang tampok ang kaugnayan sa modelo, maaari lamang naming makilala ang mga tampok na iyon. Maaari rin kaming gumamit ng ilang heuristics ng pagpili ng tampok para sa isang magandang panimulang punto.

4. Maagang Paghinto

Kapag ang modelo ay pagsasanay, masusukat mo talaga kung gaano kahusay gumaganap ang modelo batay sa bawat pag-ulit. Magagawa natin ito hanggang sa isang punto kung saan pinapabuti ng mga pag-ulit ang pagganap ng modelo. Pagkatapos nito, overfits ng modelo ang data ng pagsasanay habang ang paglalahat ay humina pagkatapos ng bawat pag-ulit.

Kaya karaniwang, ang maagang paghinto ay nangangahulugang paghinto ng proseso ng pagsasanay bago maipasa ng modelo ang puntong nagsisimula ang modelo na mag-overfit sa data ng pagsasanay. Ang pamamaraang ito ay kadalasang ginagamit sa malalim na pag-aaral .

5. Regularization

Ito ay nangangahulugang nangangahulugang, artipisyal na pinipilit ang iyong modelo na maging mas simple sa pamamagitan ng paggamit ng isang mas malawak na hanay ng mga diskarte. Ito ay ganap na nakasalalay sa uri ng natututo na ginagamit namin. Halimbawa, maaari nating prune a , gumamit ng isang dropout sa a neural network o magdagdag ng isang parameter ng parusa sa pagpapaandar ng gastos sa pagbabalik.

pataas na order c ++

Kadalasan, ang regularisasyon ay isang hyperparameter din. Nangangahulugan ito na maaari rin itong i-tune sa pamamagitan ng cross-validation.

6. Paghahanda

Karaniwang pinagsasama ng diskarteng ito ang mga hula mula sa iba't ibang mga modelo ng Pag-aaral ng Machine. Ang dalawa sa mga pinaka-karaniwang pamamaraan para sa ensembling ay nakalista sa ibaba:

  • Sinusubukan ng pag-bagging na bawasan ang pagkakataon na overfitting ang mga modelo

  • Ang pagpapalakas ng mga pagtatangka upang mapabuti ang mahuhulaan na kakayahang umangkop ng mas simpleng mga modelo

Kahit na pareho silang pamamaraan ng ensemble, ang diskarte ay ganap na nagsisimula mula sa kabaligtaran ng mga direksyon. Gumagamit ang bagging ng mga kumplikadong modelo ng base at sinusubukan na pakinisin ang kanilang mga hula habang ang pagpapalakas ay gumagamit ng mga simpleng modelo ng base at sinusubukan na mapalakas ang pinagsama-samahang pagiging kumplikado.

Ano ang Goodness Of Fit?

Sa pagmomodelo ng istatistika, ang kabutihan ng pagkakasya ay tumutukoy sa kung gaano kalapit ang mga kinalabasan o hinulaang halaga na tumutugma sa naobserbahan o totoong mga halaga.Ang isang modelo na natutunan ang ingay sa halip na ang signal ay overfitted dahil magkakasya ito sa hanay ng data ng pagsasanay ngunit magkakaroon ng mas mahirap na kahusayan sa bagong hanay ng data.

Ang Trade-off sa Pagitan ng Bias At Pagkakaiba-iba

Parehong pagkakaiba-iba at bias ay mga form ng error sa hula sa . Ang trade-off sa pagitan ng mataas na pagkakaiba-iba at mataas na bias ay isang napakahalagang konsepto sa istatistika at Pag-aaral ng Machine. Ito ay isang konsepto na nakakaapekto sa lahat ng pinangangasiwaang mga algorithm sa Pag-aaral ng Machine.

Ang bias-variance trade-off ay may napakahalagang epekto sa pagtukoy ng pagiging kumplikado, underfitting, at overfitting para sa anumang modelo ng Pag-aaral ng Machine.

Bias

Ito ay walang iba kundi ang pagkakaiba sa pagitan ng hinulaang mga halaga at ang aktwal o totoong mga halaga sa modelo. Hindi laging madali para sa modelo na matuto mula sa mga kumplikadong signal.

Isipin nating akma ang a linear regression sa isang modelo na may di-linear na data. Hindi mahalaga kung gaano kahusay na natutunan ng modelo ang mga obserbasyon, hindi nito ma-e-modelo ang mga kurba nang mahusay. Ito ay kilala bilang underfitting.

Pagkakaiba-iba

Ito ay tumutukoy sa pagiging sensitibo ng modelo sa mga tukoy na hanay sa data ng pagsasanay. Ang isang mataas na pagkakaiba-iba ng algorithm ay gagawa ng isang kakaibang modelo na ibang-iba sa hanay ng pagsasanay.

Mag-isip ng isang algorithm na umaangkop sa hindi nakontrol at sobrang nababaluktot na modelo, matututunan din ito mula sa ingay sa hanay ng pagsasanay na nagdudulot ng overfitting.

Bias-Variance Trade-off

Ang isang algorithm ng Pag-aaral ng Machine ay hindi maaaring mapaghihinalaang isang isang beses na pamamaraan para sa pagsasanay ng modelo, sa halip, ito ay isang paulit-ulit na proseso.

Ang mga mababang algorithm na mataas ang pagkakaiba-iba ay hindi gaanong kumplikado, na may isang simple at matibay na istraktura.

  • Sanayin nila ang mga modelo na pare-pareho, ngunit hindi tumpak sa average.

  • Kabilang dito ang mga linear o parametric algorithm, tulad ng pag-urong, , atbp.

Ang mga mataas na variant-low bias algorithm ay madalas na maging mas kumplikado, na may isang nababaluktot na istraktura.

  • Sanayin nila ang mga modelo na hindi naaayon ngunit tumpak sa average.

  • Kasama rito ang mga hindi linear o hindi parametric na algorithm tulad ng , , atbp.

Dinadala tayo nito sa pagtatapos ng artikulong ito kung saan natutunan ang Overfitting sa pag-aaral ng Machine at tungkol sa iba't ibang mga diskarte upang maiwasan ito. Inaasahan kong malinaw ka sa lahat ng naibahagi sa iyo sa tutorial na ito.

Kung nakita mo ang artikulong ito sa 'Pag-overfitting Sa Pag-aaral ng Makina' na may kaugnayan, tingnan ang isang pinagkakatiwalaang kumpanya sa online na pag-aaral na may isang network ng higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo.

Narito kami upang matulungan ka sa bawat hakbang sa iyong paglalakbay at magkaroon ng isang kurikulum na idinisenyo para sa mga mag-aaral at propesyonal na nais na maging . Ang kurso ay dinisenyo upang bigyan ka ng isang panimula sa Python program at sanayin ka para sa parehong core at advanced na mga konsepto ng Python kasama ang iba't ibang katulad , , atbp.

ano ang variable na halimbawa sa java

Kung mahahanap mo ang anumang mga katanungan, huwag mag-atubiling itanong ang lahat ng iyong mga katanungan sa seksyon ng mga komento ng 'Overfitting In Machine Learning' at ang aming koponan ay nalulugod na sagutin.