Sobreajuste con clasificadores lineales


10

Hoy nuestro profesor declaró en clase que "no es posible sobreajustar con clasificadores lineales". Considero que eso es incorrecto, ya que incluso los clasificadores lineales pueden ser sensibles a los valores atípicos en el conjunto de entrenamiento; tomemos, por ejemplo, un margen duro. ¿O estoy equivocado? Obviamente, la linealidad probablemente evitará el sobreajuste debido a la menor complejidad del modelo, pero todavía no veo por qué el sobreajuste debería ser imposible. Un punto adicional es que cuando traté de pensar en este problema me di cuenta de que el "sobreajuste" no parece estar formalmente definido. ¿Porqué es eso? ¿Acaso alguna medida de distancia entre el entrenamiento y el rendimiento del conjunto de pruebas permitiría tal formalización? Gracias


44
¿Por qué dices clasificador lineal? La mayoría de los modelos lineales son para predicción, no para clasificación. Y tiene razón: los modelos lineales pueden ser muy propensos al sobreajuste. No tanto como los métodos de aprendizaje automático, pero aún así el sobreajuste puede ser un problema.
Frank Harrell

55
Es muy fácil sobreajustar el clasificador lineal. Simplemente ajuste el modelo a algún conjunto de datos (ruidoso, del mundo real) y no use ninguna regularización.
Vladislavs Dovgalecs

2
Tenga cuidado con la clasificación: por lo general, no es necesario fijar la vista tan bajo.
Frank Harrell

2
@FrankHarrell ... y por qué?
Pugl

1
Sí, si era originalmente binario. Si fue originalmente continuo, entonces la clasificación es aún más problemática. YYY
Frank Harrell

Respuestas:


12

Una regresión lineal / clasificador puede ser totalmente sobreajustada si se usa sin el cuidado adecuado.

Aquí hay un pequeño ejemplo. Creemos dos vectores, el primero es simplemente monedas al azar:5000

set.seed(154)
N <- 5000
y <- rbinom(N, 1, .5)

El segundo vector son observaciones, cada una asignada aleatoriamente a una de clases aleatorias:5005000500

N.classes <- 500
rand.class <- factor(sample(1:N.classes, N, replace=TRUE))

No debería haber ninguna relación entre nuestros cambios yy nuestras clases aleatorias rand.class, se determinaron de forma completamente independiente.

Sin embargo, si intentamos predecir el giro aleatorio con la clase aleatoria utilizando la regresión logística (un clasificador lineal), seguramente cree que hay una relación

M <- glm(y ~ rand.class, family="binomial")
hist(coef(M), breaks=50)

ingrese la descripción de la imagen aquí

El verdadero valor de cada uno de estos coeficientes es cero. Pero como puede ver, tenemos bastante difusión. Este clasificador lineal es seguro sobreajuste.

Nota: Los extremos en este histograma, donde los coeficientes se han desplazado a y , son casos en los que una clase no tenía observaciones ni valores con . Los valores estimados reales para estos coeficientes son más y menos infinito, pero el algoritmo de regresión logística está codificado con un límite de .15 151515y == 1y == 015

"sobreajustar" no parece estar formalmente definido. ¿Porqué es eso?

El sobreajuste puede entenderse mejor dentro del contexto de una clase de modelos que tiene algún parámetro de complejidad. En este caso, se podría decir que un modelo está sobreajustado cuando la disminución de la complejidad da como resultado un mejor rendimiento esperado de la muestra.

Sería muy difícil definir con precisión el concepto de manera independiente del modelo. Un solo modelo es adecuado, necesita algo con lo que compararlo para que esté sobre o debajo del ajuste. En mi ejemplo anterior, esta comparación fue con la verdad, pero generalmente no sabes la verdad, ¡de ahí el modelo!

¿Acaso alguna medida de distancia entre el entrenamiento y el rendimiento del conjunto de pruebas permitiría tal formalización?

Existe tal concepto, se llama optimismo. Se define por:

ω=EtestEtrain

donde representa error, y cada término se promedia sobre todos los conjuntos posibles de entrenamiento y prueba para su algoritmo de aprendizaje.E

Sin embargo, no llega a la esencia del sobreajuste, porque el rendimiento en un conjunto de prueba puede ser bastante peor que el tren, a pesar de que un modelo de mayor complejidad disminuye ambos .


