Clasificación con etiquetas múltiples

imagenHola habrozhiteli! Decidimos citar un extracto del libro de Andrei Burkov , Aprendizaje automático sin palabras adicionales , dedicado a la clasificación.

Para describir la imagen en la figura, se pueden usar varias etiquetas simultáneamente: “bosque de coníferas”, “montañas”, “camino”. Si el número de valores posibles para las etiquetas es grande, pero todos tienen la misma naturaleza que las etiquetas, cada muestra etiquetada se puede convertir a varios datos etiquetados, uno para cada etiqueta. Todos estos nuevos datos tendrán los mismos vectores de características y solo una etiqueta. Como resultado, la tarea se convierte en un problema de clasificación multiclase. Se puede resolver utilizando la estrategia "uno contra todos". La única diferencia con el problema habitual de clasificación multiclase es la aparición de un nuevo hiperparámetro: el umbral. Si el puntaje de similitud de una etiqueta está por encima de un valor umbral, esta etiqueta se asigna al vector de características de entrada. En este escenario, se pueden asignar múltiples etiquetas a un vector característico.El valor umbral se selecciona utilizando el conjunto de control.

Para resolver el problema de clasificación con muchas etiquetas, se pueden aplicar algoritmos que se convierten naturalmente en multiclase (árboles de decisión, regresión logística, redes neuronales, etc.). Devuelven una estimación para cada clase, por lo que podemos definir un umbral y luego asignar varias etiquetas a un vector de características para el cual la puntuación de proximidad excede este umbral.

Las redes neuronales se pueden entrenar naturalmente en clasificaciones de etiquetas múltiples utilizando la entropía cruzada binaria como una función de costo. La capa de salida de la red neuronal en este caso tiene un nodo por etiqueta. Cada nodo en la capa de salida tiene una función de activación sigmoidea. En consecuencia, cada etiqueta l es binariaimagendonde l = 1, ..., L e i = 1, ..., N. La entropía cruzada binaria determina la probabilidad de imagenque la muestra xi tenga la etiqueta l, se define como el imagen

criterio de Minimización: un promedio simple de todos los miembros de la entropía cruzada binaria en todas las muestras de entrenamiento y todas sus etiquetas.

En los casos en que el número de valores de etiqueta posibles es pequeño, puede intentar convertir el problema de clasificación con muchas etiquetas en un problema de clasificación multiclase. Imagina el siguiente problema. Debe asignar dos tipos de etiquetas a las imágenes. Las etiquetas del primer tipo pueden tener dos significados posibles: { foto, pintura }; las marcas del segundo tipo pueden tener tres significados posibles: { vertical, horizontal, otro}. Para cada combinación de dos clases de origen, puede crear una nueva clase ficticia, por ejemplo:

imagen

Ahora tenemos los mismos datos etiquetados, pero reemplazamos el conjunto de etiquetas verdaderas con una etiqueta ficticia con valores del 1 al 6. En la práctica, este enfoque da buenos resultados cuando no hay demasiadas combinaciones posibles de clases. De lo contrario, es necesario utilizar muchos más datos de entrenamiento para compensar el aumento en el conjunto de clases.

La principal ventaja de este último enfoque es que las etiquetas permanecen correlacionadas, a diferencia de los métodos descritos anteriormente, que predicen cada etiqueta independientemente una de la otra. En muchas tareas, la correlación entre etiquetas puede ser un factor significativo. Por ejemplo, imagine que desea clasificar el correo electrónico como spam y no spam, y al mismo tiempo que ordinario e importante. Probablemente quiera excluir pronósticos como [ spam, importante ].

7.5. Conjunto de entrenamiento


Los algoritmos fundamentales que cubrimos en el Capítulo 3 tienen sus limitaciones. Debido a su simplicidad, a veces no pueden crear un modelo que sea lo suficientemente efectivo para su tarea. En tales casos, puede intentar usar redes neuronales profundas. Sin embargo, en la práctica, las redes neuronales profundas requieren una cantidad significativa de datos etiquetados, que puede que no tenga. Otra forma de aumentar la efectividad de los algoritmos de aprendizaje simples es usar el entrenamiento conjunto .

El entrenamiento en conjunto es un paradigma de entrenamiento que se basa en el entrenamiento no solo de un modelo súper correcto, sino de un gran número de modelos con baja precisión y combinando los pronósticos dados por estos modelos débiles para obtener un metamodelo más correcto .

Los modelos con baja precisión generalmente se entrenan con algoritmos de aprendizaje débiles que no pueden entrenar modelos complejos y, por lo tanto, muestran alta velocidad en las etapas de entrenamiento y pronóstico. Muy a menudo, el algoritmo de aprendizaje del árbol de decisión se usa como el algoritmo débil, que generalmente deja de romper el conjunto de entrenamiento después de varias iteraciones. El resultado son árboles pequeños y no muy regulares, pero, como dice la idea de entrenar al conjunto, si los árboles no son idénticos y cada árbol es al menos un poco mejor que adivinar al azar, podemos obtener una alta precisión combinando una gran cantidad de tales árboles.

