Definitions and References
Son modelos capaces de producir en una imagen una clasificación de entre un conjunto de categorías, generando la probabilidad de que la imagen sea de cada una de ellas. Generalmente se toma la categoría con la probabilidad más alta y se asigna a toda la imagen esa etiqueta. En el siguiente ejemplo se clasificará la imagen como "Animal".
Un clasificador puede decir: Esta imagen es de animal
Este tipo de modelos tienen algunas limitantes, entre ellas:
En la clasificación binaria, generalmente tenemos dos clases, a menudo llamadas Positiva y Negativa, y tratamos de predecir la clase para cada muestra. Por ejemplo, si tenemos un conjunto de imágenes etiquetado de tal forma que nos permita saber cuáles imágenes contienen animales y cuáles no, y estamos interesados en detectar las fotos que contienen animales, en este caso, nuestra clase Positiva es la de las imágenes de animales y la clase Negativa es la de las imágenes que no contienen animales. En otras palabras, si una imagen de muestra contiene un animal, es un Positivo, si no es así, es Negativo. Nuestro clasificador predice, para cada foto, si es Positiva ( P) o Negativa (N): ¿hay un animal en la foto?
La matriz de confusión es una de las maneras más intuitivas y fáciles que se utilizan para encontrar la exactitud y precisión del modelo. Se utiliza para el problema de clasificación donde la salida puede ser de dos o más clases. La matriz de confusión en sí misma no es una medida de rendimiento como tal, pero casi todas las métricas de rendimiento se basan en la matriz de confusión y los números que contiene.
Para la clasificación binaria, una matriz de confusión tiene dos filas y dos columnas, y muestra en la primera columna cuántas muestras positivas se predijeron como positivas (primera fila) o negativas (segunda fila), y en la segunda columna cuántas muestras negativas se predijeron como positivas (primera fila) o negativas (segunda fila). Por lo tanto, tiene un total de 4 celdas. Cada vez que nuestro clasificador hace una predicción, una de las celdas de la tabla se incrementa en uno, siguiendo los cuatro criterios listados arriba, y en la posición que le corresponda según la siguiente figura:
Al final del proceso, podemos ver exactamente cómo se desempeñó nuestro clasificador.
La precision intenta responder la siguiente pregunta: ¿Qué proporción de predicciones positivas fue realmente correcta?
La precisión se define de la siguiente manera:
El recall intenta responder la siguiente pregunta: ¿Qué proporción de elementos positivos se identificó correctamente?
Matemáticamente, el recall se define de la siguiente manera:
Lo anterior se puede visualizar en el siguiente diagrama:
En general, preferimos clasificadores con buena precisión y buen recall. Sin embargo, existe una compensación entre la precisión y el recall: al ajustar un clasificador, mejorar la precisión a menudo resulta en penalizar el recall y viceversa. Debido a esto, según el tipo de problema se le podrá dar más relevancia a un aspecto u otro, dependiendo si es más importante tener más predicciones correctas o encontrar la mayoría de los elementos de la clase positiva. Por ejemplo, en un sistema de monitoreo de fauna silvestre, podría ser más importante encontrar la mayor cantidad de imágenes con animales, aunque muchas de las detecciones contengan imágenes sin animales.
A veces es deseable contar con una métrica que contenga la información de la precisión y el recall de tal manera que se puedan comparar dos modelos directamente. Una forma de obtener esta métrica es a través de la media aritmética de la precisión y el recall. Sin embargo, esta tiene el problema de que no representa bien el desempeño de modelos para datasets con una clase mucho mayor que la otra y que siempre genere clasificaciones de la clase mayor. Por el contrario, la media armónica da mayor peso a los números más pequeños, y penalizará más, por ejemplo, un modelo con una alta precisión pero un recall muy bajo.
El score-F1 se basa en la media armónica y se define de la siguiente manera:
Y en general, el score-F se define para un β real positivo en el cual se le da β veces más importancia a la precisión que al recall:
En este sentido, el score-F1 es un caso especial del score-F donde β tiene un valor de 1.
La exactitud (Accuracy) en los problemas de clasificación es el número de predicciones correctas realizadas por el modelo sobre todo tipo de predicciones realizadas.
Esta métrica solo debe usarse para evaluar datasets que están más o menos balanceados, y nunca cuando exista una clase que tenga la mayoría de elementos.
Los problemas de clasificación binaria se centran en una clase positiva que queremos detectar. Por el contrario, en un típico problema de clasificación multiclase, debemos clasificar cada muestra en una de N clases diferentes. Por ejemplo, podríamos querer clasificar una foto que contiene animales en alguna de varias categorías diferentes, que podrían ser parte de una jerarquía taxonómica.
Para este tipo de modelos se suele realizar el cálculo de las métricas descritas en la sección Clasificación binaria para cada una de las categorías, esto es, tomando una categoría como la clase positiva, y la suma de todas las demás como la clase negativa.
Por ejemplo, supongamos un modelo que trata de clasificar fotos que tienen animales de las siguientes clases: Mamíferos, Peces y Aves. Nuestro clasificador tiene que predecir qué animal se muestra en cada foto. Este es un problema de clasificación con N=3 clases.
Supongamos que la siguiente es la matriz de confusión después de clasificar 25 fotos:
De manera similar al caso binario, podemos definir precisión y recall para cada una de las clases. Por ejemplo, la precisión para la clase Mamífero es el número de fotos de mamíferos predichas correctamente (4) de todas las fotos de mamíferos predichas (4 + 3 + 6 = 13), lo que equivale a 4/13 = 30.8%. Entonces, solo alrededor de un tercio de las fotos que nuestro predictor clasifica como Mamífero son en realidad de mamíferos.
Por otro lado, el recall para la clase Mamífero es el número de fotos de mamíferos (4) pronosticadas correctamente del número de fotos de mamíferos reales (4 + 1 + 1 = 6), que es 4/6 = 66.7%. Esto significa que nuestro clasificador clasificó 2/3 de las fotos de mamíferos como Mamífero.
De manera similar, podemos calcular la precisión y el recall de las otras dos clases: Peces y Aves. Para Peces, los números son 66.7% y 20.0% respectivamente. Para Aves, el número tanto de precisión como de recall es del 66,7%.
Los valores de score-F1 para cada categoría son: Mamífero = 42.1%, Peces = 30.8% y Aves = 66.7%.
Todas estas métricas se resumen en la siguiente tabla:
Ahora que tenemos los valores de las métricas para cada categoría, el siguiente paso es combinarlas para obtener las métricas para todo el clasificador. Hay varias formas de hacer esto y aquí analizaremos las dos más utilizadas. Empecemos con la más sencilla: calcular la media aritmética de la precisión y el recall y a partir de ellas el score-F1 global. Esta es llamada el Macro-promedio de la métrica, y se calcula:
Una variante para calcular el Macro-F1 que se suele preferir al evaluar datasets desbalanceados es con la media aritmética de los score-F1 individuales de todas las clases, ya que se ha demostrado que el otro método es excesivamente "benevolente" hacia clasificadores muy sesgados y puede dar valores engañosamente altos cuando se están evaluando este tipo de datasets, y ya que se suele usar el Macro-F1 con la intención de asignar igual peso a la clase más frecuente y a la menos frecuente, se recomienda utilizar esta última definición, que es significativamente más robusta hacia la distribución de este tipo de error.
Otra forma de realizar el promedio de las métricas es con el micro-promedio, para el cuál se deben tomar todas las muestras juntas para hacer el cálculo de la precisión y el recall, y después con estos valores hacer el cálculo del score-F:
Para calcular la micro-precisión tenemos que sumar el total de TP y dividirlo entre el total de predicciones positivas. Para nuestro ejemplo, sumamos el total de elementos en la diagonal (color verde) para obtener TP=12. Después sumamos los falsos positivos, es decir, los elementos fuera de la diagonal, y obtenemos FP=13. Nuestra precisión es, por lo tanto, 12 / (12 + 13) = 48.0%.
Para calcular el micro-recall tenemos que sumar el total de falsos negativos (FN) para todas las clases, que al igual que para los FP, consiste en sumar todos los elementos fuera de la diagonal, con lo que se obtendría nuevamente FN=13 y el valor del micro-recall también es 12 / (12 + 13) = 48.0%.
Dado que el micro-recall es igual a la micro-precisión, entonces la media armónica, y por lo tanto el micro-F1, también será igual a este valor. Por tanto, en general se puede decir que:
Mientras que un clasificación multiclase puede tomar como posibles valores: true o false, pero en un esquema multilabel tambien hay clasificaciones parciales.
Se define el escenario de la clasificacion multietiqueta:
Las características de un dataset multietiqueta, así como la calidad de los clasificadores multietiqueta, son evaluados con distintas métricas.
Las tareas principales son determinar el comportamiento del conjunto de datos y la clasificación en sí. Estas métricas se refieren a la caracterización del conjunto de datos y a las métricas de evaluación [1].
Para caracterizar un dataset, dos métricas son comunmente utilizadas:
Cadinalidad de etiquetas (LC)
Número promedio de de etiquetas simples asociadas a cada ejemplo
Densidad de etiquetas (LD)
La cardinalidad normalizada
La evaluación de un clasificador se basa solamente en 2 posibles valores (por clase): correcto o incorrecto.
Sin embargo, la evaluación de los clasificadores multietiqueta pueden tener en cuenta clasificaciones parcialmente correctas.
Se presenta un conjunto de metricas de evaluación multietiqueta, cada una de ellas presenta distintos criterios de evaluación teniendo en cuenta resultados parciales.
Divididas en [2]:
Consideran la diferencia entre (las etiquetas verdaderas), y (las etiquetas a predecir), estas medidas estan en el intervalo [0, 1].
Hamming Loss[3]
Evalua cuantas veces, en promedio, un par ejemplo-etiqueta es clasificada incorrectamente, por lo tanto, es la fracción de etiquetas que fueron incorrectamente predichas.
donde:
es la diferencia simétricas entre 2 conjuntos
es el factor para normalizar en un rango [0, 1].
Entre más bajo sea el valor, mejor es el desempeño del clasificador.
Metricas basadas en etiquetas
Es común utilizar un conjunto de métricas basadas en recuperación de información y enfoncarlas a medir el desempeño de la etiqueta.
Cualquier métrica de evaluación binaria puede ser utilizada para este tipo de acercamiento, comunmente se utilizan precision,recall y F1-score:
Tomado de [2:1]
La idea es calcular un métrica sencilla para cada etiqueta basada en el número de verdaderos positivos (TP), verdaderos negativos (TN), falsos positivos (FP), y falsos negativos (FN). Como se tiene varias etiquetas habrá una tabla de confusión por cada etiqueta o muestra, por lo tanto es necesario calcular un valor promedio.
Hay 2 distintos acercamientos para promediar estos valores: micro y macro.
Sea una métrica de evaluación binaria, el acercamiento macro calcula una métrica por cada etiqueta y después los valores son promediados para todas las categorías:
El acercamiento micro considera predicciones de todos los ejemplos juntos (agregando los valores de todas las matrices de confusión) y después calcula la métrica para todos las etiquetas:
El score con promediado macro da el mismo peso a cada clase, sin importar su frecuencia (promediado por clase) y esta más influenciado por el desempeño en clases con pocas muestras. Este tipo de acercamiento puede tomarse en cuenta cuando el sistema necesita un desempeño consistente para todas las clases sin importar la frecuencia de cada clase en particular.
El score con promediado micro da el mismo peso a cada muestra (promediado por muestra/ejemplo) and tiene una tendencia a ser sesgado por el desempeño de las clases mas comunes y puede ser ser recomendable cuando la densidad de clase es importante.
El conjunto de métricas a utilizar para ecvaluar el desempeño de un experimento multietiqueta serán: precision, recall and f1-score, debido a que en general son las métricas más utilizadas y expresivas en sistemas de recuperación de información [4].
Las cuales se definen como sigue:
Proporción de etiquetas clasificadas correctamente y las etiquetas positivas predichas.
Relación entre etiquetas clasificadas correctamente y las etiquetas incorrectas predichas.
Combina la precision y la exhaustividad (recall) y muestra su correspondiente harmónicas, para la primera de ellas se define como:
El siguiente conjunto de métricas será calculado como default cuando se opte por una evaluación multietiqueta en el API CONABIO_ML:
El cual se configura como sigue:
Teniendose el siguiente conjunto de resultados:
Note que todas las métricas definidas anteriormente asumen que previamente se ha escogido/calculado un umbral/threshold particular de clasificación.
Si no hay un umbral establecido un análisis para escorgerlo debe realizarse.
Algunas opciones para este análisis son las curvas ROC (receiver operating characteristic) o de precisionxrecall.