¿Algunos algoritmos de ML son más vulnerables a los conjuntos de entrenamiento desequilibrados que otros? ¿Por qué?

Sí, todos los algoritmos son vulnerables a conjuntos de entrenamiento desequilibrados, algunos más que otros. Se vuelve especialmente importante cuando las clases desequilibradas se superponen en gran medida como en la figura siguiente y el algoritmo debe aprender a distinguir entre las regiones en función de una función de costo desequilibrado.

Existen varias técnicas para tratar el desequilibrio de clase, como sobremuestreo, submuestreo, pesaje de puntos de datos, etc. La corrección por desequilibrio puede mejorar el rendimiento del algoritmo dependiendo de cuánto cambie el modelo de manera no trivial después de la corrección.

Por ejemplo, la figura a continuación muestra un SVM lineal entrenado sin y sin pesar puntos de datos. Los dos clasificadores son casi paralelos, pero tienen un pequeño cambio en la pendiente (pesos) junto con el cambio en la intercepción (sesgo). El cambio en el sesgo puede llevarse a cabo después del entrenamiento cambiando el umbral de clasificación para mejorar la precisión en lugar de la precisión (como sugiere otra respuesta aquí), sin embargo, decidir la pendiente es intrínsecamente realizada por el algoritmo.

Algunos algoritmos de aprendizaje automático (ML) en realidad son más propensos al desequilibrio de datos que otros, pero sí, todos los algoritmos de ML son realmente vulnerables. Tomemos, por ejemplo, los aprendices flojos clásicos, como los clasificadores vecinos más cercanos. La idea es almacenar los vectores tal como son, por lo tanto, perezosos y buscarlos a través de una consulta para devolver k coincidencias más cercanas. Ahora imagine que hay dos clases, A y B, con un desequilibrio en su distribución, digamos [matemática] 4: 1 [/ matemática], respectivamente, entonces será más probable que aparezca la clase A en las coincidencias k más cercanas que la clase B, lo que significa que el algoritmo se sobreajustará hacia la clase más frecuente, en este ejemplo, clase A.

El procedimiento de clasificación KNN es clásico, pero este ajuste excesivo hacia la clase más frecuente afecta incluso a los algoritmos de aprendizaje automático más avanzados. La mejor manera de rectificar esto es:

  1. Use más datos : cuantos más datos haya, más probable es que el sistema se vea menos afectado por el desequilibrio.
  2. Sobremuestreo : al agregar conjuntos de entrenamiento repetitivos a la clase subrepresentada, ayuda a equilibrar la distribución. Esto funciona mejor si los datos disponibles son pequeños.
  3. Under-sample : simplemente puede omitir algunos conjuntos de entrenamiento en la clase sobre representada. Esto funciona mejor si los datos disponibles son muy grandes.

En la vida real, los datos negativos siempre son abundantes, por lo que siempre hay una inclinación hacia la negatividad, creo que esto también se observa fácilmente en los humanos, pero no en todos, por supuesto. Algunos pueden tratar de poner más énfasis en los datos positivos, cambiando así el equilibrio hacia la positividad, pero el humano promedio se ve afectado por este desequilibrio de datos, si siempre veo algo, existe la posibilidad de que sea muy bueno para reconocer esa experiencia en comparación con los que encuentro menos. Por lo tanto, también tendemos a adaptarnos a las experiencias que ocurren con frecuencia, pero en el buen sentido, como un escritor que escribe con frecuencia mejorará en la escritura en comparación con otras tareas en las que no está interesado.

En caso de vulnerabilidad, creo que esto tiene algo que ver con el trabajo adicional que se requiere para obtener el clasificador final. Por ejemplo, un SVM lineal simple frente al clasificador KNN, el SVM también puede ser vulnerable al desequilibrio de datos, pero no en la medida del clasificador KNN. Esto se debe a que el SVM solo se ve afectado por los vectores de soporte, es decir, los puntos de datos más cercanos al margen y, por lo tanto, cualquier cosa más allá de ellos no afectará el margen. El SVM hace un trabajo extra para encontrar esos vectores de soporte a diferencia del clasificador KNN “vago”, es como una persona que trata de entender cosas frente a una que trata de memorizar. Por lo tanto, hay más vulnerabilidad si los datos se almacenan en forma cruda frente a los codificados de forma paramétrica o no paramétrica especial.

Por lo tanto, cuanto más vulnerables sean los algoritmos de ML que se inclinan hacia el aprendizaje diferido, cuanto más aprendiz perezoso sea un algoritmo de ML, más vulnerable será al desequilibrio en los datos de entrenamiento. Por lo tanto, los algoritmos de aprendizaje avanzados que hacen más trabajo adicional para extraer representaciones significativas para codificar los datos de una manera especial son menos vulnerables.

Espero que esto ayude.

Sí, particularmente bosque aleatorio y datos muy desequilibrados. Es por eso que existen tantas extensiones que mejoran los métodos de muestreo y por qué las personas a veces necesitan procesar los datos o hacer ingeniería de características primero. El aprendizaje profundo también puede tener dificultades con esto.

Recibo mucho esta pregunta … no importa. el término de intercepción constante se ajustará a la proporción de etiquetas positivas / negativas. Por ejemplo, al diagnosticar cáncer o predecir el CTR de los anuncios, estos son datos increíblemente desequilibrados.

Precision / Recall le permitirá ajustar el umbral de salida de su clasista para que pueda conocer los riesgos asimétricos de su toma de decisiones.

Entrenar lejos.