Para obtener el pronóstico final para la entrada x, los pronósticos de todos los modelos débiles se combinan utilizando algún método de votación ponderada. La forma específica de ponderar los votos depende del algoritmo, pero la esencia no depende de él: si, colectivamente, los modelos débiles predicen que el correo electrónico es spam, asignamos la etiqueta de spam x a la muestra . Los dos métodos principales para entrenar conjuntos son el refuerzo y el embolsado (agregación). Las traducciones de los términos refuerzo y embolsado son inexactas y no están acostumbradas.



7.5.1. Impulso y embolsado


El método de refuerzo es utilizar los datos de entrenamiento iniciales y crear iterativamente varios modelos usando un algoritmo débil.

Cada nuevo modelo difiere de los anteriores en que, al construirlo, un algoritmo débil intenta "arreglar" los errores cometidos por los modelos anteriores. El modelo de conjunto final es una combinación de estos muchos modelos débiles construidos iterativamente.

La esencia del embolsado es crear muchas "copias" de los datos de entrenamiento (cada copia es ligeramente diferente de las otras) y luego aplicar un algoritmo débil a cada copia para obtener varios modelos débiles, y luego combinarlos. Un algoritmo de aprendizaje automático eficiente y ampliamente utilizado basado en la idea de ensacado es un bosque aleatorio .

7.5.2. Bosque al azar


El algoritmo de embolsado "clásico" funciona de la siguiente manera. Las muestras aleatorias B se crean a partir del conjunto de entrenamiento existente imagen(para cada b = 1, ..., B) y imagense construye un modelo de imagenárbol de decisión sobre la base de cada muestra . Para obtener una muestra imagenpara alguna b, se hace una muestra con reemplazo . Es decir, primero se crea una muestra vacía, y luego se selecciona una muestra aleatoria del conjunto de entrenamiento, y se coloca su copia exacta imagen, mientras que la muestra misma permanece en el conjunto de entrenamiento original. La selección de datos continúa hasta que se cumpla la condición. imagen

Como resultado del entrenamiento, se obtienen árboles de decisión B. El pronóstico para la nueva muestra x , en el caso de regresión, se determina como el promedio de B pronósticos

imagen

o por mayoría de votos en caso de clasificación.

El bosque aleatorio tiene solo una diferencia del embolsado clásico. Utiliza un algoritmo de aprendizaje de árbol modificado que, con cada división en el proceso de aprendizaje, verifica un subconjunto aleatorio de características. Esto se hace para eliminar la correlación entre árboles: si una o más características tienen una gran capacidad predictiva, muchos árboles las elegirán para dividir los datos. Esto conducirá a la aparición en el "bosque" de una gran cantidad de árboles correlacionados. La correlación de signos con alta capacidad predictiva evita que la precisión de la predicción aumente. La alta eficiencia del conjunto de modelos se explica por el hecho de que los buenos modelos tienen más probabilidades de estar de acuerdo con el mismo pronóstico, y los malos modelos probablemente no estén de acuerdo y darán diferentes pronósticos. La correlación hará que los modelos pobres tengan más probabilidades de estar de acuerdo,lo que distorsionará el patrón de votación o afectará el promedio.

Los hiperparámetros más importantes para el ajuste son el número de árboles B y el tamaño de un subconjunto aleatorio de características que deben considerarse para cada división.
El bosque aleatorio es uno de los algoritmos de aprendizaje por conjuntos más utilizados. ¿Qué determina su efectividad? La razón es que al usar varias muestras del conjunto de datos original, reducimos la varianza del modelo final. Recuerde que una baja varianza significa una débil predisposición a la reentrenamiento.. La reentrenamiento ocurre cuando el modelo intenta explicar pequeñas variaciones en el conjunto de datos porque el conjunto de datos es solo una pequeña muestra de todos los ejemplos posibles del fenómeno que estamos tratando de simular. En el caso de un enfoque fallido para la formación del conjunto de entrenamiento, pueden caer en él algunos artefactos indeseables (pero inevitables): ruido, datos anormales y excesivamente representativos o insuficientemente representativos. Al crear varias muestras aleatorias con el reemplazo del conjunto de entrenamiento, reducimos la influencia de estos artefactos.

7.5.3. Aumento de gradiente


Otro algoritmo efectivo de entrenamiento en conjunto basado en la idea de aumentar es el aumento de gradiente. Primero, considere el uso del aumento de gradiente en la regresión. Comenzaremos a construir un modelo de regresión efectivo con un modelo constante imagen(como lo hicimos en ID3):
imagen

Luego cambie las etiquetas en todas las muestras i = 1, ..., N en el conjunto de entrenamiento:

imagen

donde imagense llama el resto y es la nueva etiqueta de la muestra imagen

