¿Por qué disminuir la muestra?


42

Supongamos que quiero aprender un clasificador que predice si un correo electrónico es spam. Y supongamos que solo el 1% de los correos electrónicos son spam.

Lo más fácil sería aprender el clasificador trivial que dice que ninguno de los correos electrónicos son spam. Este clasificador nos daría un 99% de precisión, pero no aprendería nada interesante y tendría una tasa de 100% de falsos negativos.

Para resolver este problema, la gente me ha dicho que "reduzca la muestra" o que aprenda en un subconjunto de datos donde el 50% de los ejemplos son spam y el 50% no lo son.

Pero estoy preocupado por este enfoque, ya que una vez que construimos este clasificador y comenzamos a usarlo en un corpus real de correos electrónicos (a diferencia de un conjunto de prueba 50/50), puede predecir que muchos correos electrónicos son spam cuando ' re realmente no. Solo porque está acostumbrado a ver mucho más spam del que realmente hay en el conjunto de datos.

Entonces, ¿cómo solucionamos este problema?

("Upsampling" o repetir los ejemplos de entrenamiento positivo varias veces, por lo que el 50% de los datos son ejemplos de entrenamiento positivos, parece sufrir problemas similares).

Respuestas:


37

De hecho, la mayoría de los modelos de clasificación no producen una decisión binaria, sino un valor de decisión continuo (por ejemplo, los modelos de regresión logística generan una probabilidad, las SVM generan una distancia firmada al hiperplano, ...). Usando los valores de decisión, podemos clasificar las muestras de prueba, de 'casi seguro positivo' a 'casi seguro negativo'.

En función del valor de decisión, siempre puede asignar algún límite que configure el clasificador de tal manera que una cierta fracción de datos se etiquete como positiva. Se puede determinar un umbral apropiado a través de las curvas ROC o PR del modelo . Puedes jugar con el umbral de decisión independientemente del saldo utilizado en el conjunto de entrenamiento. En otras palabras, técnicas como el muestreo ascendente o descendente son ortogonales a esto.

Suponiendo que el modelo es mejor que aleatorio, puede ver intuitivamente que aumentar el umbral para la clasificación positiva (lo que conduce a predicciones menos positivas) aumenta la precisión del modelo a costa de un menor recuerdo y viceversa.

Considere SVM como un ejemplo intuitivo: el desafío principal es aprender la orientación del hiperplano de separación. Up-or downsampling puede ayudar con esto (recomiendo preferir upsampling sobre downsampling). Cuando la orientación del hiperplano es buena, podemos jugar con el umbral de decisión (por ejemplo, distancia firmada al hiperplano) para obtener una fracción deseada de predicciones positivas.


Gracias, esto fue de mucha ayuda. ¿Cómo sabes cuál debería ser el umbral? ¿Desea establecer el umbral para que la proporción de predicciones positivas sea igual a la proporción de ejemplos positivos en la población?
Jessica

2
@Jessica Como mencioné, una forma conveniente de elegir el umbral es a través de las curvas características de funcionamiento del receptor (ROC). Cada umbral corresponde a un punto en el espacio ROC. Cuando traza la curva, puede elegir un umbral según lo que se ajuste a sus necesidades específicas. (también podría usar curvas de recuperación de precisión como alternativa)
Marc Claesen

No estoy de acuerdo en que la distancia de un punto de prueba al hiperplano aprendido por un SVM sea una medida de confianza de la predicción. Se han realizado esfuerzos para hacer confianzas de predicción de salida SVM. Busque la escala de Platt, por ejemplo. Pero no funciona tan bien como la clasificación del proceso gaussiano (confianza de predicción de wrt).
Seeda

1
La escala de @Seeda Platt se trata de valores de decisión de horquilla de zapatos en probabilidades. El escalado de Platt es tan simple como ejecutar valores de decisión (escalados) a través de la función logística, que aumenta de forma monotónica y, por lo tanto, no afecta a las clasificaciones (= confianza). Todo lo que hace es asignar la salida de a . R[0,1]
Marc Claesen

@MarcClaesen No estoy sugiriendo usar la escala Platt; Es un "intento" de generar confianzas de predicción, pero existen mejores alternativas. Todo lo que digo es que usar la distancia al hiperplano no tiene sentido y revisar la literatura, nunca me he encontrado a pesar de que es lo primero que se me ocurre al tratar de generar confianzas a partir de una SVM.
Seeda

14

El verdadero problema aquí es su elección de métrica: el% de precisión es una mala medida del éxito de un modelo en un conjunto de datos no equilibrado (por la razón exacta que menciona: es trivial lograr un 99% de precisión en este caso).

Equilibrar su conjunto de datos antes de ajustar el modelo es una mala solución, ya que sesga su modelo y (aún peor) arroja datos potencialmente útiles.

Es mucho mejor equilibrar su métrica de precisión, en lugar de equilibrar sus datos. Por ejemplo, podría utilizar la precisión equilibrada cuando se evalúa a modelar: (error for the positive class + error for the negative class)/2. Si predice todo positivo o todo negativo, esta métrica será 50%una buena propiedad.

