Bias en estadística y machine learning
En estadística y más concretamente en el mundo del aprendizaje automático es importante conocer las limitaciones de los modelos.
Durante el entrenamiento, distintas problemáticas pueden acarrear que el algoritmo no aprenda adecuadamente generando errores que resultarán en una predicción pobre de los resultados.
Uno de los errores más frecuentes es el que se conoce como bias o sesgo. Un modelo sesgado generará un resultado poco preciso de la realidad.
Por esta razón es importante hacer un diagnostico y evaluar los modelos de machine learning una vez entrenados. Si detectamos algún error podemos actuar y resolverlo antes de ponerlo en producción y que pueda afectar el negocio.
Qué es Tableau
Aprende que es Tableau, una de las mejores herramientas de visualización para inteligencia de negocio y análisis de datos. ¡Entra y descúbrela!
Ver artículoEn este artículo veremos qué es el bias o un modelo sesgado y aprenderemos como detectarlo y afrontarlo para mejorar su precisión.
Qué es el bias o sesgo en machine learning
El bias o sesgo puede ser pensado como un modelo que no ha tenido en cuenta toda la información disponible en el dataset, y, por lo tanto, es demasiado pobre como para hacer predicciones precisas.
Esto se conoce como underfitting y ocurre cuando el modelo es demasiado simple para el problema que se quiere solucionar.
Existen diferentes maneras de detectar el bias. Una de ellas es generar las curvas de aprendizaje o las learning curves. (En el artículo de qué es el overfitting se explica mejor que son).
Si la curva de validación y la de entrenamiento tienen un gap pequeño y un error grande significa que el modelo es demasiado pobre y que por lo tanto puede sufrir underfitting indicando que existe un problema de sesgo.
Otros posts que te gustarán
Cómo mejorar un modelo sesgado
Una vez hemos detectado el problema debemos actuar. Para mejor un modelo sesgado podemos ampliar el tamaño del conjunto de entrenamiento. De esta forma obligaremos al modelo a aprender patrones más complejos y a reducir el underfitting.
Sin embargo, muchas veces los datos están limitados y obtener más cantidad de ellos no es posible.
Otra opción es probar otras técnicas de machine learning o Deep learning que permitan una mayor flexibilidad y complejidad del modelo.
Muchos algoritmos de inteligencia artificial tienen hiperparametros tuneables con los que se puede jugar para disminuir el bias y aumentar la complejidad del modelo.
El aumento de datos y generación de datos sintético es otra opción. Como hemos mencionado, muchas veces no podemos obtener más información de la que ya tenemos ya que los datasets son limitados.
No obstante, podemos emplear diferentes técnicas para generar datos sintéticos. Una de ellas es el data augmentation o el aumento de datos. Esto se utiliza sobretodo en imágenes donde podemos girarlas, cortarlas, hacer zoom o utilizar filtros para generar nuevas imágenes a partir de las ya existentes.
Para otro tipo de datos podemos hacer uso de algoritmos de interpolación como SMOTE o ADASYN conocidos como técnicas de oversampling.
Diferencias entre bias y varianza
Cuando intentamos solucionar el problema de sesgado o bias tenemos que vigilar de no conseguir el contrario. Si reajustamos mucho los parámetros y damos mucha flexbilidad al modelo podríamos pasar de tener un modelo demasiado sencillo (underfitting) a un modelo demasiado complejo (overfitting). Este último seria un modelo con una varianza alta y un bias bajo.
Una alta varianza significa que el modelo construido es demasiado complejo y muy especifico para nuestros datos de entrenamiento con lo que le costaría mucho generalizar a información que no ha visto durante el entreno.
Por esta razón, es importante diagnosticar los modelos e intentar conseguir un balance entre el bias (underfitting) y la varianza (overfitting).