Bedste svar
Træningsfejl er den fejl, du får, når du kører den trænede model tilbage på træningsdataene. Husk, at disse data allerede er brugt til at træne modellen, og dette betyder ikke nødvendigvis, at modellen, når den først er trænet, vil udføre nøjagtigt, når den anvendes tilbage på selve træningsdataene.
Testfejl er fejlen, når du få, når du kører den uddannede model på et datasæt, som den tidligere aldrig har været udsat for. Disse data bruges ofte til at måle nøjagtigheden af modellen, før den sendes til produktion.
Svar
Ideen er at bevidst fremkalde overfitting i en neuralt netværk (NN) model, det kan vi gøre ved:
- Brug af store modeller med meget stort antal parametre. En stor nok NN skal have tilstrækkelige frihedsgrader til at passe til hele ImageNet-datasættet.
- Vi kan undgå normalisering som f.eks. Frafald, L\_1, L\_2 eller batchnormalisering. Regularisering kan øge træningsfejlen let og dermed øge chancerne for nul træningsfejl vi er nødt til at undgå enhver form for regulering. Selv om en velreguleret model kan have nul t regnfejl.
- Brug små læringshastigheder, fordi store læringshastigheder faktisk har små reguleringsegenskaber. For store læringshastigheder kan modelparametrene ikke afregnes nøjagtigt i et lokalt minimum, fordi parameteropdateringer springer omkring det lokale minimum. At hoppe rundt og omkring kan forhindre modellen i at huske træningssættet ved hjælp af små læringshastigheder, modellen kan afregne lidt mere præcist i et lokalt minimum, hvilket øger chancerne for, at modellen husker træningsdatasættet.
- Undgå tidligt at stoppe ved at køre modellen gennem et stort antal træningsperioder. Tidlig standsning har også en vis reguleringseffekt, som kan forhindre huskningen af det store træningssæt.
- Træn modellen med forskellige indledende tilfældige vægte, da de oprindelige vægte bestemmer det lokale minimum, som parametrene vil sætte sig i. Nogle lokale minima muligvis muligvis ikke nul-træningsfejl på hele ImageNet-datasættet, så vi bør bevidst søge efter sådanne lokale minima, hvor træningsfejlen er nul.
På nogle relativt enkle datasæt som MNIST nogle modeller er i stand til at få en 100\% træningsnøjagtighed, mens de samtidig får en ret god testnøjagtighed på 99\% +. I sådanne tilfælde viser det, at en model med nul træningsfejl ikke indebærer overfitting.
Men at få nul træningsfejl på et meget stort kompliceret datasæt som ImageNet kan stærkt indikere, at din model er overmontering.
Andre modeller kan bygges med simpel nok kapacitet til at huske hele ImageNet-datasættet. Som k nærmeste nabo (kNN) -algoritme med k = 1, og det vil let have nul træningsfejl. I maskinlæring (ML) er processen at bare huske et træningssæt kaldes doven læring, og det er faktisk vigtigt i nogle tilfælde, når der ikke er meget variation mellem træning og testdatapunkter.
Faktisk fungerer kNN meget godt for meget små patches. . Imidlertid lider kNN med større opløsningspatcher af forbandelsen af dimensionalitet, fordi kNN ikke lærer relevante funktioner, så irrelevante funktioner kan interferere med lighedsmålingen.
I tilfælde af at prøve at få nul træningsfejl, forbandelsen af dimensionalitet har ingen effekt selv på kNN-algoritmen, da vi teknisk set bare matcher træningsdatasættet til sig selv.
Selvom en sådan model er mindre tilbøjelig til at fungere godt på testsættet. Når der er en stort hul mellem træningsnøjagtighed og testnøjagtighed, modellen siges at have overtrådt træningsdataene.
Håber dette hjælper.