Traducción del libro de Andrew Un, Pasión por el aprendizaje automático, capítulos 15-19

capítulos anteriores


15. Evaluación simultánea de varias ideas durante el análisis de errores.


Su equipo tiene algunas ideas sobre cómo mejorar el identificador de gato en su aplicación:


  • Resuelve el problema de que tu algoritmo asigna perros a gatos
  • Resuelva el problema con el hecho de que su algoritmo reconoce grandes felinos salvajes (leones, panteras, etc.) como domésticos
  • Mejora el rendimiento del sistema en imágenes borrosas
  • ...

Puedes apreciar todas estas ideas al mismo tiempo. Por lo general, creo una tabla especial y la relleno para aproximadamente 100 casos de clasificación incorrecta de la muestra de validación (dev). También hago breves comentarios que pueden ayudarme a recordar ejemplos específicos después. Para ilustrar este proceso, veamos una tabla dinámica que podría crear a partir de un pequeño conjunto de ejemplos de su muestra de validación (dev)


ImagenPerrosGrandes felinosDifusaComentarios
1xPitbull inusual
2
3xxLeo Foto tomada en el zoológico en un día lluvioso
4 4xPantera detrás de un árbol
Cuota (%)25%50%50%

La imagen 3 de la tabla se aplica a los grandes felinos y los difusos. Por lo tanto, debido al hecho de que podemos atribuir una imagen a varias categorías de errores, los porcentajes totales en la línea de fondo no se limitan al 100%.


A pesar de que al comienzo del trabajo puede crear un cierto conjunto de categorías para errores (Perros, Grandes felinos, Imágenes borrosas) en el proceso de clasificar manualmente los errores de clasificación en estas categorías, puede decidir agregar nuevos tipos de errores. Por ejemplo, suponga que miró una docena de imágenes y decidió que el clasificador cometió muchos errores en las imágenes de Instagram que están codificadas por colores. Puede rehacer la tabla, agregarle la columna "Instagram" y volver a clasificar los errores en función de esta categoría. Al examinar manualmente los ejemplos en los que el algoritmo está equivocado y preguntarse cómo usted, como persona, pudo marcar correctamente la imagen, podrá ver nuevas categorías de errores y, tal vez, inspirarse para encontrar nuevas soluciones.


Las categorías de errores más útiles serán aquellas para las que tenga una idea para mejorar el sistema. Por ejemplo, agregar la categoría "Instagram" será más útil si tiene una idea de cómo eliminar los filtros y restaurar la imagen original. Pero no debe limitarse solo a aquellas categorías de errores para las cuales tiene una receta para eliminarlos; El objetivo del proceso de análisis de errores es desarrollar su intuición al elegir las áreas de enfoque más prometedoras.


El análisis de errores es un proceso iterativo. No se preocupe si lo inicia sin haber encontrado una sola categoría. Después de ver un par de imágenes, tendrá varias ideas para clasificar los errores. Después de categorizar manualmente varias imágenes, es posible que desee agregar nuevas categorías y revisar los errores de clasificación a la luz de las nuevas categorías agregadas, y así sucesivamente.


Suponga que ha completado un análisis de error de 100 ejemplos de muestra de validación clasificados erróneamente y ha obtenido lo siguiente:


ImagenPerrosGrandes felinosDifusaComentarios
1XPitbull inusual
2X
3XXLeo Foto tomada en el zoológico en un día lluvioso
4 4XPantera detrás de un árbol
...............
Cuota (%)8%43%61%

Ahora sabe que trabajar en un proyecto para eliminar la clasificación errónea de los perros como gatos eliminará, en el mejor de los casos, el 8% de los errores. Trabajar en Big Cats o en Fuzzy Images ayudará a eliminar una cantidad significativamente mayor de errores. Por lo tanto, puede elegir una de estas dos categorías y centrarse en ellas. Si su equipo tiene suficientes personas para trabajar en varias áreas al mismo tiempo, puede pedirle a varios ingenieros que se ocupen de los grandes felinos, concentrando el resto de los esfuerzos en imágenes borrosas.


El análisis de errores no proporciona una fórmula matemática rigurosa que le indique a qué tarea debe asignar la máxima prioridad. También debe correlacionar el progreso realizado al trabajar en las diversas categorías de errores y el esfuerzo que debe invertirse en este trabajo.


