Regularisointi koneoppimisen yhteydessä on tärkeä tekniikka, jota käytetään parantamaan mallien yleistyssuorituskykyä, varsinkin kun käsitellään korkeadimensionaalista dataa tai monimutkaisia malleja, jotka ovat alttiita ylisovitukselle. Ylisovitus tapahtuu, kun malli oppii harjoitustietojen taustalla olevien kuvioiden lisäksi myös kohinan, mikä johtaa huonoon suorituskykyyn näkymättömissä tiedoissa. Säännöllistäminen tuo malliin lisätietoa tai rajoituksia, joilla estetään ylisovitus rankaisemalla liian monimutkaisia malleja.
Regularisoinnin perusideana on sisällyttää sakkotermi tappiofunktioon, jota malli yrittää minimoida. Tämä sakkotermi estää mallia sovittamasta kohinaa opetusdataan aiheuttamalla kustannuksia monimutkaisuudesta, joka tyypillisesti mitataan mallin parametrien suuruudella. Näin tekemällä regularisointi auttaa saavuttamaan tasapainon harjoitustietojen hyvän sovituksen ja mallin kyvyn yleistää uuteen dataan ylläpitämisen välillä.
Koneoppimisessa yleisesti käytettyjä regularisointitekniikoita on useita, joista yleisimmät ovat L1-regulointi, L2-regulointi ja keskeyttäminen. Jokaisella näistä tekniikoista on omat ominaisuutensa ja sovelluksensa.
1. L1-regulointi (Lasso-regressio): L1-regulointi lisää tappiofunktioon sakkoa, joka on yhtä suuri kuin kertoimien suuruuden itseisarvo. Matemaattisesti se voidaan esittää seuraavasti:
jossa on alkuperäinen häviöfunktio, on regularisointiparametri ja ovat mallin parametrit. L1-regulaation vaikutus on, että se pyrkii tuottamaan harvoja malleja, mikä tarkoittaa, että se ajaa osan kertoimista nollaan suorittaen tehokkaasti ominaisuuden valinnan. Tämä voi olla erityisen hyödyllistä käsiteltäessä suuriulotteisia tietoja, joissa monet ominaisuudet voivat olla merkityksettömiä.
2. L2-regulointi (Ridgen regressio): L2-regulointi lisää tappiofunktioon sakkoa, joka on yhtä suuri kuin kertoimien suuruuden neliö. Se ilmaistaan matemaattisesti seuraavasti:
L2-regulointi estää suuria kertoimia rankaisemalla niiden neliöarvoja, mikä johtaa tasaisemmin jakautuneeseen painosarjaan. Toisin kuin L1, L2-regulointi ei tuota harvaa mallia, koska se ei pakota kertoimia täsmälleen nollaan, vaan pitää ne pieninä. Tämä on erityisen hyödyllistä ylisovituksen välttämiseksi, kun kaikilla ominaisuuksilla on jotain merkitystä.
3. Elastisen verkon laillistaminen: Elastic Net yhdistää sekä L1- että L2-regulaation. Se on erityisen hyödyllinen tilanteissa, joissa on useita toisiinsa liittyviä ominaisuuksia. Elastic Net -rangaistus on lineaarinen yhdistelmä L1- ja L2-rangaistuksia:
Parametreja säätämällä ja , Elastic Net voi tasapainottaa sekä L1- että L2-reguloinnin edut.
4. Lopettaa: Dropout on erityisesti hermoverkkoja varten suunniteltu regularisointitekniikka. Harjoittelun aikana keskeyttäminen asettaa satunnaisesti osan kerroksen solmuista (neuroneista) nollaan jokaisessa iteraatiossa. Tämä estää verkkoa luottamasta liian voimakkaasti mihinkään yksittäiseen solmuun ja rohkaisee verkkoa oppimaan tehokkaampia ominaisuuksia. Dropout on erityisen tehokas syväoppimismalleissa, joissa ylisovitus on yleinen ongelma parametrien suuren määrän vuoksi.
5. Aikainen pysähdys: Vaikka se ei olekaan laillistamistekniikka perinteisessä mielessä, varhainen lopettaminen on strategia liiallisen istuvuuden estämiseksi pysäyttämällä harjoitusprosessi, kun validointisarjan suorituskyky alkaa heikentyä. Tämä on erityisen hyödyllistä iteratiivisissa menetelmissä, kuten gradienttilaskeutumisessa, jossa mallia päivitetään jatkuvasti.
Laillistaminen on välttämätöntä koneoppimisessa, koska sen avulla mallit voivat toimia hyvin näkymättömällä tiedolla hallitsemalla niiden monimutkaisuutta. Regularointitekniikan valinta ja sen parametrien viritys ( L1:lle ja L2:lle keskeyttämisprosentti) ovat tärkeitä ja vaativat usein kokeilua ja ristiinvalidointia optimaalisten tulosten saavuttamiseksi.
Harkitse esimerkiksi lineaarista regressiomallia, joka on koulutettu tietojoukolle, jossa on monia ominaisuuksia. Ilman säännöstelyä malli saattaa antaa suuria painotuksia joillekin ominaisuuksille, jotka sopivat harjoitustiedot hyvin tiiviisti, mutta toimivat huonosti testitiedoissa ylisovituksen vuoksi. Käyttämällä L2-regulointia mallia rohkaistaan jakamaan painot tasaisemmin, mikä saattaa johtaa parempaan yleistykseen uudessa tiedossa.
Toisessa skenaariossa kuvadataan koulutettu hermoverkko saattaa ylisovittaa muistamalla tiettyjä kuvioita harjoituskuvista. Pudotusta käyttämällä verkko pakotetaan oppimaan yleisempiä ominaisuuksia, jotka ovat hyödyllisiä eri kuvissa, mikä parantaa suorituskykyään näkymättömissä tiedoissa.
Regularisointi on koneoppimisen peruskonsepti, joka auttaa estämään ylisovitusta lisäämällä mallin katoamisfunktioon sakon monimutkaisuudesta. Hallitsemalla mallin monimutkaisuutta, regularisointitekniikat, kuten L1, L2, Elastic Net, dropout ja varhainen pysäytys, mahdollistavat paremman yleistämisen uuteen dataan, mikä tekee niistä välttämättömiä työkaluja koneoppimisen harjoittajan työkalupakissa.
Muita viimeaikaisia kysymyksiä ja vastauksia liittyen EITC/AI/GCML Google Cloud Machine Learning:
- Miten päätät, mitä koneoppimisalgoritmia käytät ja miten löydät sen?
- Mitä eroa on Federated learning ja Edge Computing & On-Device Machine Learning välillä?
- Kuinka valmistella ja puhdistaa tiedot ennen harjoittelua?
- Tarkoitin toimintoja, kuten luokittelua, tunnistamista jne. Haluaisin luettelon kaikista mahdollisista toiminnoista ja selityksen siitä, mitä kullakin tarkoitetaan.
- Mitä toimintoja ML:llä voi tehdä ja miten niitä voidaan käyttää?
- Mitkä ovat nyrkkisäännöt tietyn strategian hyväksymiselle? Voitko ilmoittaa erityiset parametrit, jotka saavat minut ymmärtämään, kannattaako käyttää monimutkaisempaa mallia?
- Millä parametrilla ymmärrän, onko aika siirtyä lineaarisesta mallista syvään oppimiseen?
- Mikä Python-versio olisi paras TensorFlow'n asentamiseen, jotta vältetään ongelmat, kun TF-jakeluja ei ole saatavilla?
- Mikä on syvä neuroverkko?
- Kuinka kauan koneoppimisen perusteiden oppiminen yleensä kestää?
Katso lisää kysymyksiä ja vastauksia EITC/AI/GCML Google Cloud Machine Learningissä