Equilibrio de matriz para ML con un número insuficiente de objetos minoritarios en la matriz

Al modelar un proceso usando ML (aprendizaje automático), una de las tareas más laboriosas y exigentes es crear una matriz de datos en volumen suficiente para crear un modelo con características de alta calidad. ¿Qué pasa si no hay suficientes datos?





Como parte de una de las tareas de crear un modelo matemático que estima la probabilidad de manipular los estados financieros proporcionados por el cliente al banco, se solucionó el problema de datos insuficientes para entrenar el modelo con un docente. Se eligió la presentación de informes financieros trimestrales (FO) como objeto de la matriz. La matriz constaba de varios miles de objetos, y esto fue suficiente para nuestra tarea. El problema apareció durante la formación de los valores de la variable objetivo. Los analistas han identificado solo 20 casos probados de manipulación de informes financieros. Este es un número extremadamente pequeño para una matriz de varios miles de objetos. Si la matriz se divide aleatoriamente, en nuestro caso por 5 pliegues, cuando se usa la función de validación cruzada, existe una alta probabilidad de queque cualquiera de los pliegues estará sin objetos con casos probados de manipulación de FO. En este caso, la funcionalidad de validación cruzada será inútil y el proceso de entrenamiento del modelo terminará con un error.  





A primera vista, existe una solución a este problema, que consiste en utilizar el método del "indersampling", cuya esencia es duplicar en el array aquellos objetos para los que, en nuestro caso, se han comprobado los hechos de manipulación de FD. Al final resultó que, el uso del método de indersampling resolvió el problema de la validación cruzada, pero no fue posible crear un modelo con métricas de calidad aceptables. Se concluyó que el uso del método de “indersampling” no es aconsejable en el caso en que el número de objetos de la clase minoritaria y la clase mayoritaria difieran en varios órdenes de magnitud. En nuestro caso, el método duplicado crea una gran cantidad de objetos en la matriz, que son copias completas de su padre. En este caso, la matriz pierde su singularidad y el entrenamiento en dicha muestra conduce a un sobreajuste del modelo.La evidencia de este hecho se demuestra por las métricas de calidad del modelo en la muestra de prueba.





ROC_AUC :





ROC_AUC, 0,55 . ROC_AUC , , .





. , , .





, «» « ». , , 20% . , 25% , , .     . , . 8 – . T/SQL :





PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY “PARAMETER”) OVER (PARTITION BY “CLIENT”)
      
      



8 , 8 .





():





= ( – _Me/_Me) *100;





= ( – _Me/ _Me) *100;





= | - |;





90% , , . 20 330. , .





ROC_AUC :





ROC_AUC, 0,84 . ROC_AUC , , .





Para lograr un cierto equilibrio de clases minoritarias y mayoritarias en la muestra, puede utilizar los algoritmos SMOTE o ASMO de la biblioteca imblearn.





Ambos algoritmos buscan "vecinos más cercanos". Es aconsejable utilizar un método de este tipo cuando existe una gran confianza en que, en una clase minoritaria, todos los objetos en sus parámetros son representantes de esta clase. En nuestro caso, los objetos cayeron en la clase minoritaria en función de los juicios de los analistas, y en el proceso de equilibrar la muestra en función del algoritmo desarrollado, se encontraron objetos que, en cuanto a sus parámetros, resultaron ser los más destacados. representantes para asignarlos a la clase minoritaria.








All Articles