Kas ir mašīnmācīšanās pārspīlēšana un kā no tā izvairīties?



Šis raksts aptver pārmērīgu aprīkojumu mašīnmācībā ar piemēriem un dažiem paņēmieniem, kā izvairīties, lai atklātu pārmērīgu aprīkojumu mašīnmācīšanās modelī.

Mašīnmācīšanās modeļa veidošana nav tikai datu ievadīšana, ir daudz trūkumu, kas ietekmē jebkura modeļa precizitāti. Pārspīlēšana ir viens no šādiem mašīnmācīšanās trūkumiem, kas kavē modeļa precizitāti, kā arī tā veiktspēju. Šajā rakstā ir apskatītas šādas tēmas:

Kas ir mašīnmācīšanās pārspīlēšana?

Tiek teikts, ka statistikas modelis ir pārāk piemērots, ja mēs tam piegādājam daudz vairāk datu nekā nepieciešams. Lai padarītu to relatable, iedomājieties, kā mēģināt iekļauties pārāk lielos apģērbos.





Kad modelis atbilst vairāk datu, nekā tas patiesībā nepieciešams, tas sāk uztvert trokšņainos datus un neprecīzās datu vērtības. Rezultātā samazinās modeļa efektivitāte un precizitāte. Apskatīsim dažus pārspīlēšanas piemērus, lai saprastu, kā tas faktiski notiek.



Pārdošanas piemēri

1. piemērs

Ja ņemam vienkārša piemēru lineārā regresija , datu apmācība ir saistīta ar minimālo izmaksu noteikšanu starp piemērotāko līniju un datu punktiem. Lai noskaidrotu optimālo piemērotību, samazinot izmaksas, tiek veikta virkne atkārtojumu. Šeit attēlā parādās pārspīlēšana.



Augšējā attēlā redzamā līnija var dot ļoti efektīvu rezultātu jaunam datu punktam. Pārspīlēšanas gadījumā, palaižot apmācības algoritmu datu kopā, mēs ļaujam samazināt izmaksas ar katru atkārtojuma skaitu.

Palaist šo Pārāk ilgi tas nozīmē samazinātas izmaksas, bet tas derēs arī trokšņainajiem datiem no datu kopas. Rezultāts izskatīsies apmēram tāpat kā zemāk redzamajā diagrammā.

Tas varētu izskatīties efektīvi, bet patiesībā tā nav. Galvenais tāda algoritma mērķis kā lineārā regresija ir atrast dominējošu tendenci un atbilstoši pielāgot datu punktus. Bet šajā gadījumā līnija der visiem datu punktiem, kas nav svarīgi modeļa efektivitātei, lai prognozētu optimālos rezultātus jauniem ieejas datu punktiem.

Tagad aplūkosim aprakstošāku piemēru, izmantojot problēmas paziņojumu.

2. piemērs

Problēmas izklāsts: Ļaujiet mums uzskatīt, ka mēs vēlamies paredzēt, vai futbolists iegūs vietu 1. līmeņa futbola klubā, pamatojoties uz viņa / viņas pašreizējo sniegumu 2. līmeņa līgā.

Tagad iedomājieties, mēs apmācām un piemērojam modeli 10 000 šādiem spēlētājiem ar rezultātiem. Mēģinot paredzēt sākotnējā datu kopas iznākumu, pieņemsim, ka mēs saņēmām 99% precizitāti. Bet precizitāte citā datu kopā ir aptuveni 50 procenti. Tas nozīmē, ka modelis nav labi vispārināts no mūsu apmācības datiem un neredzētajiem datiem.

Tas ir tas, kā izskatās pārspīlēšana. Mašīnmācībā un pat datu zinātnē tā ir ļoti izplatīta problēma. Tagad ļaujiet mums saprast signālu un troksni.

Signāls pret troksni

Prognozējošajā modelēšanā signāls attiecas uz patieso pamatā esošo modeli, kas modelim palīdz apgūt datus. No otras puses, troksnim nav nozīmes, un datu kopā ir nejauši dati. Lai saprastu trokšņa un signāla jēdzienu, ņemsim piemēru reālajā dzīvē.

