SVM, sobreajuste, maldición de dimensionalidad

37

Mi conjunto de datos es pequeño (120 muestras), sin embargo, el número de características es grande varía de (1000-200,000). Aunque estoy haciendo una selección de características para elegir un subconjunto de características, aún podría sobreajustar.

Mi primera pregunta es, ¿cómo maneja SVM el sobreajuste, si es que lo hace?

En segundo lugar, a medida que estudio más sobre el sobreajuste en caso de clasificación, llegué a la conclusión de que incluso los conjuntos de datos con un pequeño número de características pueden sobreajustar. Si no tenemos características correlacionadas con la etiqueta de la clase, el sobreajuste se lleva a cabo de todos modos. Así que ahora me pregunto cuál es el punto de la clasificación automática si no podemos encontrar las características correctas para una etiqueta de clase. En el caso de la clasificación de documentos, esto significaría crear manualmente un tesauro de palabras que se relacionen con las etiquetas, lo que consume mucho tiempo. Supongo que lo que estoy tratando de decir es que, sin seleccionar las características correctas, ¿es muy difícil construir un modelo generalizado?

Además, si los resultados experimentales no muestran que los resultados tienen un sobreajuste bajo / nulo, no tiene sentido. ¿Hay alguna forma de medirlo?

usuario13420
fuente

Respuestas:

41

En la práctica, la razón por la que los SVM tienden a ser resistentes al sobreajuste, incluso en los casos en que el número de atributos es mayor que el número de observaciones, es que utiliza la regularización. La clave para evitar el ajuste excesivo radica en el ajuste cuidadoso del parámetro de regularización, , y en el caso de SVM no lineales, la elección cuidadosa del núcleo y el ajuste de los parámetros del núcleo.do

El SVM es una implementación aproximada de un límite en el error de generalización, que depende del margen (esencialmente la distancia desde el límite de decisión al patrón más cercano de cada clase), pero es independiente de la dimensionalidad del espacio de características (razón por la cual usar el truco del núcleo para mapear los datos en un espacio dimensional muy alto no es una mala idea como podría parecer). Entonces, en principio, los SVM deben ser altamente resistentes al sobreajuste, pero en la práctica esto depende de la elección cuidadosa de y los parámetros del núcleo. Lamentablemente, el sobreajuste también puede ocurrir con bastante facilidad al ajustar los hiperparámetros también, que es mi área principal de investigación, veado

GC Cawley y NLC Talbot, Prevención del sobreajuste en la selección del modelo mediante la regularización bayesiana de los hiperparámetros, Journal of Machine Learning Research, volumen 8, páginas 841-861, abril de 2007. ( www )

y

GC Cawley y NLC Talbot, Ajuste excesivo en la selección del modelo y posterior sesgo de selección en la evaluación del rendimiento, Journal of Machine Learning Research, 2010. Research, vol. 11, págs. 2079-2107, julio de 2010. ( www )

Ambos documentos utilizan la regresión de cresta del núcleo, en lugar del SVM, pero el mismo problema surge con la misma facilidad con los SVM (también se aplican límites similares a KRR, por lo que no hay mucho para elegir entre ellos en la práctica). Entonces, en cierto modo, los SVM realmente no resuelven el problema del sobreajuste, simplemente cambian el problema del ajuste del modelo a la selección del modelo.

A menudo es una tentación hacer la vida un poco más fácil para el SVM realizando primero algún tipo de selección de características. Esto generalmente empeora las cosas, ya que, a diferencia del SVM, los algoritmos de selección de características tienden a exhibir un ajuste excesivo a medida que aumenta el número de atributos. A menos que desee saber cuáles son los atributos informativos, generalmente es mejor omitir el paso de selección de características y simplemente usar la regularización para evitar un ajuste excesivo de los datos.

En resumen, no hay ningún problema inherente con el uso de un SVM (u otro modelo regularizado como la regresión de crestas, LARS, Lasso, red elástica, etc.) en un problema con 120 observaciones y miles de atributos, siempre que los parámetros de regularización estén ajustados correctamente .

Dikran Marsupial
fuente
¿Hay documentos que muestren métodos de selección de características como la clasificación basada en la ganancia de información que tienen más probabilidades de sobreajustar?
user13420
1
No es que yo sepa, el punto era que el SVM tiene algunos resultados teóricos que sugieren que son resistentes al sobreajuste debido a la cantidad de atributos, pero los métodos de selección de características ni siquiera tienen eso. FWIW, la monografía de Miller sobre "selección de subconjuntos en regresión" aconseja utilizar métodos de regularización si el rendimiento predictivo es todo lo que se requiere. Ha habido algunos retos abiertos en la selección de características, lo que sugiere que la regularización tiende a superar a la selección de características (ver nipsfsc.ecs.soton.ac.uk y causality.inf.ethz.ch/challenge.php ).
Dikran Marsupial
Como se indicó en el primer párrafo, los SVM tienden a ser resistentes al sobreajuste, ¿es que utiliza la regularización (parámetro C) , por lo que, por defecto, ¿ svmtiene estos parámetros de regularización C ? Y no estoy seguro de qué variables controladas por esta C , ¿te refieres a esas variables flojas ?
aguacate
10

