Tipos de error en Machine Learning, ¿los conoces?

Monday, 6 November 2017

Tipos de error en Machine Learning, ¿los conoces?

Este aforismo, atribuido a San Agustín, es habitual en nuestro lenguaje habitual. Reconocemos que “errar”, confundirse, es intrínseco a la naturaleza humana. Pero lo importante no es el error en sí, sino aprender de ellos. Cuando hablamos de Inteligencia Artificial, y en concreto, de Machine Learning, también tenemos que hablar de errores, y de cómo nos pueden ser útiles para aprender. En este post vamos a conocer la diferencia entre dos tipos de error: los "Falsos Positivos" y los "Falsos Negativos".

Vamos a considerar, por ejemplo, un modelo de clasificación. En un post anterior, vimos que la “clasificación” es uno de los problemas más habituales que se resuelven por medio de algoritmos de Machine Learning.

Al hablar de “clasificadores”, merece la pena hacer una aclaración sobre cómo nombramos los resultados, porque, a primera vista, la nomenclatura habitual resulta un poco contradictoria. Por ejemplo, normalmente, nos referimos a un resultado “malo” como “positivo”, y aun resultado “bueno” o “normal” como “negativo”. Y si a lo que estamos aplicando nuestro algoritmo clasificador es a un proceso de detección de fraude, resulta contradictorio que se considere “positivo” el caso en el que se ha detectado un posible delito. Mientras que en otro ejemplo típico de clasificador, las pruebas médicas, el resultado “positivo” significa que el paciente sí padece la enfermedad que intentamos diagnosticar. A pesar de ésto, esta terminología es habitual en muchos campos (no sólo en Machine Learning) y por ello resulta más práctico atenerse a ella.

Lo importante es comprender que lo que consideramos “positivo” es aquello a lo que hay que prestar atención, mientras que lo “negativo”, es lo habitual, lo que consideramos normal.

Cuando se aplica un modelo de Machine Learning a un problema concreto, es fundamental poder evaluar su rendimiento. Cómo de “bien” (o de mal) funciona el modelo. Esto es importante porque hay que encontrar un equilibrio entre el “coste” del modelo y sus “beneficios”. La evaluación de modelos es un tema complejo que merece la pena analizar en profundidad, pero podemos quedarnos con una idea básica que nos ayude a comprender el problema.

Siempre podremos aplicar algoritmos más sofisticados, más capas de iteración, o volúmenes de datos más ricos y complejos. Podemos considerar más parámetros… Pero todas estas acciones tienen un coste. Hay que optimizar la relación entre este coste, y los beneficios que obtenemos. Así, según el problema que tengamos que resolver, decidiremos con qué porcentaje de acierto nos interesa trabajar. Esto significa que somos conscientes de que habrá un margen de error, pero lo asumimos.

El problema está en que esos “errores” pueden tener un significado muy distinto según el caso. Hemos dicho que lo habitual en una muestra es que la mayoría de los casos sean “negativos” (=comportamiento normal). Lo que buscamos son las anomalías. Los “positivos”, son los casos en los que ocurre algo diferente. Por tanto, serán más habituales los “falsos positivos”. En estos casos clasificador lanza una alerta innecesaria de “posible fraude” o “diagnóstico positivo”. Sin embargo, en el caso de los “falsos negativos”, aunque su número sea menor, su coste puede ser mucho más alto. No hay más que pensar en el efecto que puede tener un diagnóstico negativo erróneo para una persona que (sí) padece una enfermedad grave.

Para ayudar a comprender de un vistazo y con un poco de humor la diferencia entre “Falsos Positivos” y “Falsos Negativos” tomo prestado el ejemplo con que lo explica Paul D. Ellis en  “The Essential Guide to Effect Sizes”.

Figura 1: Ejemplos de Falsos Positivos y Falsos Negativos
Figura 1: Ejemplos de Falsos Positivos y Falsos Negativos.

No comments:

Post a Comment