Pieņemsim, ka mēs vēlamies modelēt vecumu un lasītprasmi pieaugušo vidū. Ja mēs atlasīsim ļoti lielu iedzīvotāju daļu, mēs atradīsim skaidras attiecības. Šis ir signāls, bet troksnis traucē signālu. Ja mēs rīkosimies tāpat vietējiem iedzīvotājiem, attiecības kļūs duļķainas. To ietekmētu neiecietība un nejaušība, piemēram, viens pieaugušais agri devās uz skolu vai kāds pieaugušais nevarēja atļauties izglītību utt.

Runājot par troksni un signālu mašīnmācīšanās ziņā, labs mašīnmācīšanās algoritms automātiski nošķir signālus no trokšņa. Ja algoritms ir pārāk sarežģīts vai neefektīvs, tas var iemācīties arī troksni. Līdz ar to modeļa pārspīlēšana. Sapratīsim arī nepietiekamu atbilstību mašīnmācībai.

Kas ir nepietiekams?

Lai izvairītos no pārspīlēšanas, mēs varētu pārtraukt apmācību jau agrāk. Bet tas var arī novest pie tā, ka modelis nespēj pietiekami daudz mācīties no apmācības datiem, tāpēc var būt grūti uztvert dominējošo tendenci. Tas ir pazīstams kā nepietiekams. Rezultāts ir tāds pats kā pārspīlēšana, neefektivitāte rezultātu prognozēšanā.

leļļu vs šefpavārs vs dokers

Tagad, kad mēs esam sapratuši, kas patiesībā ir nepietiekams un pārmērīgs aprīkojums mašīnmācībā, mēģināsim saprast, kā mēs varam atklāt pārmērīgu aprīkojumu mašīnmācībā.

Kā noteikt pārspīlēšanu?

Galvenā problēma ar pārmērīgu uzstādīšanu ir novērtēt mūsu modeļa veiktspējas precizitāti ar jauniem datiem. Mēs nevarētu novērtēt precizitāti, kamēr mēs to faktiski nepārbaudīsim.

Lai risinātu šo problēmu, mēs varam sadalīt sākotnējo datu kopu atsevišķās apmācības un testa datu kopās. Izmantojot šo paņēmienu, mēs faktiski varam aptuveni noteikt, cik labi mūsu modelis darbosies ar jaunajiem datiem.

Ļaujiet mums to saprast ar piemēru, iedomājieties, ka mēs iegūstam vairāk nekā 90 procentu precizitāti treniņu komplektā un 50 procentu precizitāti testa komplektā. Tad automātiski tas būtu sarkanais karogs modelim.

Vēl viens veids, kā atklāt pārspīlēšanu ir sākt ar vienkāršotu modeli, kas kalpos kā etalons.

Izmantojot šo pieeju, izmēģinot sarežģītākus algoritmus, varēsiet saprast, vai papildu sarežģītība pat ir modeļa vērta vai nē. Tas ir arī pazīstams kā Occam skuvekļa tests , tā pamatā izvēlas vienkāršoto modeli salīdzināmas veiktspējas gadījumā divu modeļu gadījumā. Lai gan pārmērīgas uzstādīšanas atklāšana ir laba prakse,taču ir arī vairākas metodes, kā novērst pārspīlēšanu. Apskatīsim, kā mēs varam novērst pārmeklēšanu mašīnmācībā.

Kā izvairīties no pārspīlēšanas mašīnmācībā?

Lai izvairītos no mašīnmācīšanās pārspīlēšanas, ir vairākas metodes, kas uzskaitītas tālāk.

  1. Savstarpēja validācija

  2. Treniņš ar vairāk datu

  3. Funkciju noņemšana

  4. Agrīna apstāšanās

  5. Regulēšana

    selēna tīmekļa draivera testng ietvara piemērs
  6. Salikšana

1. savstarpēja apstiprināšana

