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

capítulos anteriores


20 Desplazamiento y dispersión: dos fuentes principales de errores


Comentario del traductor Antes del cambio, este capítulo se llamaba "Sistemático y aleatorio: dos fuentes principales de errores" , es decir, utilicé los términos "errores aleatorios" y "errores sistemáticos" para traducir el sesgo y la varianza. Sin embargo, el miembro del foro robot @ Phaker, en un comentario, señaló acertadamente que en el campo del aprendizaje automático en la terminología rusa para estos términos, los conceptos de "desplazamiento" y "dispersión" son fijos. Miré el trabajo de K.V. Vorontsov, quien merecidamente es una de las autoridades en el campo del aprendizaje automático en Rusia y los recursos de la comunidad profesional, y estuvo de acuerdo con el comentario robot @ Phaker . A pesar del hecho de que, desde mi punto de vista, existe una analogía profunda y significativa entre el "sesgo" y la "varianza" en el entrenamiento de algoritmos y el "error sistemático" y "error aleatorio" de un experimento físico, además de que se expresan igualmente matemáticamente Sin embargo, es correcto utilizar los términos establecidos en este campo. Por lo tanto, revisé la traducción de este y los capítulos siguientes, reemplazando los "Errores sistemáticos y aleatorios" con "Desplazamiento y dispersión" y me atendré a este enfoque en el futuro.


Suponga que su entrenamiento, validación y muestras de prueba tienen la misma distribución. Entonces necesita tomar más datos para el entrenamiento, esto solo mejorará la calidad del algoritmo, ¿es esto cierto?


Aunque obtener más datos no puede perjudicar el trabajo, desafortunadamente, los nuevos datos no siempre ayudan tanto como cabría esperar. En algunos casos, el trabajo de obtener datos adicionales puede ser una pérdida de esfuerzo. Cómo tomar una decisión: en qué casos agregar datos y cuándo no preocuparse por ellos.


En el aprendizaje automático, hay dos fuentes principales de error: sesgo y dispersión (varianza). Comprender cuáles son te ayudará a decidir si agregar más datos, también te ayudará a elegir tácticas para mejorar la calidad del clasificador.


Supongamos que espera construir un identificador felino con un 5% de error. Por el momento, su error de clasificador en la muestra de entrenamiento es del 15%, en la muestra de validación del 16%. En este caso, es poco probable que agregar datos de entrenamiento aumente significativamente la calidad. Debes concentrarte en otros cambios del sistema. De hecho, agregar más ejemplos a su conjunto de entrenamiento solo dificultará que su algoritmo obtenga un buen resultado en ese conjunto (por qué esto se explicará en los siguientes capítulos).


Si el porcentaje de sus errores en la muestra de entrenamiento es del 15% (lo que corresponde a una precisión del 85%), pero su objetivo es el porcentaje de errores en el 5% (95% de precisión), primero que todo debe mejorar la calidad de su algoritmo en la muestra de entrenamiento. La calidad del algoritmo en las muestras de validación / prueba es generalmente peor que la calidad de su trabajo en la muestra de entrenamiento (en la muestra de entrenamiento). Debe comprender que los enfoques que lo han llevado a una precisión que no excede el 85% en ejemplos con los que su algoritmo está familiarizado no le permitirán obtener una precisión del 95% en ejemplos que este algoritmo ni siquiera ha visto.


Suponga, como se indicó anteriormente, la tasa de error de su algoritmo es del 16% (la precisión es del 84%) en la muestra de validación. Debemos dividir el error del 16% en dos componentes:


  • Primero, la proporción de errores de algoritmo en la muestra de entrenamiento. En este ejemplo, es del 15%. Informalmente lo llamamos sesgo .
  • Segundo, cuánto peor funciona el algoritmo en la muestra de validación (o prueba) que en la muestra de entrenamiento. En nuestro ejemplo, es 1% peor en la muestra de validación que en la muestra de entrenamiento. También lo consideraremos extraoficialmente una variación del algoritmo.

