Hasta ahora, hemos tratado con entrada multidimensional, pero no con salida multivariada como se muestra en la figura 4.14. Por ejemplo, en lugar de etiquetas binarias en los datos, ¿qué sucede si tenemos 3, 4 o 100 clases? La regresión logística requiere dos etiquetas, no más. La clasificación de imágenes, por ejemplo, es un problema popular de clasificación multivariable porque el objetivo es decidir la clase de una imagen de una colección de candidatos. Una fotografía puede agruparse en una de cientos de categorías. Para manejar más de dos etiquetas, podemos reutilizar la regresión logística de una manera inteligente (usando un o enfoque de uno contra todos o de uno contra uno) o desarrolle un nuevo enfoque (regresión de softmax).
Veamos cada uno de los enfoques en las siguientes secciones. Los enfoques de regresión logística requieren una cantidad decente de ingeniería ad-hoc, por lo que centraremos nuestros esfuerzos en la regresión de softmax.
Uno contra todos
Primero, entrenamos un clasificador para cada una de las etiquetas como se muestra en la figura 4.15. Si hay tres etiquetas, tenemos tres clasificadores disponibles para usar: f1, f2 y f3. Para probar nuevos datos, nosotros ejecutamos cada uno de los clasificadores para ver cuál produjo la respuesta más segura. Intuitivamente, etiquetamos el nuevo punto por la etiqueta del clasificador que respondió con más confianza.
Uno versus uno
Regresión Softmax
Veamos cada uno de los enfoques en las siguientes secciones. Los enfoques de regresión logística requieren una cantidad decente de ingeniería ad-hoc, por lo que centraremos nuestros esfuerzos en la regresión de softmax.
Uno contra todos
Primero, entrenamos un clasificador para cada una de las etiquetas como se muestra en la figura 4.15. Si hay tres etiquetas, tenemos tres clasificadores disponibles para usar: f1, f2 y f3. Para probar nuevos datos, nosotros ejecutamos cada uno de los clasificadores para ver cuál produjo la respuesta más segura. Intuitivamente, etiquetamos el nuevo punto por la etiqueta del clasificador que respondió con más confianza.
Uno versus uno
Luego entrenamos un clasificador para cada par de etiquetas (ver figura 4.16). Si hay tres etiquetas, entonces son solo tres pares únicos. Pero para k número de etiquetas, eso es k (k-1) / 2 pares de etiquetas. En los nuevos datos, ejecutamos todos los clasificadores y elegimos la clase con más victorias.
Regresión Softmax
Softmax lleva el nombre de la función max tradicional, que toma un vector y devuelve el valor máximo; sin embargo, softmax no es exactamente la función máxima porque tiene el beneficio adicional de ser continuo y diferenciable. Como resultado, tiene las propiedades útiles para que el descenso del gradiente estocástico funcione de manera eficiente.
En este tipo de configuración de clasificación multiclase, cada clase tiene una puntuación de confianza (o probabilidad) para cada vector de entrada. El paso de softmax simplemente elige la salida de puntuación más alta.
Abra un nuevo archivo llamado softmax.py y siga la lista 4.8 de cerca. Primero, visualizaremos algunos datos falsos para reproducir la figura 4.14 (también reproducida en la figura 4.16).
A continuación, en el listado 4.9 configuraremos los datos de entrenamiento y prueba para preparar el softmax para el paso de regresión. Las etiquetas deben representarse como un vector donde solo un elemento es 1 y el resto son 0s. Esta representación se llama codificación en caliente (one-hot encoding). Por ejemplo, si hay tres etiquetas, se representarían como los siguientes vectores: [1, 0, 0], [0, 1, 0] y [0, 0,1].
EJERCICIO 4.4 La codificación instantánea puede parecer un paso innecesario. ¿Por qué no solo tener un 1-dimensional salida donde los valores de 1, 2 y 3 representan las tres clases.
RESPUESTA
La regresión puede inducir una estructura semántica en la salida. Si las salidas son similares, regresión implica que sus aportaciones también fueron similares. Si usamos solo una dimensión, estamos insinuando que las etiquetas 2 y 3 son más similares entre sí que 1 y 3. Debemos tener cuidado al hacer innecesarios o incorrectos suposiciones, por lo que es una apuesta segura utilizar una codificación en caliente.
Finalmente, en el listado 4.10 usaremos la regresión softmax. A diferencia de la función sigmoide en logística. Regresión, aquí usaremos la función softmax proporcionada por la biblioteca TensorFlow. los La función softmax es similar a la función max, que simplemente genera el valor máximo de
una lista de numeros Se llama softmax porque es una aproximación “suave” o “suave” de la
Función máxima, que no es suave ni continua (y eso es malo). Continua y suave
Las funciones facilitan el aprendizaje de los pesos correctos de una red neuronal mediante la propagación hacia atrás.
EJERCICIO 4.X
¿Cuál de las siguientes funciones es continua? f (x) = x 2. f (x) = min (x, 0). f (x) = tan (x).
Finalmente, en el listado 4.10 usaremos la regresión softmax. A diferencia de la función sigmoide en la regresión logística, aquí usaremos la función softmax proporcionada por la biblioteca TensorFlow. La función softmax es similar a la función max, que simplemente genera el valor máximo de una lista de números. Se llama softmax porque es una aproximación "suave" o "suave" de la función max, que no es suave ni continua (y eso es malo). Las funciones continuas y suaves facilitan el aprendizaje de los pesos correctos de una red neuronal mediante la propagación hacia atrás.
EJERCICIO 4.X
¿Cuál de las siguientes funciones es continua? f (x) = x 2. f (x) = min (x, 0). f (x) = tan (x).
Ahora que ha definido el gráfico de cálculo TensorFlow, ejecútelo desde una sesión. Intentaremos una nueva forma de actualizar iterativamente los parámetros esta vez, llamado aprendizaje por lotes. En lugar de pasar los datos uno por uno, ejecutaremos el optimizador en lotes de datos. Esto acelera las cosas, pero presenta el riesgo de converger a una solución óptima local en lugar de la mejor global. Siga el listado 4.11 para ejecutar el optimizador en lotes.
Hemos aprendido los pesos y sesgos del modelo. Podemos reutilizar estos parámetros aprendidos.
inferir en los datos de prueba. Una forma simple de hacerlo es guardando y cargando las variables en
TensorFlow (consulte https://www.tensorflow.org/programmers_guide/variables). Puede ejecutar el modelo (que se llama y_model en nuestro código) para obtener las respuestas del modelo en su entrada de prueba datos.
Aplicación de clasificación la emoción es un concepto difícil de operacionalizar. Felicidad, tristeza, enojo, excitación, y el miedo son algunos ejemplos de emociones que son muy subjetivas. Lo que resulta tan emocionante para alguien puede parecer sarcástico a otro. Texto que parece transmitir ira a alguna fuerza. en cambio, transmitir el miedo a los demás. Si los humanos tienen tantos problemas, ¿qué suerte pueden tener las computadoras?
¿tener?
Por lo menos, los investigadores de aprendizaje automático han descubierto maneras de clasificar los positivos y sentimiento negativo dentro del texto. Por ejemplo, digamos que estás construyendo un tipo de Sitio web como Amazon donde cada artículo tiene opiniones de los usuarios. Quieres que tu buscador inteligente prefiera artículos con comentarios positivos. Quizás la mejor métrica que tengas disponible sea la estrella promedio. Calificación o número de pulgares arriba. Pero, ¿qué pasa si tienes un montón de revisiones de texto pesado sin calificaciones explícitas?
El análisis del sentimiento puede considerarse un problema de clasificación binaria. La entrada es algo texto en lenguaje natural y la salida es una decisión binaria que infiere positivo o sentimiento. negativo. Los siguientes son algunos conjuntos de datos que puede encontrar en línea para resolver este problema exacto.
• Gran conjunto de datos de revisión de películas:
• Conjunto de datos Sentencias etiquetadas
• Conjunto de datos de análisis de sentimiento de Twitter
El mayor obstáculo es descubrir cómo representar el texto sin formato como una entrada para una algoritmo de clasificación. A lo largo de este capítulo, la entrada a la clasificación siempre ha sido un vector de característica:
Uno de los métodos más antiguos para convertir texto sin formato en un vector de características se denomina bolsa de palabras. Puedes encontrar un tutorial muy bueno y una implementación de código aquí: https://www.kaggle.com/c/word2vec-nlp-tutorial/details/part-1-for-beginners-bag-of-words.
Resumen
Debido a que la clasificación es una técnica de aprendizaje automático muy útil, ha madurado hasta convertirse en un
tema bien estudiado. Resumamos lo que hemos aprendido hasta ahora.
• Hay muchas formas posibles de resolver problemas de clasificación, pero regresión logística
y la regresión de softmax son algunas de las más robustas en términos de precisión y
actuación.
• Es importante preprocesar los datos antes de ejecutar la clasificación. Por ejemplo, las variables discretas independientes se pueden reajustar en variables binarias.
• Hasta ahora, nos acercamos a la clasificación desde el punto de vista de la regresión. En capítulos posteriores, revisaremos la clasificación utilizando redes neuronales.
• Hay varias formas de acercarse a la clasificación multiclase. No hay una respuesta clara para
cuál debería probar primero entre la regresión de uno contra uno, uno frente a todos y softmax.
Sin embargo, el enfoque de softmax es un poco más manos libres y le permite tocar el violín
Con más hiperparámetros.
Comentarios
Publicar un comentario