¿Por qué transformar los datos en un espacio de características de alta dimensión en el que las clases son linealmente separables conduce a un sobreajuste?

10

Leí en mi libro (clasificación de patrones estadísticos de Webb y Wiley) en la sección sobre SVM y datos linealmente no separables:

En muchos problemas prácticos del mundo real no habrá límites lineales que separen las clases y el problema de buscar un hiperplano de separación óptimo no tiene sentido. Incluso si tuviéramos que usar vectores de características sofisticadas, Φ(X) , para transformar los datos en un espacio de características de alta dimensión en el que las clases son linealmente separables, esto conduciría a un ajuste excesivo de los datos y, por lo tanto, a una capacidad de generalización deficiente.

¿Por qué transformar los datos en un espacio de características de alta dimensión en el que las clases son linealmente separables conduce a un sobreajuste y una capacidad de generalización deficiente?

Gigili
fuente

Respuestas:

8

@ffriend tiene una buena publicación al respecto, pero en términos generales, si se transforma en un espacio de características de alta dimensión y se entrena desde allí, el algoritmo de aprendizaje se 've obligado' a tener en cuenta las características del espacio superior, aunque no tengan nada que ver con los datos originales, y no ofrecen cualidades predictivas.

Esto significa que no va a generalizar adecuadamente una regla de aprendizaje al entrenar.

Tome un ejemplo intuitivo: suponga que desea predecir el peso a partir de la altura. Tienes todos estos datos, correspondientes a los pesos y alturas de las personas. Digamos que, en general, siguen una relación lineal. Es decir, puede describir el peso (W) y la altura (H) como:

W=metroH-si

, donde es la pendiente de su ecuación lineal, y b es la intersección con el eje y, o en este caso, la intersección con el eje W.metrosi

Digamos que usted es un biólogo experimentado y que sabe que la relación es lineal. Sus datos se ven como un diagrama de dispersión con tendencia al alza. Si mantiene los datos en el espacio bidimensional, ajustará una línea a través de él. Puede que no llegue a todos los puntos, pero está bien: sabe que la relación es lineal y, de todos modos, desea una buena aproximación.

Ahora digamos que tomó estos datos bidimensionales y los transformó en un espacio dimensional superior. Entonces, en lugar de solo , también agrega 5 dimensiones más, H 2 , H 3 , H 4 , H 5 y HH2H3H4 4H5 5 .H2+H7 7

Cyo

W=C1H+C2H2+C3H3+C4 4H4 4+C5 5H5 5+C6 6H2+H7 7

H2+H7 7

Es por eso que si transforma los datos a dimensiones de orden superior a ciegas, corre un riesgo muy alto de sobreajuste y no de generalización.

Spacey
fuente
6

Digamos que estamos tratando de encontrar una función que se aproxime a un conjunto de puntos 2D en el plano mediante regresión lineal (que es básicamente lo que hace SVM). En las 3 imágenes debajo de las cruces rojas hay observaciones (datos de entrenamiento) y 3 líneas azules representan ecuaciones con diferentes grados de polinomios utilizados para la regresión.

ingrese la descripción de la imagen aquí

La primera imagen se genera por ecuación lineal. Como puede ver, refleja puntos bastante mal. Esto se llama subadaptación , porque le dimos al algoritmo de aprendizaje muy poco "grado de libertad" (polinomio de grado demasiado pequeño). La segunda imagen es mucho mejor: utilizamos un polinomio de segundo grado y se ve bastante bien. Sin embargo, si aumentamos aún más el "grado de libertad", obtendremos una tercera imagen. La línea azul llega justo a través de las cruces, pero ¿crees que esta línea realmente describe la dependencia? No lo creo. Sí, en el conjunto de entrenamiento, el error de aprendizaje (distancia entre cruces y la línea) es muy pequeño, pero si agregamos una observación más (digamos, de datos reales), lo más probable es que el error sea mucho mayor que si usáramos la ecuación del segundo imagen. Este efecto se llama sobreajusteXXX2X3. En resumen, divide sus datos en, por ejemplo, 10 partes, toma 9 de ellas para capacitación y 1 para validación. Si el error en el conjunto de validación es mucho mayor que en el conjunto de trenes, entonces tienes exceso de equipamiento. La mayoría de los algoritmos de aprendizaje automático utilizan algunos parámetros (por ejemplo, parámetros de núcleos en SVM) que permiten superar el sobreajuste. Además, una palabra clave popular aquí es la regularización : modificación del algoritmo que afecta directamente el proceso de optimización, literalmente diciendo que "no sigas los datos de entrenamiento demasiado de cerca".

Por cierto, no estoy seguro de que DSP sea el sitio adecuado para este tipo de preguntas, probablemente también le interesará visitar CrossValidated .

amigo
fuente
Esto fue --stolen-- prestado de las video conferencias de Andrew Ng sobre Machine Learning. A menos que sea usted, Dr. Ng. En ese caso, ¿estás buscando un estudiante de doctorado para tu laboratorio? (Las conferencias se pueden encontrar en coursera.com para aquellos de ustedes que estén interesados)
CyberMen
@CyberMen: fue robado de images.google.com :) Pero sí, la notación es muy similar a la de Ng. Y definitivamente sugeriría su curso (y otros documentos) para la introducción al aprendizaje automático.
amigo
Creo que DSP es el lugar adecuado para este tipo de preguntas, al menos entre otros sitios de SE.
Gigili
2

¿Leíste más?

Al final de la sección 6.3.10:

"Sin embargo, a menudo hay parámetros del núcleo que deben establecerse y una mala elección puede conducir a una generalización deficiente. La elección del mejor núcleo para un problema dado no se resuelve y se han derivado núcleos especiales para problemas particulares, por ejemplo, clasificación de documentos "

lo que nos lleva a la sección 6.3.3:

"Los núcleos aceptables deben poder expresarse como un producto interno en un espacio de características, lo que significa que deben satisfacer la condición de Mercer"

Kernel por su propia área bastante difícil, puede tener datos grandes donde en diferentes partes se deben aplicar diferentes parámetros, como el suavizado, pero no se sabe exactamente cuándo. Por lo tanto, tal cosa es bastante difícil de generalizar.

sigrlami
fuente
Estoy leyendo "4.2.5 Máquinas de vectores de soporte" como dije, no sé de qué sección 6 estás hablando. Como el párrafo después de lo que mencioné en la pregunta no tiene nada al respecto, pensé que sería mejor preguntarlo aquí.
Gigili
Lo siento, lo mezclé con el reconocimiento de patrones estadísticos también de Webb, que estoy buscando en este momento y que tienen los mismos capítulos.
sigrlami