Comentario del autor En estadística, hay una definición más precisa de sesgo y dispersión (errores sistemáticos y aleatorios), pero esto no debería molestarnos. Hablando en términos generales, asumimos que el sesgo es un error en su algoritmo en su conjunto de entrenamiento cuando tiene un conjunto de entrenamiento muy grande. Dispersión: esto es lo peor que funciona el algoritmo en la muestra de prueba en comparación con el entrenamiento con la misma configuración de parámetros. Si usa el error estándar, puede escribir las fórmulas que definen estas dos cantidades y demostrar que el error total es igual a la suma del sesgo y la dispersión (la suma de los errores aleatorios y sistemáticos). Pero para nuestros propósitos, mejorar los algoritmos en los problemas de aprendizaje automático es suficiente con una definición informal de sesgo y dispersión.


Algunos cambios en el entrenamiento del algoritmo afectan el primer componente del sesgo de error y mejoran el rendimiento del algoritmo en la muestra de entrenamiento. Algunos cambios afectan el segundo componente: la varianza y ayudan a generalizar mejor el algoritmo para la validación y las muestras de prueba. Para seleccionar los cambios más efectivos que deben realizarse en el sistema, es extremadamente útil comprender cómo cada uno de estos dos componentes de error afecta el error general del sistema.


Comentario del autor: También hay algunos enfoques que reducen simultáneamente el desplazamiento y la dispersión, haciendo cambios significativos en la arquitectura del sistema. Pero generalmente son más difíciles de encontrar e implementar.


Para seleccionar los cambios más efectivos que deben realizarse en el sistema, es extremadamente útil comprender cómo cada uno de estos dos componentes de error afecta el error general del sistema.


El desarrollo de la intuición para comprender cómo Contribución contribuye al error, y qué Dispersión, lo ayudará a elegir de manera efectiva formas de mejorar su algoritmo.


21 ejemplos de clasificación de errores


Considere nuestro problema de clasificación de gatos. Un clasificador ideal (por ejemplo, una persona) puede lograr una excelente calidad de esta tarea.


Supongamos que la calidad de nuestro algoritmo es la siguiente:


  • Error en la muestra de entrenamiento = 1%
  • Error en la muestra de validación = 11%

¿Cuál es el problema con este clasificador? Aplicando las definiciones del capítulo anterior, estimamos el sesgo al 1% y el diferencial al 10% (= 11% - 1%). Por lo tanto, nuestro algoritmo tiene una gran extensión . El clasificador tiene un error muy bajo en la muestra de entrenamiento, pero no puede generalizar los resultados del entrenamiento a una muestra de validación. En otras palabras, estamos lidiando con el sobreajuste .


Ahora considere esta situación:


  • Error en la muestra de entrenamiento = 15%
  • Error en la muestra de validación = 16%

Luego estimamos el sesgo al 15% y el diferencial al 1%. Este clasificador recibió poca capacitación en la muestra de capacitación, mientras que su error en la muestra de validación es ligeramente mayor que en la muestra de capacitación. Por lo tanto, este clasificador tiene un gran sesgo, pero una pequeña extensión. Se puede concluir que este algoritmo es insuficiente .


También consideramos la siguiente distribución de errores:


  • Error en la muestra de entrenamiento = 15%
  • Error en la muestra de validación = 30%

En este caso, el sesgo es del 15% y la propagación también es del 15%. Este clasificador tiene un alto sesgo y propagación: no funciona bien en la muestra de entrenamiento, tiene un alto sesgo, y su calidad en la muestra de validación es mucho peor que en el entrenamiento, es decir La dispersión también es grande. Este caso es difícil de describir en términos de reentrenamiento / subeducación; este clasificador es reentrenado y subeducado.


Finalmente, considere esta situación:


  • Error en la muestra de entrenamiento = 0.5%
  • Error en la muestra de validación = 1%

