Comencemos con el concepto de complejidad de conjuntos de hipótesis y sobreajuste.
Para cualquier problema de aprendizaje automático, esencialmente, puede dividir sus puntos de datos en dos componentes: patrón + ruido estocástico .
Por ejemplo, si tuviera que modelar el precio de un apartamento, sabe que el precio depende del área del apartamento, no. de dormitorios, etc. Por lo tanto, esos factores contribuyen al patrón: más dormitorios generalmente conducirían a precios más altos. Sin embargo, todos los apartamentos con la misma área y no. de las habitaciones no tienen exactamente el mismo precio. La variación en el precio es el ruido.
Como otro ejemplo, considere conducir. Dada una curva con una curvatura específica, hay una dirección óptima de dirección y una velocidad óptima. Cuando observa a 100 conductores en esa curva, la mayoría de ellos estaría cerca de ese ángulo de dirección y velocidad óptimos. Pero no tendrán exactamente el mismo ángulo y velocidad de dirección. De nuevo, la curvatura de la carretera contribuye al patrón para el ángulo y la velocidad de dirección, y luego hay ruido que causa desviaciones de este valor óptimo.
Ahora el objetivo del aprendizaje automático es modelar el patrón e ignorar el ruido. Cada vez que un algoritmo intenta ajustar el ruido además del patrón, se sobreajusta.
En la configuración supervisada, normalmente desea hacer coincidir el resultado de una función de predicción con sus etiquetas de entrenamiento. Entonces, en el ejemplo de manejo anterior, desearía predecir con precisión el ángulo de dirección y la velocidad. A medida que agrega más y más variables, como la curvatura de la carretera, el modelo del automóvil, la experiencia del conductor, el clima, el estado de ánimo del conductor, etc., tiende a hacer mejores y mejores predicciones sobre los datos de entrenamiento. Sin embargo, más allá de un punto, agregar más variables no ayuda a modelar el patrón, sino que solo intenta ajustar el ruido. Dado que el ruido es estocástico, esto no se generaliza bien para datos invisibles y, por lo tanto, tiene un error de entrenamiento bajo y un error de prueba alto.
Considere el siguiente escenario:
(¿Existe una representación gráfica de la compensación de sesgo-varianza en la regresión lineal?)
El algoritmo izquierdo devuelve la línea de mejor ajuste dados esos puntos, mientras que el algoritmo derecho devuelve el polinomio de mejor ajuste de grado k dados esos n puntos. (k es un número grande, como 10, en este ejemplo).
¿Qué sucede si mueve el punto más bajo hacia arriba por cierta distancia?
La línea en la figura izquierda se vuelve un poco más plana: se mueve un poco hacia arriba a la izquierda y permanece aproximadamente en la misma posición a la derecha. Sin embargo, la curva de la derecha cambia bastante. La caída que ves entre los puntos 1 y 3 puede desaparecer por completo.
Claramente, el algoritmo de la derecha está ajustando el ruido. Como se puede ver en este ejemplo, una forma de reducir el sobreajuste es penalizar artificialmente los polinomios de mayor grado . Esto asegura que se seleccione un polinomio de mayor grado solo si reduce el error significativamente en comparación con un modelo más simple, para superar la penalización. Esto es lo que logra la lambda en Lasso y la regresión de cresta: controlar el equilibrio entre el error y la complejidad del modelo.
Ahora, para SVM con kernel RBF, la función de decisión viene dada por
[matemáticas] f (x) = \ sum_ {i = 1} ^ {N} \ alpha_ {i} y_ {i} K (x, x_ {i}) = \ sum_ {i = 1} ^ {N} \ alpha_ {i} y_ {i} \ exp (- \ gamma \ | x – x_ {i} \ | ^ 2) [/ math]
Intuitivamente, [matemáticas] \ alpha_ {i} [/ matemáticas] nos dice cuán importante es un punto de entrenamiento [matemáticas] x_ {i} [/ matemáticas] y [matemáticas] K (x, y) [/ matemáticas] nos dice cómo similares son los puntos [matemática] x [/ matemática] y [matemática] y [/ matemática]. Entonces, dado un nuevo punto de datos [matemática] x [/ matemática], observamos cada punto de entrenamiento, y si el punto es importante (alto [matemático] \ alpha_ {i} [/ matemático]) y es similar a [matemático ] x [/ math] (high [math] K (x, x_ {i}) [/ math]), luego empujamos la predicción hacia la etiqueta de este punto de entrenamiento ([math] y_ {i} [/ math] )
Ahora, [math] \ gamma [/ math] controla cómo medimos la similitud y, por lo tanto, controla el sobreajuste. Si [math] \ gamma [/ math] se establece en cero, entonces [math] K (x, y) [/ math] es 1 para cualquier [math] x [/ math] y [math] y [/ math] . Entonces, dado un nuevo punto, considera que todos los puntos en sus datos de entrenamiento son igualmente similares a este nuevo punto, y su predicción es siempre [matemática] \ sum_ {i} \ alpha_ {i} y_ {i} [/ matemática] . Por lo tanto, se ha perdido completamente el patrón en los datos.
En el otro extremo del espectro, si configura [math] \ gamma [/ math] en [math] \ infty [/ math], entonces [math] K (x, y) [/ math] es 1 solo cuando [ math] x [/ math] y [math] y [/ math] son idénticos y, de lo contrario, es cero. Por lo tanto, su predicción será igual a [math] y_ {i} [/ math] si su nuevo punto de datos coincide exactamente con uno de los puntos de entrenamiento [math] x_ {i} [/ math]; de lo contrario, su predicción será cero. Por lo tanto, ha sobreajustado por completo los datos de entrenamiento, incluido todo el ruido, y no puede generalizar sobre nuevos datos.
Ambos escenarios anteriores son malos. Desea permanecer en algún punto intermedio, y ese punto óptimo se encuentra utilizando un error de validación.
Respuestas relacionadas:
La respuesta de Prasoon Goyal a En términos simples, ¿cuál es lambda para la regresión de lazo y cresta?
La respuesta de Prasoon Goyal a ¿Puede ocurrir un sobreajuste en un algoritmo de aprendizaje no supervisado?
La respuesta de Prasoon Goyal a Variance es cuánto cambia su algoritmo dados los nuevos datos. ¿Qué significa esto?
La respuesta de Prasoon Goyal a ¿Qué es la optimización de hiperparámetros en el aprendizaje automático en términos formales?