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:
- Use más datos : cuantos más datos haya, más probable es que el sistema se vea menos afectado por el desequilibrio.
- 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.
- 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.