en el video anterior hablamos de una mirada geométrica para comprender que
es lo que está haciendo el aprendizaje supervisado y en esta mirada vimos que el
conjunto de entrenamiento puede ser visto como un conjunto de puntos en un espacio
las clases son, en esta visualización, los colores de los diferentes puntos y el
algoritmo de aprendizaje supervisado encuentra en la superficie como separar
los puntos en clases diferentes; una vez que tenemos estas superficies separadas
podemos asignar una nueva imagen y el modelo entrenado puede hacer predicciones
acerca de la clase de la nueva imagen, si es un gato o un perro
por suerte estas predicciones son seguras pero por supuesto el modelo puede cometer
errores en sus predicciones
podemos pensar en la cualidad del modelo entrenado; acá el concepto importante es
la generalización
para comprender la generalización, debemos pensar en 2 posibles extremos en los que
nuestro modelo puede fallar; en un extremo que se llama "desajuste" aparece porque la
superficie que el modelo encuentra no se ajusta a la forma que en realidad divide a
las 2 clases; esto sucede a veces debido a que el modelo tiene muy pocos parámetros,
tiene muy pocas perillas que se puedan ajustar y entonces está limitado en la
clase de superficie que puede encontrar; en el otro extremo hay algo que se llama
"sobreajuste", el sobreajuste a veces aparece debido a que el modelo tiene
demasiados parámetros, hay demasiadas perillas y lo que sucede es que memoriza
el conjunto de datos de entrenamiento, en vez de aprender los conceptos subyacentes
en el conjunto de datos de entrenamiento podemos pensar al usar estos ejemplos como
3 modelos, 1 con desajuste, el que vimos antes que tiene esta clase de curva suave
y luego lo que llamamos acá el modelo sobreajustado, que en este caso tiene una
curva en zigzag y podemos usar los ejemplos previos de las imágenes que
usamos para entrenar al modelo, entonces esta es una nueva imagen que el modelo
nunca vio antes y podemos preguntarle si puede clasificarla como perro o gato
lo que podemos ver es que lo que sucede es que el modelo de subajuste, como no puede
capturar muy bien la forma real de las categorías, va a, en este caso, decirnos
la predicción errónea; el modelo intermedio, esperemos nos va a dar una
predicción correcta y el modelo que es sobreajustado, debido a que ajusta para
cada grieta que encuentra en el conjunto de datos, otra vez va a tender a
equivocarse de forma más frecuente que el mejor modelo; ahora bien cuando le damos
el conjunto de datos para entrenar y separamos las 2 superficies, pueden haber
2 tipos de errores, el 1er tipo de error se denomina error de entrenamiento y
este es un error donde uno de los puntos del conjunto de datos de entrenamiento se
clasifica en forma incorrecta y en general lo que este algoritmo de aprendizaje
supervisado hace, es tratar de reducir la cantidad de esos errores, con alguna
consideración; esto, como dije, se llama el error de entrenamiento; un tipo
diferente de error ocurre cuando queremos ajustar algunos valores de entrada al
modelo que no fueron vistos antes, como una imagen que no se usó para entrenarlo y
si confunde las clasificaciones, entonces se lo denomina el error de testeo; ahora
estamos testeando el modelo, ahora aprende y o bien puede cometer un error o bien no
lo hace, si comete un error entonces es un error de testeo; lo que se llama en la
literatura "performance generalizada" es la habilidad del algoritmo de aprendizaje
de no cometer errores de testeo; que lo haga bien sobre datos que nunca vio antes
la performance generalizada es tal vez el concepto central en aprendizaje de máquina
captura lo que en verdad queremos, no queremos que el algoritmo del aprendizaje
de máquina capture cada grieta que encuentre en el conjunto de datos de
entrenamiento, para recordar el conjunto de datos de entrenamiento; lo que nos
preocupa es la habilidad del algoritmo de aprendizaje de máquina para encontrar los
patrones subyacentes que generalizan bien para cosas que nunca antes había visto;
ahora podemos pensar en tomar un modelo y hacerlo más complicado, por ejemplo
aumentando el número de parámetros y el número de perillas que podemos manipular
en general el rendimiento del entrenamiento, es decir la habilidad para
no cometer errores con el conjunto de datos de entrenamiento debe continuar para
abajo a medida que agregamos más parámetros; podemos aprender y memorizar
el conjunto de datos de entrenamiento cada vez mejor y ajustar para cada grieta en
los datos; por el otro lado el rendimiento de la generalización, que es en verdad lo
que nos preocupa tenderá 1ro a mejorar a medida que hacemos al modelo más
complicado y al llegar a cierto punto va a empezar a declinar otra vez y ese es el
punto en el que modelo se encuentra sobreajustado y al memorizar el conjunto
de datos en vez de aprender a generalizar entonces cuando vemos curvas como éstas
que se muestran en el lado izquierdo de abajo, nos muestran como los rendimientos
del entrenamiento decrece en forma monotónica a medida que agregamos más
parámetros, pero el rendimiento de las pruebas posee un mínimo y ese es el número
de parámetros que es el mejor para esta situación
otro concepto que pueden encontrar en la literatura y que deben conocer es el
sesgo en la varianza de la descomposición, el sesgo en la varianza de la
descomposición es una forma de descomponer los errores que comete el modelo y el
sesgo de la varianza de la descomposición del error de entrenamiento significa que
existe algún sesgo y que el sesgo viene del modelo es simplemente erróneo, lo que
quiere decir que no es lo suficientemente flexible y no puede capturar las 2
superficies de separación en forma correcta
la varianza proviene de que puede capturar la aleatoriedad de nuestro conjunto de
datos de entrenamiento, lo que significa que por ejemplo para poder clasificar
imágenes de gatos o perros, tiene que haber alguna clase de aleatoriedad en las
imágenes que estamos usando como conjunto de datos de entrenamiento, no queremos
memorizar el azar, porque si lo hacemos entonces el modelo va a variar demasiado
para poder entrenarlo y esa es la parte de la varianza del error; ustedes se
preguntarán, cómo puedo seleccionar el número de parámetros o la complejidad del
modelo para evitar el sobreajuste, para que el modelo sea flexible como para
capturar el patrón real en los datos, pero no tan flexible que memorice el conjunto
de datos de entrenamiento, en vez de aprender los conceptos subyacentes, una
técnica que se puede usar es algo que se llama "validación cruzada" o simplemente
validación; en la validación tomamos nuestro conjunto de datos de entrenamiento
y lo dividimos en 2 pedazos, uno de los pedazos va a ser ahora el nuevo conjunto
de datos de entrenamiento, va a ser una parte más pequeña de los datos originales
que conseguimos y el otro pedazo va a ser lo que llamamos el conjunto de datos de
validación
ahora ajustamos nuestro modelo al nuevo conjunto de datos de entrenamiento, que es
un subconjunto de lo que originalmente usamos y probamos su rendimiento para ver
que tan bien lo hace sobre el conjunto de datos de validación
esta es una forma de estimar cuan bien lo va a hacer cuando se enfrente a datos
completamente nuevos, que nunca vio antes debido a que lo estamos probando sobre
datos que no fue usada para ajustar las perillas
este no es un método completo de prueba y tiene algunos inconvenientes, pero es un
método muy fructífero que podemos usar para que nos ayude a seleccionar el modelo
con el número correcto de parámetros o a elegir entre 2 modelos alternativos y esto
es muy útil para poder elegir entre estos 2 modelos alternativos