Este es un gran clasificador, tiene poco sesgo y dispersión. ¡Felicitaciones a los ingenieros por lograr un excelente resultado!


22 Comparación con la tasa de error óptima


En nuestro ejemplo para el reconocimiento de gatos, la proporción ideal de errores es el nivel disponible para el clasificador "óptimo" y este nivel es cercano al 0%. Una persona que ve una imagen casi siempre puede reconocer si un gato está presente en la imagen o no, y podemos esperar que tarde o temprano la máquina lo haga igual de bien.


Pero hay tareas más complejas. Por ejemplo, imagine que está desarrollando un sistema de reconocimiento de voz y descubrió que el 14% de las grabaciones de audio tienen tanto ruido de fondo o un discurso tan ilegible que incluso una persona no puede entender lo que se dijo allí. En este caso, incluso el sistema de reconocimiento de voz más "óptimo" puede tener un error en la región del 14%.


Supongamos que en nuestra tarea de reconocimiento de voz nuestro algoritmo ha logrado los siguientes resultados:


  • Error en la muestra de entrenamiento = 15%
  • Error en la muestra de validación = 30%

La calidad del clasificador en la muestra de entrenamiento ya es cercana a la óptima, con una tasa de error del 14%. Por lo tanto, en este caso, no tenemos muchas oportunidades para reducir el sesgo (mejorar el algoritmo en la muestra de entrenamiento). Sin embargo, no es posible generalizar el funcionamiento de este algoritmo a una muestra de validación; por lo tanto, existe un gran campo para las actividades de reducción de dispersión .


Este caso es similar al tercer ejemplo del capítulo anterior, en el que el error en la muestra de entrenamiento también es igual al 15% y el error en la muestra de validación es del 30%. Si la tasa de error óptima es de alrededor del 0%, entonces el error en la muestra de entrenamiento del 15% da mucho espacio para trabajar para mejorar el algoritmo. Con esta suposición, los esfuerzos para reducir el sesgo en el algoritmo pueden ser muy fructíferos. Pero si la proporción óptima de errores de clasificación no puede ser inferior al 14%, entonces una proporción similar de errores de algoritmo en la muestra de entrenamiento (es decir, en la región del 14-15%) sugiere que las posibilidades de reducir el sesgo están casi agotadas.


Para problemas en los que la proporción óptima de errores de clasificación difiere significativamente de cero, se puede proponer una estructuración de errores más detallada. Continuamos considerando el ejemplo anterior con reconocimiento de voz, un error total del 30% en la muestra de validación se puede descomponer en los siguientes componentes (los errores en la muestra de prueba se pueden analizar de la misma manera):


  • Sesgo óptimo (sesgo inevitable): 14%. Imagínese, decidimos que incluso el mejor sistema de reconocimiento de voz posible del mundo tendrá una tasa de error del 14%. Hablaremos de esto como la parte "inevitable" de la compensación del algoritmo de aprendizaje.
  • Sesgo evitable : 1%. Este valor se calcula como la diferencia entre la proporción de errores en la muestra de entrenamiento y la proporción óptima de errores.

Comentario del autor: Si este valor resultó ser negativo, entonces, su algoritmo en la muestra de entrenamiento muestra un error menor que el "óptimo". Esto significa que usted volvió a entrenar en el conjunto de entrenamiento, su algoritmo recordó los ejemplos (y sus clases) del conjunto de entrenamiento. En este caso, debe centrarse en métodos para reducir la propagación, en lugar de reducir aún más el sesgo.


  • Variación : 15%. La diferencia entre errores en la muestra de entrenamiento y en la muestra de validación

Relacionando esto con nuestras definiciones anteriores, el desplazamiento y el desplazamiento desechable están relacionados de la siguiente manera:


Sesgo (sesgo) = Sesgo óptimo ( "sesgo inevitable" ) + Sesgo desechable ( "sesgo evitable" )