16. Borrado de validación y muestras de prueba de ejemplos incorrectamente etiquetados


Al analizar los errores, puede observar que algunos ejemplos en su muestra de validación están etiquetados incorrectamente (asignados a la clase incorrecta). Cuando digo "etiquetado erróneamente", quiero decir que las imágenes ya estaban clasificadas incorrectamente cuando fueron marcadas por una persona antes de que el algoritmo detectara esto. Es decir, al marcar el ejemplo (x, y) para y, se indicó el valor incorrecto. Por ejemplo, suponga que algunas imágenes en las que no hay gatos se etiquetan erróneamente como que contienen gatos y viceversa. Si sospecha que el porcentaje de ejemplos etiquetados erróneamente es significativo, agregue la categoría apropiada para rastrear los ejemplos etiquetados incorrectamente:


ImagenPerrosGrandes felinosDifusaError de marcadoComentarios
..................
98XEtiquetado erróneamente como teniendo un gato en el fondo
99X
100XGato pintado (no real)
Cuota (%)8%43%61%6%

¿Necesita corregir datos etiquetados incorrectos en su muestra de validación? Permítame recordarle que la tarea de usar una muestra de validación es ayudarlo a evaluar rápidamente los algoritmos para que pueda decidir si el algoritmo A es mejor que B. Si la proporción de una muestra de validación que está marcada incorrectamente le impide hacer ese juicio, entonces tiene sentido gastar tiempo corrección de errores en el marcado de la muestra de validación.


Por ejemplo, imagine que la precisión que muestra su clasificador es la siguiente:


  • La precisión general de la muestra de validación ............. ..90% (error total del 10%)
  • Error asociado con errores de marcado …………… ..0.6% (6% del error total en la muestra de validación)
  • Error debido a otras razones .............. 9.4% (94% del error total en la muestra de validación)

Aquí, un error de 0.6% debido a un etiquetado incorrecto puede no ser lo suficientemente significativo con respecto a un error de 9.4% que podría mejorar. La corrección manual de los errores de marcado de la muestra de validación no será superflua, pero su corrección no es crítica ya que no importa si el error total real de su sistema es 9.4% o 10%


Suponga que está mejorando su clasificador felino y ha logrado las siguientes métricas de precisión:


  • La precisión general de la muestra de validación ............. ..98% (error total del 2%)
  • Error asociado con errores de marcado …………… ..0.6% (30% del error total en la muestra de validación)
  • Error debido a otras razones .............. 1.4% (70% del error total en la muestra de validación)

El 30% de su error se debe a un marcado incorrecto de las imágenes de la muestra de validación, este porcentaje contribuye significativamente al error general al evaluar la precisión de su sistema. En este caso, vale la pena mejorar el marcado de la muestra de validación. Eliminar ejemplos incorrectamente etiquetados lo ayudará a descubrir dónde sus errores de clasificación están más cerca del 1.4% o 2%. Hay una diferencia relativa significativa entre 1.4 y 2.


No es raro que las imágenes etiquetadas incorrectamente de una validación o muestra de prueba comiencen a atraer su atención solo después de que su sistema mejore tanto que la tasa de error asociada con ejemplos incorrectos aumente con respecto al error total en estas muestras.


El siguiente capítulo explica cómo puede mejorar las categorías de error como Perros, Grandes felinos y Fuzzy mientras trabaja en la mejora de algoritmos. En este capítulo, aprendió que puede reducir el error asociado con la categoría "Errores de diseño" y mejorar la calidad mejorando el marcado de datos.


Independientemente del enfoque que utilice para marcar la muestra de validación, no olvide aplicarlo al diseño de la muestra de prueba, de modo que sus muestras de validación y prueba tendrán la misma distribución. Aplicando el mismo enfoque a las muestras de validación y prueba, evitará el problema que discutimos en el Capítulo 6 cuando su equipo optimiza la calidad del algoritmo en la muestra de validación y luego se da cuenta de que esta calidad se evaluó sobre una base diferente de la muestra de prueba de validación.


