Reguliavimas mašininio mokymosi kontekste yra svarbi technika, naudojama siekiant pagerinti modelių apibendrinimo našumą, ypač kai kalbama apie didelės apimties duomenis arba sudėtingus modelius, kurie gali būti per daug pritaikyti. Perteklinis pritaikymas įvyksta, kai modelis išmoksta ne tik pagrindinius mokymo duomenų modelius, bet ir triukšmą, todėl nematyti duomenys prastai veikia. Reguliavimas suteikia modeliui papildomos informacijos arba apribojimų, kad būtų išvengta perdėto pritaikymo, nes bausti pernelyg sudėtingus modelius.
Pagrindinė sureguliavimo idėja yra įtraukti baudos terminą į nuostolių funkciją, kurią modelis bando sumažinti. Šis baudos terminas atgraso modelį nuo triukšmo pritaikymo mokymo duomenims, nes reikalauja sudėtingumo, paprastai matuojamo modelio parametrų dydžiu. Tai darant reguliavimas padeda pasiekti pusiausvyrą tarp tinkamo mokymo duomenų pritaikymo ir modelio gebėjimo apibendrinti naujus duomenis išlaikymo.
Mašininiame mokyme dažniausiai naudojami kelių tipų įteisinimo metodai, iš kurių labiausiai paplitę yra L1 reguliavimas, L2 reguliavimas ir iškritimas. Kiekvienas iš šių metodų turi savo ypatybes ir pritaikymą.
1. L1 reguliavimas (Laso regresija): L1 reguliavimas prie nuostolių funkcijos prideda baudą, lygią absoliučiai koeficientų dydžio vertei. Matematiškai jis gali būti pavaizduotas taip:
kur yra pradinė praradimo funkcija, yra reguliavimo parametras ir yra modelio parametrai. L1 reguliarumo efektas yra tas, kad jis linkęs sukurti negausius modelius, o tai reiškia, kad kai kurie koeficientai nukeliami iki nulio, veiksmingai pasirenkant elementus. Tai gali būti ypač naudinga dirbant su didelės apimties duomenimis, kai daugelis funkcijų gali būti nereikšmingos.
2. L2 reguliavimas (Ridžo regresija): L2 reguliavimas prie nuostolių funkcijos prideda baudą, lygią koeficientų dydžio kvadratui. Jis matematiškai išreiškiamas taip:
L2 sureguliavimas atgraso nuo didelių koeficientų, nes bausti jų kvadratines vertes, todėl svoriai pasiskirsto tolygiau. Skirtingai nuo L1, L2 reguliavimas nesukuria retų modelių, nes nepriverčia koeficientų būti tiksliai nuliui, o išlaiko juos mažus. Tai ypač naudinga norint išvengti per didelio pritaikymo, kai visos funkcijos turi tam tikrą reikšmę.
3. Elastinis tinklo įteisinimas: Elastic Net sujungia L1 ir L2 reguliarumą. Tai ypač naudinga tais atvejais, kai yra keletas susijusių funkcijų. Elastic Net bauda yra linijinis L1 ir L2 baudų derinys:
Derinant parametrus ir , Elastic Net gali subalansuoti tiek L1, tiek L2 sureguliavimo naudą.
4. Iškritimas: Dropout yra reguliavimo technika, specialiai sukurta neuroniniams tinklams. Treniruotės metu atmetimas atsitiktinai nustato dalį mazgų (neuronų) sluoksnyje iki nulio kiekvienos iteracijos metu. Tai neleidžia tinklui per daug pasikliauti vienu mazgu ir skatina tinklą išmokti tvirtesnių funkcijų. Iškritimas yra ypač efektyvus gilaus mokymosi modeliuose, kur dėl daugybės parametrų dažna problema yra per didelis pritaikymas.
5. Ankstyvas sustojimas: Nors tai nėra sureguliavimo technika tradicine prasme, ankstyvas sustabdymas yra strategija, padedanti išvengti persistengimo sustabdant treniruočių procesą, kai tik patvirtinimo rinkinio našumas pradeda prastėti. Tai ypač naudinga taikant iteracinius metodus, pvz., gradiento nusileidimą, kai modelis nuolat atnaujinamas.
Reguliavimas yra būtinas mašininiam mokymuisi, nes tai leidžia modeliams gerai veikti naudojant nematomus duomenis, kontroliuojant jų sudėtingumą. Reguliavimo technikos pasirinkimas ir jos parametrų derinimas ( L1 ir L2, iškritimo rodiklis yra svarbūs ir dažnai reikia eksperimentuoti ir atlikti kryžminį patvirtinimą, kad būtų pasiekti optimalūs rezultatai.
Pavyzdžiui, apsvarstykite tiesinės regresijos modelį, parengtą remiantis daugybe funkcijų turinčiu duomenų rinkiniu. Nereguliuojant modelis kai kurioms funkcijoms gali priskirti didelį svorį, labai tiksliai pritaikius treniruočių duomenis, tačiau dėl per didelio pritaikymo bandymo duomenis veiktų prastai. Taikant L2 reguliavimą, modelis skatinamas tolygiau paskirstyti svorius, todėl galima geriau apibendrinti naujus duomenis.
Pagal kitą scenarijų neuroninis tinklas, apmokytas pagal vaizdo duomenis, gali per daug prisitaikyti, įsimenant konkrečius mokymo vaizdų modelius. Taikant iškritimą, tinklas yra priverstas išmokti bendresnių funkcijų, kurios yra naudingos įvairiems vaizdams, pagerindamos savo našumą nematomuose duomenims.
Reguliavimas yra pagrindinė mašininio mokymosi koncepcija, kuri padeda išvengti per didelio pritaikymo, nes modelio praradimo funkcijai pridedant nuobaudą už sudėtingumą. Kontroliuojant modelio sudėtingumą, reguliavimo metodai, tokie kaip L1, L2, elastinis tinklas, iškritimas ir ankstyvas sustabdymas, leidžia geriau apibendrinti naujus duomenis, todėl jie yra būtini įrankiai mašininio mokymosi specialisto įrankių rinkinyje.
Kiti naujausi klausimai ir atsakymai apie EITC/AI/GCML „Google Cloud Machine Learning“:
- Kaip nuspręsti, kurį mašininio mokymosi algoritmą naudoti ir kaip jį rasti?
- Kuo skiriasi federacinis mokymasis nuo „Edge Computing & On-Device“ mašininio mokymosi?
- Kaip paruošti ir išvalyti duomenis prieš treniruotę?
- Turėjau omenyje tokias veiklas kaip klasifikavimas, identifikavimas ir tt Norėčiau visų galimų veiklų sąrašo ir paaiškinimo, ką reiškia kiekviena.
- Kokias veiklas galima atlikti naudojant ML ir kaip jas panaudoti?
- Kokios yra konkrečios strategijos priėmimo taisyklės? Ar galėtumėte nurodyti konkrečius parametrus, pagal kuriuos suprantu, ar verta naudoti sudėtingesnį modelį?
- Su kokiu parametru suprantu, ar laikas pereiti nuo linijinio modelio prie gilaus mokymosi?
- Kuri „Python“ versija būtų geriausia norint įdiegti „TensorFlow“, kad būtų išvengta problemų, kai nėra TF paskirstymo?
- Kas yra gilusis neuroninis tinklas?
- Kiek paprastai užtrunka išmokti mašininio mokymosi pagrindus?
Peržiūrėkite daugiau klausimų ir atsakymų EITC/AI/GCML Google Cloud Machine Learning