Viena no spēcīgākajām funkcijām, lai izvairītos no pārmērīgas uzstādīšanas / novērstu to, ir savstarpēja validācija. Ideja ir izmantot sākotnējos apmācības datus, lai izveidotu mini vilcienu-testu sadalījumus, un pēc tam izmantot šos sadalījumus, lai pielāgotu savu modeli.

Standarta k-reizes validācijā dati tiek sadalīti k-apakškopās, kas pazīstamas arī kā krokas. Pēc tam algoritms tiek iteratīvi apmācīts uz k-1 krokām, vienlaikus kā testa komplektu izmantojot pārējās krokas, ko dēvē arī par noturēšanas krokām.

Krusteniskā pārbaude palīdz mums pielāgot hiperparametrus tikai ar sākotnējo apmācību komplektu. Tas galvenokārt saglabā testa kopu atsevišķi kā patiesu neredzētu datu kopu galīgā modeļa izvēlei. Tādējādi izvairoties no pārmērīgas uzstādīšanas.

2. Apmācība ar vairāk datu

Šī tehnika, iespējams, nedarbosies katru reizi, kā mēs esam apsprieduši arī iepriekš minētajā piemērā, kur apmācība ar ievērojamu iedzīvotāju skaitu palīdz modelim. Tas būtībā palīdz modelim labāk identificēt signālu.

Bet dažos gadījumos palielinātie dati var nozīmēt arī modeļa lielāku troksni. Apmācot modeli ar vairāk datiem, mums ir jāpārliecinās, ka dati ir tīri un bez nejaušības un pretrunām.

3. Funkciju noņemšana

Lai gan dažiem algoritmiem ir automātiska funkciju izvēle. Ievērojamai daļai cilvēku, kuriem nav iebūvētu funkciju izvēles, mēs varam manuāli noņemt dažas neatbilstošas ​​funkcijas no ievades līdzekļiem, lai uzlabotu vispārinājumu.

Viens veids, kā to izdarīt, ir izdarīt secinājumu par to, kā iezīme iekļaujas modelī. Tas ir diezgan līdzīgs koda atkļūdošanai pa rindai.

Gadījumā, ja kāda funkcija nespēj izskaidrot modeļa atbilstību, mēs varam tās vienkārši identificēt. Lai iegūtu labu sākumpunktu, mēs pat varam izmantot dažas funkciju atlases heiristikas.

4. Agrīna apstāšanās

Kad modelis trenējas, jūs faktiski varat izmērīt modeļa veiktspēju, pamatojoties uz katru atkārtojumu. Mēs to varam izdarīt līdz brīdim, kad atkārtojumi uzlabo modeļa veiktspēju. Pēc tam modelis pārspēj apmācības datus, jo vispārinājums pēc katras iterācijas vājinās.

Tātad būtībā agrīna apstāšanās nozīmē apmācības procesa apturēšanu pirms modeļa iziešanas vietā, kur modelis sāk pārspēt apmācības datus. Šo tehniku ​​galvenokārt izmanto dziļa mācīšanās .

5. Regulēšana

Tas būtībā nozīmē mākslīgu modeļa piespiešanu būt vienkāršākam, izmantojot plašāku paņēmienu klāstu. Tas pilnībā ir atkarīgs no izmantotā apmācāmā veida. Piemēram, mēs varam apgriezt a , izmantojiet a neironu tīkls vai regresijā pievienojiet soda parametru izmaksu funkcijai.

Diezgan bieži regulēšana ir arī hiperparametrs. Tas nozīmē, ka to var arī noregulēt, izmantojot savstarpēju apstiprināšanu.

6. Ansamblis

Šis paņēmiens būtībā apvieno dažādu mašīnmācīšanās modeļu prognozes. Tālāk ir uzskaitītas divas no visizplatītākajām komplektēšanas metodēm:

  • Maisīšanas mēģinājumi samazināt modeļu pārspīlēšanas iespēju

  • Paaugstināšanas mēģinājumi uzlabot vienkāršāku modeļu paredzamo elastību

Lai gan tās abas ir ansambļa metodes, pieeja pilnībā sākas no pretējiem virzieniem. Bagings izmanto sarežģītus bāzes modeļus un mēģina izlīdzināt to prognozes, vienlaikus veicot vienkāršus bāzes modeļus un mēģinot palielināt tā kopējo sarežģītību.

