Hay dos tipos de errores que pueden cometerse, como muchos saben: los falsos positivos (es decir aquellos textos que fueron etiquetados como de una clase dada y no lo son) y los falsos negativos, aquellos textos que no fueron etiquetados como pertenecientes a la clase y en verdad sí pertenecen.
Esta matriz gráfica lo anterior:
Correcto | No correcto | |
---|---|---|
Seleccionado | verdadero positivo | falso positivo |
No seleccionado | verdadero negativo | falso negativo |
Están marcados en rojos los casos de error.
Precisión y exhaustividad (Recall):
Estos son dos indicadores distintos que nos permiten medir cuan bueno es un clasificador:
Precisión: textos correctamente clasificados sobre el total de textos clasificados, para una clase dada
Exhaustividad (recall): textos clasificados correctamente sobre el total de textos de esa categoría
Valor-F
La situación ideal es aquella en la que existe una precisión y exhaustividad alta (es decir muy cercana a 1). A esta situación se la denomina utilidad teórica. Con el objeto de ponderar y ver cuan lejos están ambas medidas de la utilidad teórica, suelen emplearse los valores de ambas métricas combinadas en una media armónica denominada valor-F (wikipedia)
Cuando tenemos un clasificador trabajando con varias clases es extremadamente útil contar con una matriz de confusión, esta matriz indica la cantidad de documentos que fueron mal clasificados y su categoría real. Este sería un ejemplo:
Precisión y exhaustividad (Recall):
Estos son dos indicadores distintos que nos permiten medir cuan bueno es un clasificador:
Precisión: textos correctamente clasificados sobre el total de textos clasificados, para una clase dada
Exhaustividad (recall): textos clasificados correctamente sobre el total de textos de esa categoría
Valor-F
Si β es igual a uno, se está dando la misma ponderación (o importancia) a la precisión que a la exhaustividad, si β es mayor que uno de damos más importancia a la exhaustividad mientras que si es menor que uno se le da más importancia a la precisión.
Lo más usual es utilizar β=1, en ese caso la ecuación queda:
F1= 2PE/(P+E)
Matriz de confusión:
Documentos en el conjunto de prueba | asignados a Argentina | asignados a Uruguay | asignados a Chile | asignados a España | asignados a Bolivia | asignados a Paraguay |
---|---|---|---|---|---|---|
sobre Argentina | 85 | 32 | 1 | 0 | 1 | 2 |
sobre Uruguay | 10 | 3 | 0 | 1 | 0 | 0 |
sobre Chile | 0 | 0 | 90 | 6 | 0 | 0 |
sobre España | 2 | 2 | 13 | 33 | 1 | 2 |
sobre Bolivia | 0 | 1 | 4 | 1 | 13 | 2 |
sobre Paraguay | 1 | 0 | 1 | 1 | 12 | 55 |
teniendo esta matriz, podemos calcular los indicadores anteriores de la siguiente forma:
Exhaustividad (Recall)
fracción de documentos en la clase i clasificados correctamente.
cii
∑cij
j
Precisión
fracción de documentos asignados a la clase i que son realmente de la clase i
cii
∑cji
j
y también podemos calcular la Exactitud
Exactitud
fracción de documentos clasificados correctamente (1-Error)
∑cii
i
∑∑cij
j i
Micro-promedio contra macro-promedio
Si tenemos más de una clase pero queremos saber la eficiencia total del algoritmo de clasificación tendremos que pensar en combinar los distintos valores en una sola medida y existen básicamente dos formas de realizar esto:
Macro-promedio
Esta es la forma más simple, más intuitiva, computamos el rendimiento para cada clase y luego lo promediamos, es decir dividimos por la cantidad de clases.
Micro-promedio
Para calcular el micro-promedio, primero hay que armar la tabla de errores antes mostrada para cada clase.
ejemplo:
Suponiendo que solo tuviésemos 2 clases, para el ejemplo anterior: Argentina y Uruguay:
Clase Argentina
Correcto | No correcto | |
---|---|---|
clasificado como Argentina | 85 | 10 |
Clase Uruguay
Correcto | No correcto | |
---|---|---|
clasificado como Uruguay | 3 | 32 |
micro-promedio
Correcto | No correcto | |
---|---|---|
clasificado | 88 | 42 |
- macro-promedio de la precisión: (85/95 + 3/35) / 2 = 0.49
- micro-promedio de la precisión: (88/130) = 0.68
Entrenamiento y puesta a punto del algoritmo de entrenamiento
Ahora que vimos como medir el rendimiento (ya sea con la precisión, la exhaustividad, la exactitud o con el estimador F1) podemos armar un plan para ir mejorando el desempeño general del clasificador.
Para ello se recomienda partir el conjunto de datos de entrenamiento en dos y reservar una parte como conjunto de desarrollo para hacer validaciones cruzadas, este conjunto de desarrollo debería cambiar a lo largo de varias iteraciones, por ejemplo se puede entrenar al algoritmo con los dos primeros tercios del conjunto y utilizar el último tercio para medir su rendimiento y en una segunda iteración se lo podría entrenar con el primer y último tercio y dejar el del medio para probar.
En todos los casos debe de haber un conjunto de datos separado para realizar pruebas.
Para ello se recomienda partir el conjunto de datos de entrenamiento en dos y reservar una parte como conjunto de desarrollo para hacer validaciones cruzadas, este conjunto de desarrollo debería cambiar a lo largo de varias iteraciones, por ejemplo se puede entrenar al algoritmo con los dos primeros tercios del conjunto y utilizar el último tercio para medir su rendimiento y en una segunda iteración se lo podría entrenar con el primer y último tercio y dejar el del medio para probar.
En todos los casos debe de haber un conjunto de datos separado para realizar pruebas.
No hay comentarios:
Publicar un comentario