Si decide mejorar su marcado, considere verificar dos veces. Verifique tanto el marcado de ejemplos que su sistema ha clasificado incorrectamente como el marcado de ejemplos que están clasificados correctamente. Es posible que tanto el marcado inicial como su algoritmo de aprendizaje estuvieran equivocados en el mismo ejemplo. Si corrige solo el marcado de aquellos ejemplos en los que su sistema cometió un error en la clasificación, puede introducir un error sistemático en su evaluación. Si toma 1000 ejemplos de muestras de validación y su clasificador muestra una precisión del 98.0%, es más fácil verificar 20 ejemplos que se clasificaron incorrectamente que 980 ejemplos clasificados correctamente. Debido al hecho de que en la práctica es más fácil verificar solo los ejemplos clasificados incorrectamente, en algunos casos un error sistemático puede aparecer en las muestras de validación. Tal error es permisible si solo está interesado en desarrollar aplicaciones, pero será un problema si planea usar su resultado en un artículo de investigación académica o necesita mediciones de la precisión del algoritmo en una muestra de prueba completamente libre de errores sistemáticos.


17. Si tiene una muestra de validación grande, divídala en dos submuestras y considere solo una de ellas.


Supongamos que tiene una muestra de validación grande que consta de 5000 ejemplos en los que la tasa de error es del 20%. Por lo tanto, su algoritmo no clasifica correctamente alrededor de 1000 imágenes de validación. La evaluación manual de 1000 imágenes llevará mucho tiempo, por lo que podemos decidir no utilizarlas todas con fines de análisis de errores.


En este caso, definitivamente dividiría la muestra de validación en dos submuestras, una de las cuales observará y la otra no. Es probable que vuelva a entrenarse en la parte que analizará manualmente. Puede usar la parte que no usa para el análisis manual para configurar los parámetros del modelo.


ojo


Continuemos con nuestro ejemplo descrito anteriormente, en el que el algoritmo clasificó incorrectamente 1000 ejemplos de 5000 que constituyen la muestra de validación. Imagine que desea tomar 100 errores para el análisis (10% de todos los errores en la muestra de validación). Necesitamos seleccionar al azar el 10% de los ejemplos de la muestra de validación y componer de ellos el " conjunto de desarrollo de Eyeball " ( conjunto de desarrollo de Eyeball ), los nombramos para que siempre recordemos que estudiamos estos ejemplos con nuestros propios ojos.


Comentario del traductor: desde mi punto de vista, la definición de "selección del globo ocular" no suena armoniosa (especialmente desde el punto de vista del idioma ruso). Pero con el debido respeto a Andrew (y teniendo en cuenta que no se me ocurrió nada mejor), dejaré esta definición


(Para un proyecto de reconocimiento de voz en el que escuchará clips de audio, tal vez utilice algo como "muestra de validación para oídos"). Por lo tanto, la muestra de validación del globo ocular consta de 500 ejemplos, en los que debería haber unos 100 clasificados incorrectamente. La segunda submuestra de la muestra de validación, que llamaremos el conjunto de desarrollo de Blackbox , constará de 4.500 ejemplos. Puede usar el "Submuestreo de caja negra" para evaluar automáticamente la calidad de los clasificadores, midiendo su parte de errores. También puede usar esta submuestra para elegir entre algoritmos o configurar hiperparámetros. Sin embargo, debe evitar mirar ejemplos de esta submuestra con sus propios ojos. Usamos el término "recuadro negro" porque usaremos una submuestra de su componente como un "recuadro negro"
aprox. traductor : es decir, el objeto cuya estructura no conocemos
para evaluar la calidad de los clasificadores.


imagen


¿Por qué separamos explícitamente la muestra de validación en la "submuestra del globo ocular" y la "submuestra del cuadro negro"?
Dado que en algún momento cada vez sentirás (comprenderás) los ejemplos en el "Submuestreo de globo ocular", aumentará la probabilidad de que vuelvas a entrenar en esta submuestra. Para controlar el reciclaje, utilizaremos el "Submuestreo de caja negra". Si ve que la calidad de los algoritmos en la Muestra de globo ocular crece significativamente más rápido que la calidad en la Muestra de caja negra, parece que se ha vuelto a entrenar en el Globo ocular. En este caso, es posible que deba descartar el subconjunto existente del globo ocular y crear uno nuevo moviendo más ejemplos del recuadro negro al globo ocular o tomando una nueva porción de los datos etiquetados.


Por lo tanto, dividir la muestra de validación en "submuestra de globo ocular" y "submuestra de recuadro negro" le permite ver el momento en que el proceso de análisis de error manual lo llevará a volver a entrenar en la submuestra de globo ocular.