Nota del autor : Estas definiciones se eligen para explicar mejor cómo se puede mejorar la calidad del algoritmo de aprendizaje. Estas definiciones difieren de las definiciones formales de sesgo y dispersión adoptadas en las estadísticas. Técnicamente, lo que yo defino como "Offset" debería llamarse "un error que se encuentra en la estructura de datos (no se puede identificar y eliminar)" y "Eliminar sesgo" debe definirse como "Sesgo de algoritmo de aprendizaje que excede el sesgo óptimo" .


El sesgo evitable muestra cuán peor es la calidad de su algoritmo en la muestra de entrenamiento que la calidad del "clasificador óptimo".


La idea básica de la varianza sigue siendo la misma. En teoría, siempre podemos reducir la propagación a casi cero entrenando en una muestra de entrenamiento suficientemente grande. Por lo tanto, cualquier propagación es "evitable" cuando hay una muestra lo suficientemente grande, por lo que no puede existir una "propagación inevitable" (variación inevitable).


Considere otro ejemplo en el que el error óptimo es 14% y tenemos:


  • Error en la muestra de entrenamiento = 15%
  • Error en la muestra de validación = 16%

En el capítulo anterior, clasificamos un clasificador con indicadores tales como un clasificador de alto sesgo, en las condiciones actuales decimos que el "sesgo evitable" es del 1%, y el diferencial es de aproximadamente el 1%. Por lo tanto, el algoritmo ya está funcionando bastante bien y casi no hay reservas para mejorar la calidad de su trabajo. La calidad de este algoritmo es solo un 2% inferior a la óptima.


A partir de estos ejemplos, está claro que conocer la magnitud del error fatal es útil para decidir sobre acciones adicionales. En estadística, la tasa de error óptima también se denomina tasa de error de Bayes .


¿Cómo averiguar el tamaño de la tasa de error óptima? Para las tareas que una persona maneja bien, como el reconocimiento de imágenes o la decodificación de clips de audio, puede solicitar a los evaluadores que marquen los datos y luego midan la precisión del marcado humano en la muestra de entrenamiento. Esto le dará una estimación de la tasa de error óptima. Si está trabajando en un problema que es difícil incluso para una persona (por ejemplo, predecir qué película recomendar o qué anuncio mostrarle al usuario), en este caso es bastante difícil evaluar la proporción óptima de errores.


En la sección Comparación con el rendimiento a nivel humano, capítulos 33 a 35, analizaré con más detalle el proceso de comparar la calidad de un algoritmo de aprendizaje con el nivel de calidad que una persona puede lograr.


En los últimos capítulos, aprendió cómo evaluar el sesgo y la dispersión extraíbles / irrecuperables mediante el análisis de la proporción de errores clasificadores en las muestras de capacitación y validación. El próximo capítulo examinará cómo puede usar las conclusiones de dicho análisis para decidir si concentrarse en métodos que reducen el sesgo o en métodos que reducen la propagación. Los enfoques para combatir el sesgo son muy diferentes de los enfoques para reducir la dispersión, por lo que las técnicas que debe aplicar en su proyecto para mejorar la calidad dependen mucho de lo que actualmente es el problema: sesgo grande o dispersión grande.


Sigue leyendo!


23 Eliminación de compensaciones y dispersión


Aquí hay una fórmula simple para eliminar el sesgo y la dispersión:


  • Si tiene un sesgo evitable grande, aumente la complejidad de su modelo (por ejemplo, aumente su red neuronal agregando capas o (y) neuronas)
  • Si tiene una amplia difusión, agregue ejemplos a su conjunto de entrenamiento.

Si tiene la oportunidad de aumentar el tamaño de la red neuronal y agregar datos al conjunto de entrenamiento de forma ilimitada, esto ayudará a lograr un buen resultado para una gran cantidad de tareas de aprendizaje automático.