Comenzaré con la segunda y última pregunta.

El problema de la generalización es obviamente importante, porque si los resultados del aprendizaje automático no pueden generalizarse, entonces son completamente inútiles.

Los métodos para garantizar la generalización provienen de las estadísticas. Por lo general, suponemos que los datos se generan a partir de alguna distribución de probabilidad que se origina en la realidad. Por ejemplo, si usted es un hombre nacido en el año 2000, entonces hay una distribución de probabilidad de cuál es su peso / estatura / color de ojos cuando alcanza 10, que resulta del conjunto de genes disponibles en el año 2000, posibles factores ambientales, etc. tenemos muchos datos, podemos decir algo sobre esas distribuciones subyacentes, por ejemplo, que con alta probabilidad son gaussianas o multinomiales. Si tenemos una imagen precisa de las distribuciones, dada la altura, el peso y el color de los ojos de un niño de 10 años en 2010, podemos obtener una buena aproximación de la probabilidad de que el niño sea hombre. Y si la probabilidad es cercana a 0 o 1, podemos tener una buena idea de cuál es realmente el sexo de los niños.

kδk+ϵk+ϵ

Ahora de vuelta a SVM. Si no usa núcleos, o usa núcleos que se asignan a espacios dimensionales finitos, la llamada dimensión Vapnik-Chervonenkis, que es una medida de la complejidad del espacio de hipótesis, es finita, y con eso y suficientes ejemplos de entrenamiento puede obtener eso con un alto probabilidad de que el error en el conjunto de prueba no sea mucho mayor que el error en el conjunto de entrenamiento. Si usa núcleos que se mapean en espacios de características de dimensiones infinitas, entonces la dimensión Vapnik-Chervonenkis también es infinita, y lo que es peor, las muestras de entrenamiento por sí solas no pueden garantizar una buena generalización, sin importar el número de ellas. Afortunadamente, el tamaño del margen de una SVM resulta ser un buen parámetro para garantizar la generalización. Con un amplio margen y un conjunto de entrenamiento, puede garantizar que el error de prueba no será mucho mayor que el error de entrenamiento también.

sjm.majewski
fuente
7

Hay al menos dos fuentes principales de sobreajuste que puede considerar.

  1. Sobreajuste de un algoritmo que ha inferido demasiado de las muestras de entrenamiento disponibles. Esto se protege mejor empíricamente mediante el uso de una medida de la capacidad de generalización del modelo. La validación cruzada es uno de esos métodos populares.

  2. Sobreajuste porque la distribución subyacente está submuestreada. Por lo general, se puede hacer poco al respecto a menos que pueda recopilar más datos o agregar conocimiento de dominio sobre el problema a su modelo.

Con 120 muestras y una gran cantidad de características, es muy probable que pierda 2 y que también sea propenso a 1.

Puede hacer algo con respecto a 1 mediante la observación cuidadosa del efecto de la complejidad del modelo en los errores de prueba y entrenamiento.

image_doctor
fuente
Pero, ¿cómo detectamos si estamos sobreajustados? Si los modelos funcionan bastante bien en la validación cruzada, ¿lo están haciendo porque es realmente bueno o debido a un sobreajuste debido a 1 o 2? También con miles de características, analizar cada característica a mano sería engorroso. Si no es posible identificar el sobreajuste, ¿cómo podemos confiar en cualquier resultado de validación cruzada?
user13420
1
Sin datos adicionales, es muy difícil saber si se está ajustando en exceso a una población submuestreada. Puede dividir los datos en tres conjuntos utilizando un conjunto de validación para ajustar el modelo y luego un conjunto de prueba separado para probarlo. Otro enfoque es modificar la complejidad del modelo y ver cómo varían la precisión del conjunto de entrenamiento y prueba. Un aumento en el error del conjunto de prueba indicará cierto grado de sobreajuste del modelo a partir de los datos.
image_doctor
La aplicación de pruebas repetidas de 50/50 le dará una idea de si los conjuntos de entrenamiento y prueba están equilibrados. Probablemente no lo serán. Algunos modelos, como KNN, lograrán una precisión perfecta en el conjunto de entrenamiento, por lo que están inherentemente sobreajustados en algún sentido. Pero aún pueden lograr un rendimiento aceptable en el conjunto de prueba. Entonces, como sucede con mucho en el aprendizaje automático, al final todo depende de los detalles precisos de los datos.
image_doctor
@image_doctor ¿Puede elaborar sobre "modificar la complejidad del modelo"?
Keith Hughitt