18 ¿Qué tamaño debe tener la muestra del globo ocular y la muestra de la caja negra?


Su muestra de globo ocular debe ser lo suficientemente grande como para que pueda encontrar las principales categorías de errores de clasificación para su algoritmo. Si está trabajando en una tarea que una persona puede manejar (como reconocer gatos en imágenes), puede dar las siguientes recomendaciones bastante generales:


  • Una muestra de validación del globo ocular que contiene 10 errores de su clasificador se considerará muy pequeña. Con solo 10 errores, es muy difícil evaluar con precisión el impacto de varias categorías de errores en la calidad del clasificador. Pero si tiene muy pocos datos y no hay forma de agregar más ejemplos a la muestra del globo ocular, es mejor que nada y, en cualquier caso, ayudará a priorizar el trabajo en el proyecto.
  • Si su clasificador se equivoca unas 20 veces en una muestra del globo ocular, puede hacer estimaciones aproximadas de las principales fuentes de errores.
  • Con aproximadamente 50 errores, obtendrá una buena idea de las principales fuentes de errores de su clasificador.
  • Si tiene alrededor de 100 errores, obtendrá una muy buena comprensión de dónde provienen los principales errores. Conocí personas que analizaron manualmente incluso más errores, a veces hasta 500. ¿Por qué no, si tienes suficientes datos?

Suponga que la tasa de error de su clasificador es del 5%. Para obtener con confianza cerca de 100 ejemplos incorrectamente etiquetados en la muestra del globo ocular, esta muestra debe contener alrededor de 2000 ejemplos (desde 0.05 * 2000 = 100). Cuanto menor sea la tasa de error de su clasificador, mayor será la muestra del globo ocular para obtener de él una muestra suficientemente grande de errores para el análisis.


Si está trabajando en una tarea en la que es difícil incluso para las personas clasificar correctamente los ejemplos, los ejercicios para verificar la muestra de validación del globo ocular no serán especialmente útiles, porque es difícil entender por qué el algoritmo no pudo clasificar correctamente el ejemplo. En este caso, puede omitir la configuración de Muestreo de globo ocular. Discutiremos recomendaciones para tales proyectos en los siguientes capítulos.


¿Y qué hay de la "Muestra de caja negra"? Ya hemos mencionado que en el caso general, la muestra de validación contiene 1000 - 10000 ejemplos. Para complementar esta afirmación, una muestra de validación de recuadro negro de 1,000 a 10,000 ejemplos generalmente (a menudo) le brinda suficientes datos para configurar hiperparámetros y elegir entre modelos, pero si toma más datos para seleccionar un recuadro negro, no será peor. Una selección de cuadro negro de 100 ejemplos ciertamente no es suficiente, pero aún será útil (mejor que nada).


Si tiene una pequeña muestra de validación, es posible que no tenga suficientes datos para separarla en las muestras de globo ocular y caja negra para que ambas sean lo suficientemente grandes y puedan servir para los fines descritos anteriormente. En este caso, es posible que deba usar toda su muestra de validación como muestra de globo ocular.
Es decir, examinará manualmente todos los datos de la muestra de validación.


Creo que seleccionar el globo ocular es más importante que seleccionar el cuadro negro (suponiendo que esté trabajando en un problema en el que las personas son buenas para definir clases y verificar ejemplos manualmente, lo ayudará a tener una idea de sus datos). Si solo tiene una selección del globo ocular disponible, puede trabajar en el análisis de errores, la selección de modelos y la configuración de hiperparámetros utilizándolo solo. La desventaja de trabajar solo con la selección del globo ocular es que en este caso aumenta el riesgo de volver a capacitar el modelo en la muestra de validación.


Si tiene muchos datos a su disposición, el tamaño de la muestra del globo ocular estará determinado principalmente por la cantidad de tiempo que puede dedicar al análisis manual de datos. Por ejemplo, rara vez conocí a alguien que analizara manualmente más de 1000 errores.


19 Conclusiones: análisis de error básico


  • , , ,
  • . , — . , .
  • , 100 , , . , .
  • , , . , , .
  • , . , 1000-10000 .
  • , , , , .

Source: https://habr.com/ru/post/es419885/


All Articles