15 votos

¿La máquina de vectores de apoyo puede manejar un conjunto de datos desequilibrado?

¿Supera la SVM los conjuntos de datos desequilibrados? ¿Hay algún parámetro (como C, o el coste de la clasificación errónea) que maneje el conjunto de datos desequilibrados?

1 votos

¿Qué hace que un conjunto de datos sea "desequilibrado"?

1 votos

@whuber un conjunto de datos de clasificación con una prevalencia de clases muy variable suele denominarse desequilibrado.

1 votos

@Marc Eso puede ser cierto en general, pero es un concepto vago. ¿Cuánto es "ampliamente variable"? ¿Por qué debería importar, salvo en ciertas circunstancias especiales? Creo que es importante que nos enteremos de lo que es el proponente de esta pregunta quiere decir "desequilibrada" en lugar de aceptar la inteligente conjetura de cualquiera sobre el significado previsto.

20voto

Marc Claesen Puntos 9818

Para los conjuntos de datos desequilibrados, solemos cambiar la penalización por clasificación errónea por clase. Esto se llama SVM ponderado por clase, que minimiza lo siguiente:

$$ \begin{align} \min_{\mathbf{w},b,\xi} &\quad \sum_{i=1}^N\sum_{j=1}^N \alpha_i \alpha_j y_i y_j \kappa(\mathbf{x}_i,\mathbf{x}_j) + C_{pos}\sum_{i\in \mathcal{P}} \xi_i + C_{neg}\sum_{i\in \mathcal{N}}\xi_i, \\ s.t. &\quad y_i\big(\sum_{j=1}^N \alpha_j y_j \kappa(\mathbf{x}_i, \mathbf{x}_j) + b\big) \geq 1-\xi_i,& i=1\ldots N \\ &\quad \xi_i \geq 0, & i=1\ldots N \end{align}$$

donde $\mathcal{P}$ y $\mathcal{N}$ representan las instancias de entrenamiento positivas/negativas. En la SVM estándar sólo tenemos una única $C$ mientras que ahora tenemos 2. La penalización por clasificación errónea de la clase minoritaria se elige para que sea mayor que la de la clase mayoritaria.

Este enfoque se introdujo bastante pronto, se menciona por ejemplo en un documento de 1997:

Edgar Osuna, Robert Freund y Federico Girosi. Máquinas de vectores de apoyo: Entrenamiento y aplicaciones. Informe técnico AIM-1602, 1997. ( pdf )

En esencia, esto equivale a un sobremuestreo de la clase minoritaria: por ejemplo, si $C_{pos} = 2 C_{neg}$ esto es totalmente equivalente a entrenar una SVM estándar con $C=C_{neg}$ después de incluir cada positivo dos veces en el conjunto de entrenamiento.

0 votos

¡Genial, gracias! Además de eso, ¿maneja la regresión logística, navie bayes, árbol de decisión tal problema de desequilibrio?

0 votos

La regresión logística ciertamente lo hace, sólo que pondera la probabilidad de los patrones positivos y los negativos de manera diferente.

0 votos

La regresión logística y la SVM proporcionan formas intrínsecas. No sé de memoria para todos estos otros métodos, pero el sobremuestreo de la clase minoritaria funciona para casi todos los métodos (aunque no es exactamente elegante matemáticamente).

10voto

John Richardson Puntos 1197

Las SVM son capaces de manejar conjuntos de datos con frecuencias de clase desequilibradas. Muchas implementaciones le permiten tener un valor diferente para la penalización de holgura (C) para las clases positivas y negativas (que es asintóticamente equivalente a cambiar las frecuencias de clase). Yo recomendaría establecer los valores de estos parámetros para maximizar el rendimiento de la generalización en un conjunto de pruebas en el que las frecuencias de clase sean las que usted espera ver en el uso operativo.

Yo fui una de las muchas personas que escribieron artículos sobre esto, aquí está mina Veré si puedo encontrar algo más reciente/mejor. Prueba con Veropoulos, Campbell y Cristianini (1999).

0 votos

Dikran ¿por qué es sólo asintóticamente equivalente... seguramente es exactamente equivalente a ponderar los diferentes errores de clase de manera diferente?

0 votos

Es exactamente equivalente a ponderar los errores de clase, pero eso no es lo mismo que remuestrear los datos (para empezar las ponderaciones son continuamente variables, pero los datos son discretos). Es uno de los resultados de las expectativas asintóticas (que no parecen especialmente útiles en la mayoría de las circunstancias).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X