Beste svaret
Treningsfeil er feilen du får når du kjører den trente modellen tilbake på treningsdataene. Husk at disse dataene allerede har blitt brukt til å trene modellen, og dette betyr ikke nødvendigvis at modellen en gang trent vil utføre nøyaktig når den brukes på selve treningsdataene.
Testfeil er feilen når du få når du kjører den trente modellen på et datasett som den tidligere aldri har vært utsatt for. Disse dataene brukes ofte til å måle nøyaktigheten til modellen før den sendes til produksjon.
Svar
Ideen er å bevisst indusere overmontering i en neuralt nettverksmodell (NN), vi kan gjøre det ved å:
- Bruk av store modeller med veldig stort antall parametere. NN skal ha nok frihetsgrader til å passe til hele ImageNet-datasettet.
- Vi kan unngå normalisering som frafall, L\_1, L\_2 eller batchnormalisering. Regularisering kan øke treningsfeilen litt og øke sjansene for null treningsfeil vi må unngå alle former for regularisering, selv om en godt regulert modell kan ha null t regnfeil.
- Bruk små læringsgrader fordi store læringsgrader faktisk har små egenskaper for regulering. For store læringsgrader kan ikke modellparametrene avgjøre nøyaktig i et lokalt minimum fordi parameteroppdateringer hopper rundt og om det lokale minimumet. At hopping rundt og rundt kan hindre modellen i å huske treningssettet, ved å bruke små læringsgrader, modellen kan slå seg litt mer presist i et lokalt minimum og dermed øke sjansene for at modellen lagrer treningsdatasettet.
- Unngå å stoppe tidlig ved å kjøre modellen gjennom et stort antall treningsperioder. Tidlig stopp har også en viss reguleringseffekt som kan forhindre lagring av det store treningssettet.
- Tren modellen med forskjellige innledende tilfeldige vekter, da de første vektene bestemmer det lokale minimumet som parametrene vil legge seg i. Noen lokale minima kan ikke aktivere null treningsfeil på hele ImageNet-datasettet, så vi bør bevisst søke etter slike lokale minima der treningsfeilen er null.
På noen relativt enkle datasett som MNIST, noen modeller er i stand til å få en 100\% treningsnøyaktighet, samtidig som de får en ganske god testnøyaktighet på 99\% +. I slike tilfeller viser det at en modell uten treningsfeil ikke innebærer overmontering.
Men å få null treningsfeil på et veldig stort komplisert datasett som ImageNet, kan sterkt indikere at modellen din er overmontert.
Andre modeller kan bygges ganske enkelt med stor nok kapasitet til å huske hele ImageNet-datasettet. Som k nærmeste nabo (kNN) -algoritme med k = 1 og det vil lett ha null treningsfeil. I maskinlæring (ML) prosessen bare å huske et treningssett kalles lat læring, og det er faktisk viktig i noen tilfeller når det ikke er mye variasjon mellom trening og testdatapunkter.
Faktisk fungerer kNN veldig bra for veldig små oppdateringer. . Imidlertid, med større oppløsningsoppdateringer, lider kNN av forbannelsen av dimensjonalitet fordi kNN ikke lærer relevante funksjoner, slik at irrelevante funksjoner kan forstyrre likhetstiltaket.
I tilfelle prøver å få null treningsfeil, forbannelsen av dimensjonalitet har ingen effekt selv på kNN-algoritmen, siden vi teknisk sett bare tilpasser opplæringsdatasettet til seg selv.
Selv om en slik modell er mindre sannsynlig å prestere bra på testsettet. Når det er en stort gap mellom treningsnøyaktighet og testnøyaktighet, modellen sies å ha overtrening av treningsdataene.
Håper dette hjelper.