Ahora usamos el conjunto de entrenamiento modificado con los residuos en lugar de las etiquetas originales para construir un nuevo modelo del árbol de decisión. imagenEl modelo de refuerzo ahora se define como imagendonde α es la velocidad de aprendizaje (hiperparámetro).

Luego, recalculamos los residuos usando la Ecuación 7.2, reemplazamos las etiquetas en los datos de entrenamiento nuevamente, enseñamos un nuevo modelo del árbol de decisión, imagenredefinimos el modelo de refuerzo a medida imagenque repetimos el proceso, hasta que combinamos el número máximo predeterminado M de árboles.

Vamos a entender intuitivamente lo que está sucediendo aquí. Al calcular los residuos, determinamos qué tan bien (o mal) el modelo actual f predice el objetivo de cada muestra de entrenamiento. Luego entrenamos otro árbol para corregir los errores del modelo actual (por eso usamos las sobras en lugar de las etiquetas reales) y agregamos un nuevo árbol al modelo existente con algo de peso α. Como resultado, cada nuevo árbol agregado al modelo corrige parcialmente los errores cometidos por los árboles anteriores. El proceso continúa hasta que se combina el número máximo M (otro hiperparámetro) de los árboles.

Ahora intentemos responder a la pregunta de por qué este algoritmo se denomina aumento de gradiente. En el aumento de gradiente, no calculamos el gradiente, a diferencia de lo que hicimos en el capítulo 4, resolviendo el problema de regresión lineal. Para ver las similitudes entre el aumento de gradiente y el descenso de gradiente, recuerde por qué calculamos el gradiente en regresión lineal: para encontrar la dirección de los valores de los parámetros para minimizar la función de costo MSE. El gradiente muestra la dirección, pero no muestra qué tan lejos ir en esta dirección, por lo que en cada iteración dimos un pequeño paso y luego determinamos nuevamente la dirección. Lo mismo sucede con el aumento de gradiente, pero en lugar de calcular directamente el gradiente, usamos su estimación en forma de residuos: muestran cómo se debe ajustar el modelo para reducir el error (residual).

En el aumento de gradiente, hay tres hiperparámetros principales disponibles para el ajuste: el número de árboles, la velocidad de aprendizaje y la profundidad de los árboles. Los tres afectan la precisión del modelo. La profundidad de los árboles también afecta la velocidad de aprendizaje y pronóstico: cuanto menor es la profundidad, más rápido.

Se puede demostrar que el aprendizaje por residuos optimiza el modelo general f para el estándar de error estándar. Aquí puede ver la diferencia del embolsado: aumentar aumenta el sesgo (o la falta de educación) en lugar de la varianza. Como resultado, el refuerzo está sujeto a reciclaje. Sin embargo, al ajustar la profundidad y el número de árboles, se puede evitar en gran medida el reciclaje.

El aumento de gradiente es similar para las tareas de calificación, pero los pasos son ligeramente diferentes. Considere el caso de la clasificación binaria. Supongamos que hay M árboles de decisión de regresión. Por analogía con la regresión logística, el pronóstico del conjunto de árboles de decisión se modela utilizando la función sigmoidea:

imagen

¿Dónde imagenestá el árbol de regresión?

Y nuevamente, como en la regresión logística, cuando se trata de encontrar un modelo de maximización imagen, se aplica el principio de máxima verosimilitud. Del mismo modo, para evitar el desbordamiento numérico, maximizamos la suma de los logaritmos de probabilidad, en lugar del producto de la probabilidad.

El algoritmo comienza con el modelo constante inicial imagendonde imagen(se puede demostrar que dicha inicialización es óptima para la función sigmoidea). Luego, en cada iteración m, se agrega un nuevo árbol fm al modelo. Para encontrar el mejor árbol imagenPara encontrar el mejor árbol imagen, la derivada parcial del imagenmodelo actual se calcula primero para cada i = 1, ..., N:
imagen

donde f es el modelo del clasificador de conjunto construido en la iteración anterior m - 1. Para calcular imagen, necesitamos encontrar las derivadas de con imagenrespecto a f para todo i. Tenga en cuenta que la imagenderivada con respecto a f del término correcto en la ecuación anterior es
imagen

Luego, el conjunto de entrenamiento se transforma al reemplazar la etiqueta original de la imagenderivada parcial correspondiente imagen, y se construye un nuevo árbol sobre la base del conjunto de entrenamiento convertido. imagenA continuación, el paso óptimo de actualización se determina imagencomo:
imagen

Al final de la iteración m, actualizamos el modelo de conjunto imagenagregando un nuevo árbolimagen
imagen

Las iteraciones continúan hasta que se cumple la condición m = M, después de lo cual se termina el entrenamiento y se obtiene el modelo de conjunto f.

El aumento de gradiente es uno de los algoritmos de aprendizaje automático más potentes. No solo porque crea modelos muy precisos, sino también porque es capaz de procesar grandes conjuntos de datos con millones de datos y características. Como regla, supera en precisión el bosque aleatorio, pero debido a la naturaleza consistente puede aprender mucho más lentamente.

All Articles