En la práctica, aumentar el tamaño del modelo en última instancia causará dificultades de cálculo, ya que el entrenamiento de modelos muy grandes es lento. También puede agotar el límite de datos disponibles para la capacitación. (¡Incluso en Internet, por supuesto, la cantidad de imágenes con gatos!)


Diferentes arquitecturas de modelos de algoritmos, por ejemplo, diferentes arquitecturas de redes neuronales, le darán diferentes valores de sesgo y dispersión, en relación con su tarea. Un eje de investigaciones recientes sobre aprendizaje profundo ha creado una gran cantidad de arquitecturas innovadoras de modelos de redes neuronales. Por lo tanto, si usa redes neuronales, la no ficción puede ser una gran fuente de inspiración. También hay una gran cantidad de excelentes implementaciones de algoritmos en fuentes abiertas, por ejemplo en GitHub. Sin embargo, los resultados de los intentos de usar nuevas arquitecturas son significativamente menos predecibles que la fórmula simple dada anteriormente: aumente el tamaño del modelo y agregue datos.


El aumento del tamaño del modelo generalmente reduce el sesgo, pero también puede causar un aumento en la propagación, y también aumenta el riesgo de reentrenamiento. Sin embargo, el problema del reentrenamiento surge solo cuando no está utilizando la regularización. Si incluye un método de regularización bien diseñado en su modelo, generalmente logra aumentar de forma segura el tamaño del modelo sin permitir la reentrenamiento.


Suponga que aplica el aprendizaje profundo utilizando la regularización o abandono de L2 ( Nota del traductor : puede leer sobre abandono , por ejemplo, aquí: https://habr.com/company/wunderfund/blog/330814/ ), utilizando parámetros de regularización que funcionan perfectamente en muestra de validación Si aumenta el tamaño del modelo, generalmente la calidad de su algoritmo permanece igual o aumenta; su declive significativo es poco probable. La única razón por la que tenemos que negarnos a aumentar el tamaño del modelo es la gran sobrecarga computacional.


24 La compensación entre offset y spread


Es posible que haya oído hablar de la "compensación entre desplazamiento y dispersión". Entre los muchos cambios que se pueden hacer a los algoritmos de aprendizaje, están aquellos que reducen el sesgo y aumentan la propagación, o viceversa. «» .


, — () , , . , , .


( ). , , , .


, , . , , , , .


, , . .


, , .


25


, :


  • (, ): , . , , , .
  • , , . , ( ). , . ; , , , , .
  • (L2 , L1 , Dropout): , , .
  • (, ) : ,

:


  • : , .

26


, / .


, , , , , . , , . . .


, - . , , 100 , , . , :


Comentarios
1
2
3
4 4
% -75%25%50%

, , . , .


, -, , . , - , , , - . , , .


27


, :


  • : , , .
  • (L1 , L2 , dropout): , .
  • (. . , ): , . , .
  • / : , . (, 1000 900) . ( 1000 100 10 ) , , . , , , , , , , . , , .
  • () ( / ). ! , , . , . . . , . , , .

Aquí doy dos técnicas tácticas adicionales, repitiendo lo que se dijo en los capítulos anteriores, en relación con la reducción del sesgo:


  • Modifique los síntomas entrantes en función de la comprensión obtenida del análisis de errores : supongamos que su análisis de errores ha llevado a la idea de que puede crear síntomas adicionales que ayudarán al algoritmo a eliminar algunas categorías de errores. Estas nuevas características ayudarán a reducir tanto la dispersión como el desplazamiento. Teóricamente, la adición de nuevos rasgos puede aumentar la propagación; pero si esto sucede, siempre puede aprovechar la regularización, que generalmente nivela el aumento de la propagación.
  • Modifique la arquitectura del modelo (por ejemplo, arquitectura de red neuronal) para que sea más adecuada para su tarea: este enfoque puede reducir tanto el sesgo como la dispersión.

continuación

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


All Articles