Bästa svaret
Träningsfel är det fel som du får när du kör tillbaka den utbildade modellen på träningsdata. Kom ihåg att dessa data redan har använts för att träna modellen och detta betyder inte nödvändigtvis att modellen som en gång tränats kommer att prestera exakt när den tillämpas på själva träningsdata.
Testfel är felet när du få när du kör den utbildade modellen på en uppsättning data som den tidigare aldrig har exponerats för. Dessa data används ofta för att mäta modellens noggrannhet innan den levereras till produktion.
Svar
Tanken är att medvetet inducera överanpassning i en neural nätverksmodell (NN), vi kan göra det genom att:
- Använda stora modeller med mycket stort antal parametrar. NN bör ha tillräckligt med frihetsgrader för att passa hela ImageNet-datauppsättningen.
- Vi kan undvika regelbundenhet som bortfall, L\_1, L\_2 eller batchnormalisering. Regularisering kan öka träningsfelet något, vilket ökar risken för noll träningsfel vi måste undvika alla former av regularisering. Även om en väl reglerad modell kan ha noll t regnfel.
- Använd små inlärningshastigheter eftersom stora inlärningshastigheter faktiskt har små regleringsegenskaper. För stora inlärningshastigheter kan modellparametrarna inte sätta sig exakt i ett lokalt minimum eftersom parameteruppdateringar hoppar runt det lokala läget. Att hoppa runt kan hindra modellen från att memorera träningsuppsättningen på så sätt genom att använda små inlärningshastigheter. Modellen kan lösa sig lite mer exakt i ett lokalt minimum, vilket ökar chanserna för att modellen lagrar utbildningsdatasetet.
- Undvik tidigt stopp genom att köra modellen genom ett stort antal träningsperioder. Tidigt stopp har också viss reglering som kan förhindra att den stora träningsuppsättningen lagras.
- Träna modellen med olika initiala slumpmässiga vikter, eftersom de initiala vikterna bestämmer det lokala minimum som parametrarna kommer att ligga i. Vissa lokala minima kanske inte möjliggör noll träningsfel i hela ImageNet-datasetet, så vi bör medvetet söka efter sådana lokala minima där träningsfelet är noll.
På vissa relativt enkla datamängder som MNIST vissa modeller har en 100\% träningsnoggrannhet samtidigt som de får en ganska bra testnoggrannhet på 99\% +. I sådana fall visar det att en modell med noll träningsfel inte innebär överanpassning.
Men att få noll träningsfel i en mycket stor komplicerad dataset som ImageNet kan starkt indikera att din modell är överanpassad.
Andra modeller kan byggas helt enkelt med tillräckligt stor kapacitet för att memorera hela ImageNet-datauppsättningen. Som k närmaste granne (kNN) -algoritm med k = 1 och det kommer lätt att ha något träningsfel. I maskininlärning (ML) processen att bara memorera en träningsuppsättning kallas lat inlärning och det är faktiskt viktigt i vissa fall när det inte är mycket variation mellan tränings- och testdatapunkter.
Faktum är att kNN fungerar mycket bra för mycket små fläckar. . Men med större upplösningsplåster lider kNN av förbannelsen av dimensionalitet eftersom kNN inte lär sig relevanta funktioner så irrelevanta funktioner kan störa likhetsmåttet.
Om du försöker få noll träningsfel, förbannelsen av dimensionalitet har ingen effekt ens på kNN-algoritmen eftersom vi tekniskt sett bara matchar träningsdatasetet till sig själv.
Även om en sådan modell är mindre benägna att prestera bra på testuppsättningen. När det finns en stort gap mellan träningsnoggrannhet och testnoggrannhet, modellen sägs ha överträffat träningsdata.
Hoppas att det hjälper.