wow, qué buena respuesta, muchas gracias. Una pregunta: ¿los SVM lineales son menos propensos al sobreajuste que, por ejemplo, el registro? ¿regresión que ha mencionado (debido a las diferentes formas de optimización para el límite de decisión lineal)?
Pugl

1
Debo admitir que no soy un experto en SVM y me falta experiencia práctica en su uso. Realmente no quiero aventurar una respuesta y arriesgarme a estar muy equivocado. Si puede formularlo con precisión, probablemente valga la pena una pregunta propia.
Matthew Drury el

Los SVM están regularizados y, por lo tanto, son menos propensos al sobreajuste. Para darse cuenta de que solo necesita mirar la función que está minimizando: incluye la norma l1 o la norma l2 de los pesos, reduciéndolos en la optimización y, por lo tanto, prefiriendo modelos "simples" a modelos "complejos". El parámetro que controla esto es el hiperparámetro C. En el caso límite (C = infinito), el SVM se ajusta "perfectamente" al conjunto de entrenamiento y, por lo tanto, probablemente esté sobreajustado (tenga en cuenta que probablemente dije que necesita un conjunto de prueba para estar seguro). También tenga en cuenta que usé muchas citas, pero esto se puede definir correctamente.
skd

2

En los años 70, los experimentos con algoritmos de reconocimiento de patrones en grandes conjuntos de datos revelaron que agregar características adicionales en algunos casos aumentaba las tasas de error del conjunto de pruebas. Esto es contra intuitivo porque uno esperaría que agregar una característica adicional siempre aumente el rendimiento del clasificador, o en caso de que la característica agregada sea 'ruido blanco', su adición no influye en absoluto en el rendimiento del clasificador. El efecto de agregar aún más características adicionales a un clasificador, lo que eventualmente conduce a una disminución en el rendimiento del conjunto de pruebas se conoció como el fenómeno de pico [1].

El pico de características es causado por una generalización excesiva durante el aprendizaje. Las características adicionales provocan la inclusión de tantos parámetros adicionales que el clasificador comienza a sobreajustar los datos. Por lo tanto, se pasa el punto máximo .

En general, enfrentamos un equilibrio de sesgo-varianza al entrenar clasificadores. Cuantas más variables de características usemos, mejor será el mecanismo clasificador subyacente ( desconocido ) posiblemente modelado por nuestro clasificador. Por lo tanto, la desviación sistemática entre el modelo ajustado y la "verdad" disminuirá, es decir, se producirá un sesgo menor. Por otro lado, aumentar el espacio de características del clasificador implica necesariamente la adición de parámetros (aquellos que se ajustan a las características agregadas). Por lo tanto, la varianza del clasificador ajustado también aumenta.

Por lo tanto, el clasificador que ejecuta el punto máximo es solo una realización estocástica de un problema de clasificación de alta dimensión, y un nuevo ajuste dará como resultado un vector de parámetros muy diferente. Este hecho refleja la mayor variación.

[1. GV Trunk, "Un problema de dimensionalidad: un ejemplo simple", en IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. PAMI-1, no. 3, págs. 306-307, julio de 1979]


1

Creo que el sobreajuste se refiere a la complejidad del modelo más que a la capacidad de generalización. Entiendo la cita "un clasificador lineal no puede ser sobreajustado" ya que su complejidad es pequeña y no hay otro clasificador más simple que ofrezca un mejor rendimiento.

El ejemplo está vinculado a la capacidad de generalización de los clasificadores lineales (y los complejos). Incluso en esta segunda parte, los clasificadores lineales generalmente proporcionan menos varianza que los complejos, por lo que el valor de "sobreajuste" para los clasificadores lineales, siguiendo este concepto, también es menor (aunque el riesgo empírico de ellos podría ser tan grande). atb


0

Como dijo @ match-maker-ee, los clasificadores lineales pueden ajustarse en exceso dependiendo de las características de entrada.

El siguiente modelo f es lineal en sus parámetros de un , b y c , pero puede ajustarse a una curva cuadrática en el espacio de características de x :

f(x)=ax2+bx+c

Los SVM también pueden ajustarse en exceso, por ejemplo cuando usan el truco del kernel, a pesar de ser básicamente un modelo lineal en un espacio de características aumentado.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.