Kas ir Fitness labestība?

Statistiskajā modelēšanā piemērotības labvēlība attiecas uz to, cik cieši rezultāti vai prognozētās vērtības atbilst novērotajām vai patiesajām vērtībām.Modelis, kas signāla vietā ir iemācījies troksni, tiek pārspīlēts, jo tas derēs treniņu datu kopai, bet būs sliktāks ar jauno datu kopu.

Kompromiss starp neobjektivitāti un dispersiju

Gan dispersija, gan aizspriedumi ir prognozēšanas kļūdu veidi . Kompromiss starp lielu dispersiju un lielu neobjektivitāti ir ļoti svarīgs jēdziens statistikā un mašīnmācībā. Šī ir viena koncepcija, kas ietekmē visus uzraudzītos mašīnmācīšanās algoritmus.

Neobjektivitātes un dispersijas kompromisam ir ļoti nozīmīga ietekme uz jebkura mašīnmācīšanās modeļa sarežģītības, nepietiekama un pārspīlējuma noteikšanu.

Aizspriedums

Tas nav nekas cits kā atšķirība starp prognozētajām vērtībām un faktiskajām vai patiesajām vērtībām modelī. Ne vienmēr modelim ir viegli mācīties no diezgan sarežģītiem signāliem.

Iedomāsimies, kā piemērot a lineārā regresija uz modeli ar nelineāriem datiem. Neatkarīgi no tā, cik efektīvi modelis apgūst novērojumus, līknes tas netiks efektīvi modelēts. Tas ir pazīstams kā nepietiekams.

Dispersija

Tas attiecas uz modeļa jutīgumu pret konkrētām kopām apmācības datos. Lielas dispersijas algoritms radīs dīvainu modeli, kas krasi atšķiras no apmācību kopas.

Iedomājieties algoritmu, kas atbilst neierobežotam un īpaši elastīgam modelim, un tas arī mācīsies no trokšņa apmācības komplektā, kas izraisa pārmērīgu uzstādīšanu.

Bias-Variance kompromiss

Mašīnmācīšanās algoritmu nevar uztvert kā vienreizēju metodi modeļa apmācībai, tā vietā tas ir atkārtots process.

Algoritmi ar zemu dispersiju un lielu novirzi ir mazāk sarežģīti, ar vienkāršu un stingru struktūru.

  • Viņi apmācīs modeļus, kas ir konsekventi, bet vidēji neprecīzi.

  • Tie ietver lineārus vai parametriskus algoritmus, piemēram, regresiju, utt.

Algoritmi ar lielu dispersiju un zemu novirzi parasti ir sarežģītāki, ar elastīgu struktūru.

  • Viņi apmācīs modeļus, kas ir pretrunīgi, bet vidēji precīzi.

  • Tie ietver nelineārus vai neparametriskus algoritmus, piemēram, , utt.

Tādējādi mēs nonākam līdz šī raksta beigām, kurā mēs esam iemācījušies mašīnmācībā pārmērīgu aprīkojumu un par dažādām metodēm, kā no tā izvairīties. Es ceru, ka jums ir skaidrs viss, kas ar jums ir kopīgots šajā apmācībā.

Ja jums šķita atbilstošs šis raksts par “Pārmontēšanu mašīnmācībā”, skatiet vietni uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē.

Mēs esam šeit, lai palīdzētu jums ik uz soļa jūsu ceļojumā un izdomātu mācību programmu, kas paredzēta studentiem un profesionāļiem, kuri vēlas būt . Kurss ir paredzēts, lai dotu jums sākumu Python programmēšanā un apmācītu gan pamata, gan uzlabotas Python koncepcijas kopā ar dažādām patīk , utt.

viendimensiju masīvs java

Ja rodas kādi jautājumi, droši uzdodiet visus jautājumus komentāru sadaļā “Pārmontēšana mašīnmācībā”, un mūsu komanda ar prieku atbildēs.