Un objectiu obvi de qualsevol algorisme d'aprenentatge automàtic és que sigui el més precís possible per predir els resultats. Concretament, volem que les prediccions modelin la realitat el més a prop possible.
Com hem vist, la manera com s'entrenen els algorismes d'aprenentatge automàtic és utilitzant primer dades d'entrenament i després avaluant el model mitjançant dades de prova. Ara veurem com la precisió de les prediccions fetes per un algorisme d'aprenentatge automàtic pot diferir significativament entre les dades d'entrenament i les de prova.
El biaix, en el context de l'aprenentatge automàtic, és una mesura que mostra a quina distància es troben les prediccions mitjanes de la mitjana de les etiquetes de dades reals. Si el model no pot reflectir la relació del món real entre les dades d'entrada i el que prediu el model, es diu que el model té biaix.
Per exemple, imaginem que volem un model d'aprenentatge automàtic que predirà el preu d'una casa en una zona determinada en funció de la seva mida. Mitjançant l'ús de dades d'entrenament, puc crear una línia que s'hi ajusti:
El gràfic de l'esquerra utilitza una regressió lineal per ajustar les dades. Podeu veure que la línia no s'ajusta perfectament a les dades i que el model no té la flexibilitat per representar completament la relació entre les dues variables. Per això, el model té un biaix.
El gràfic de la dreta utilitza una línia que s'ajusta perfectament a les dades. No té cap biaix, ja que la línia d'ajust és prou flexible per reflectir amb precisió totes les dades.
Fins ara, hem comparat dos models en què les línies es creen mitjançant dades d'entrenament. Ara, és el moment de veure com funcionen quan es presenten les dades de la prova.
El model de l'esquerra que utilitza una línia més recta no s'ha sobre ajustat (overfitted) i ara supera el model amb el biaix més baix.
La variància es calcula prenent l'error de les dades d'entrenament i comparant-lo amb l'error de les dades de prova. El gràfic de l'esquerra encara té biaix, però té una baixa variància, ja que l'error és similar, si no millor, per a les dades de prova que amb les dades d'entrenament. Això vol dir que, tot i que encara hi ha errors, és més previsible com funcionarà aquest algorisme en futurs conjunts de dades.
El gràfic de la dreta representa un model que ha prestat massa atenció a les dades d'entrenament. Això s'anomena sobre ajust (overfitting) perquè modela les dades d'entrenament amb massa precisió. Com a resultat, serà menys probable que es modeli amb precisió les dades futures.
En un món ideal, l'objectiu és tenir un algorisme d'aprenentatge automàtic que tingui una baixa variància i un baix biaix. Malauradament, en realitat, això és molt difícil d'aconseguir i el vostre objectiu ha de ser trobar la millor relació entre el biaix i la variància.
Un mètode per trobar aquest equilibri és supervisar el procés d'aprenentatge del vostre model. A mesura que el model aprengui, l'error disminuirà tant per a les dades d'entrenament com per a les dades de prova. Tanmateix, hi haurà un punt en què el model començarà a sobre ajustar-se a les dades d'entrenament i l'error a les dades de prova començarà a augmentar. Voleu que el vostre algorisme deixi d'aprendre just abans que l'error de les dades de prova comenci a augmentar. Aquest punt es coneix com el sweet spot.
L’overfitting en machine learning és un fenomen que fa que un algoritme predictiu presenti un baix percentatge d’encert en els seus resultats, oferint previsions amb una alta variància. Això passa si la mostra utilitzada a l’entrenament del model:
És poc representativa de la realitat amb la qual s’haurà d’enfrontar després l’algoritme.
Inclou masses variables, i inclús variables irrellevants, que confonen al model i li impedeixen identificar la tendència subjacent.
S’ha sobrepassat el llindar òptim d’èpoques (nombre de vegades que el model processa les mateixes dades d’entrada al training).
Per contraposició a l’overfitting es defineix l’underfitting, un problema que també genera una escassa fiabilitat a les prediccions del model, en aquest cas perquè presenten un biaix elevat. En l’underfitting o subajust, la causa està en el fet que:
Les dades d’entrada són insuficients per establir generalitzacions.
O en què ofereixen escassa informació sobre la qüestió que es pretén deduir.
Una altra manera en què es pot evitar el sobre ajust és dividint les dades d'entrenament i les dades de prova en diferents combinacions de conjunts, per entrenar diversos models diferents. A continuació, podeu triar el model amb la precisió òptima. Pot haver-hi la temptació d'utilitzar totes les dades disponibles com a dades d'entrenament; no obstant això, és important mantenir sempre una bona proporció de les dades a part per provar el model. L'ús de totes les dades com a dades d'entrenament és molt més probable que condueixi a un sobre ajustament.