En mi opinión, la única razón para reducir la muestra es cuando tienes demasiados datos y no puedes ajustarte a tu modelo. Muchos clasificadores (regresión logística, por ejemplo) funcionarán bien con datos no balanceados.


¿Puedo preguntar cómo pueden funcionar bien los clasificadores en datos desequilibrados? Quizás sean solo mis datos, pero he intentado entrenar regresión logística, bosques aleatorios y modelos C5.0 en mis datos de entrenamiento, tanto desequilibrados como equilibrados utilizando muestreo mixto / submuestreo. Los modelos entrenados en los datos desequilibrados funcionan mucho peor en mi conjunto de pruebas que los entrenados en datos balanceados.
Seanosapien

13

Como siempre @Marc Claesencomo una gran respuesta.

Solo agregaría que el concepto clave que parece faltar es el concepto de una función de costo . En cualquier modelo tiene un costo implícito o explícito de falsos negativos a falsos positivos (FN / FP). Para los datos desequilibrados descritos, a menudo se desea tener una relación de 5: 1 o 10: 1. Hay muchas formas de introducir funciones de costos en los modelos. Un método tradicional es imponer un límite de probabilidad en las probabilidades producidas por un modelo; esto funciona bien para la regresión logística.

Un método utilizado para clasificadores estrictos que no generan estimaciones de probabilidad de forma natural es submuestrear la clase mayoritaria en una proporción que induzca la función de costo que le interesa. Tenga en cuenta que si muestrea a 50/50 está induciendo una función de costo arbitraria. La función de costo es diferente pero tan arbitraria como si se tomara una muestra a la tasa de prevalencia. A menudo puede predecir una proporción de muestreo adecuada que corresponde a su función de costo (generalmente no es 50/50), pero la mayoría de los profesionales con los que he hablado solo prueban un par de proporciones de muestreo y eligen la más cercana a su función de costo.


2
Gracias por mencionar eso, es una idea interesante que no había considerado. ¿Cómo puede saber qué proporción de muestreo corresponde a su función de costo?
Jessica

8

Respondiendo directamente a la pregunta de Jessica: una de las razones para reducir el muestreo es cuando trabajas con un gran conjunto de datos y enfrentas límites de memoria en tu computadora o simplemente quieres reducir el tiempo de procesamiento. La disminución de la resolución (es decir, tomar una muestra aleatoria sin reemplazo) de los casos negativos reduce el conjunto de datos a un tamaño más manejable.

Usted mencionó el uso de un "clasificador" en su pregunta, pero no especificó cuál. Un clasificador que puede evitar son los árboles de decisión. Cuando ejecuto un árbol de decisión simple en datos de eventos raros, a menudo encuentro que el árbol construye solo una raíz, dado que tiene dificultades para dividir tan pocos casos positivos en categorías. Puede haber métodos más sofisticados para mejorar el rendimiento de los árboles para eventos raros; no conozco ninguno fuera de mi cabeza.

Por lo tanto, usar una regresión logística que devuelva un valor de probabilidad pronosticado continuo, como lo sugiere Marc Claesen, es un mejor enfoque. Si está realizando una regresión logística en los datos, los coeficientes siguen siendo imparciales a pesar de que hay menos registros. Tendrá que ajustar la intersección, , de su regresión de acuerdo con la fórmula de Hosmer y Lemeshow, 2000:β0

βc=β0log(p+1p+)

donde es la fracción de casos positivos en su población previa al muestreo.p+

Puede encontrar su umbral de ID de correo no deseado preferido con el ROC al calificar primero el conjunto de datos completo con los coeficientes del modelo trazados en el conjunto de datos disminuido y luego clasificar los registros de mayor a menor probabilidad pronosticada de ser spam. Luego, tome los mejores registros calificados, donde es el umbral que desea establecer (100, 500, 1000, etc.) y luego calcule el porcentaje de casos falsos positivos en los casos superiores y el porcentaje de casos falsos negativos en el nivel inferior restante de - casos para encontrar el equilibrio correcto de sensibilidad / especificidad que satisfaga sus necesidades.nnnNn


3

Por supuesto, clasificar todo como 'no spam' le permite decir que, dados 100 correos, clasifica correctamente 99 de ellos, pero también clasifica como 'no spam' el único etiquetado como spam (100% falso positivo). Resulta que la métrica que elige para evaluar el algoritmo no se adapta. Este video ejemplifica el concepto.

En términos generales, equilibrar el conjunto de datos le permite sopesar los errores de clasificación errónea. Un algoritmo que usa un conjunto de entrenamiento desequilibrado presumiblemente no aprenderá a discriminar las características, porque no le daría mucha importancia al hecho de que clasifica erróneamente los datos de la clase escasa.


0

No elegiría tanto el muestreo como el muestreo descendente, ya que ambos engañan al algoritmo de aprendizaje, sin embargo, si los datos se desequilibran, la medida de precisión se vuelve inválida o no informativa, por lo tanto, es mejor usar medidas de precisión y recuperación, ambas dependen principalmente del TP ( los spams correctamente clasificados en su caso), esto da una buena idea sobre el rendimiento real de su sistema en términos de detección de spam independientemente del número de ejemplos negativos.

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.