Huis audio Hoe kunnen ingenieurs trainingssets en testsets evalueren om mogelijke overfitting in machine learning te herkennen?

Hoe kunnen ingenieurs trainingssets en testsets evalueren om mogelijke overfitting in machine learning te herkennen?

Anonim

Q:

Hoe kunnen ingenieurs trainingssets en testsets evalueren om mogelijke overfitting in machine learning te herkennen?

EEN:

Om te begrijpen hoe dit wordt gedaan, is het noodzakelijk om een ​​basiskennis te hebben van de rollen van verschillende gegevenssets in een typisch machine learning-project. De trainingsset is opgezet om de technologie een referentiekader te geven - een gegevensbasislijn die het programma gebruikt om voorspellende en probabilistische beslissingen te nemen. Met de testset test u de machine op gegevens.

Overfitting is een syndroom in machine learning waarbij het model niet volledig past bij de gegevens of het doel.

Gratis download: machine learning en waarom het ertoe doet

Een van de overkoepelende geboden van machine learning is dat trainingsgegevens en testgegevens afzonderlijke gegevenssets moeten zijn. Er is een vrij brede consensus hierover, althans in veel toepassingen, vanwege een aantal specifieke problemen met het gebruik van dezelfde set die u gebruikte voor training om een ​​machine-leerprogramma te testen.

Wanneer een machine-leerprogramma een trainingsset gebruikt, die in wezen een set invoer kan worden genoemd, werkt het die trainingsset af om beslissingen te nemen over voorspellende resultaten. Een heel eenvoudige manier om erover na te denken is dat de trainingsset het "voedsel" is voor het intellectuele computerproces.

Wanneer nu dezelfde set wordt gebruikt voor het testen, kan de machine vaak uitstekende resultaten opleveren. Dat komt omdat het die gegevens al eerder heeft gezien. Maar het hele doel van machine learning is in veel gevallen om resultaten te maken over gegevens die nog niet eerder zijn gezien. Machine learning-programma's voor algemene doeleinden zijn gemaakt om te werken met verschillende gegevenssets. Met andere woorden, het principe van machine learning is ontdekking, en daar krijg je meestal niet zoveel van door een initiële trainingsset te gebruiken voor testdoeleinden.

Bij het evalueren van trainingssets en testsets op mogelijke overfitting kunnen ingenieurs de resultaten beoordelen en uitzoeken waarom een ​​programma dit anders doet op de vergelijkende resultaten van deze twee sets, of in sommige gevallen hoe de machine het te goed doet op de trainingsgegevens zelf .

Jason Brownlee van Machine Learning Mastery beschrijft een aantal van deze problemen in machinaal leren in een stuk uit 2014 en beschrijft op deze manier:

"Een model dat is geselecteerd vanwege zijn nauwkeurigheid op de trainingsdataset in plaats van de nauwkeurigheid op een ongeziene testdataset, heeft waarschijnlijk een lagere nauwkeurigheid op een ongeziene testdataset, " schrijft Brownlee. "De reden is dat het model niet zo algemeen is. Het heeft zich aangepast aan de structuur in de trainingsdataset (cursief toegevoegd). Dit wordt overfitting genoemd en het is verraderlijker dan je denkt."

Je zou kunnen zeggen dat het programma, door zich te specialiseren in de trainingsdataset, te rigide wordt. Dat is een andere metaforische manier om te kijken waarom een ​​machine learning-programma niet optimaal wordt bediend door de trainingsset voor de testset te gebruiken. Het is ook een goede manier om de evaluatie van deze twee verschillende sets te benaderen, omdat de resultaten ingenieurs veel laten zien over hoe het programma werkt. U wilt voor beide modellen een kleinere kloof tussen de nauwkeurigheid. U wilt ervoor zorgen dat het systeem niet overfed of "met precisie gefuseerd" wordt aan een bepaalde gegevensset, maar dat is algemener en kan op commando groeien en evolueren.

Hoe kunnen ingenieurs trainingssets en testsets evalueren om mogelijke overfitting in machine learning te herkennen?