¿Cómo se usa el descenso de gradiente en problemas de aprendizaje no supervisado?

Estás leyendo la publicación: ¿Cómo se usa el descenso de gradiente en problemas de aprendizaje no supervisado?

La función de costo en varios algoritmos de aprendizaje automático se minimiza utilizando el descenso de gradiente del enfoque de optimización. Su objetivo principal es actualizar los parámetros de un algoritmo de aprendizaje. Estos modelos adquieren conocimiento con el tiempo mediante el uso de datos de entrenamiento, y la función de costo en el descenso de gradiente sirve especialmente como barómetro al evaluar la corrección de cada iteración de los cambios de parámetros. El descenso de gradiente se usa comúnmente en el aprendizaje supervisado, pero la pregunta es si podría usarse en el aprendizaje no supervisado. Este artículo se centrará en comprender “cómo” se podría utilizar el descenso de gradiente en el aprendizaje no supervisado. Los siguientes son los temas a tratar.

Tabla de contenido

  1. Acerca del descenso de gradiente
  2. Entrenamiento de modelos word2vec
  3. Entrenamiento de modelos de codificador automático
  4. CNN de formación

Gradient Descent encuentra los mínimos globales de una función de costo, por lo que no se puede aplicar a algoritmos sin una función de costo. Comencemos con una comprensión de alto nivel del descenso de gradiente.

Acerca del descenso de gradiente

Aunque el algoritmo de descenso de gradiente se basa en una función convexa, pero se comporta de manera similar a un algoritmo de regresión lineal, a continuación se muestra un ejemplo para consultar.

Revista de análisis de la India

El punto de inicio es solo una posición elegida al azar por el algoritmo para medir el rendimiento. Se descubriría una pendiente a partir de ese punto de partida y, a partir de ahí, se crearía una línea tangente para medir la inclinación de la pendiente. Las modificaciones a los parámetros, como los pesos y sesgos, serán informados por la pendiente. La pendiente será más pronunciada en el punto de inicio, pero cuando se crean parámetros adicionales, la pendiente debería disminuir constantemente hasta que alcance el punto de convergencia, que es el punto más bajo de la curva.

El objetivo del descenso de gradiente es reducir la función de costo, o la diferencia entre el valor anticipado y el valor real, como encontrar la línea de mejor ajuste en la regresión lineal. Son necesarios dos puntos de datos, una dirección y una tasa de aprendizaje. Las iteraciones futuras podrían acercarse gradualmente al mínimo local o global porque estas variables afectan los cálculos de derivadas parciales de esas iteraciones.

  • Tasa de aprendizaje: La magnitud de los pasos necesarios para llegar al mínimo se denomina tasa de aprendizaje. Este suele ser un valor modesto, y se evalúa y actualiza de acuerdo con el comportamiento de la función de costos. Se dan pasos más grandes como resultado de altas tasas de aprendizaje, debido a lo cual se puede exceder el mínimo. Una tasa de aprendizaje baja, por otro lado, tiene pasos cortos. El número de repeticiones reduce la eficiencia general, incluso si tiene el beneficio de una mayor precisión, ya que requiere más tiempo y cálculos para llegar al mínimo.
  • la funcion de costo: Calcula el error entre el valor y real y el valor y esperado en el punto actual. Esto aumenta la efectividad del modelo de aprendizaje automático al darle retroalimentación para que pueda cambiar los parámetros para reducir el error y ubicar el mínimo local o global. Hasta el costo, la función es cercana o igual a cero, itera constantemente, viajando en la dirección de la caída más pronunciada (o del gradiente negativo). El modelo dejará de aprender en este momento.
🔥 Recomendado:  Cómo aumentar las sesiones comprometidas de su sitio web por usuario

En el aprendizaje no supervisado, el descenso de gradiente solo se puede utilizar en redes neuronales porque tiene una función de costo y otro aprendizaje no supervisado no tiene una función de costo que se necesita optimizar. Apliquemos el algoritmo de descenso de gradiente a algunos aprendizajes no supervisados ​​y aprendamos la funcionalidad de estos estudiantes no supervisados.

¿Está buscando un repositorio completo de bibliotecas de Python utilizadas en ciencia de datos, echa un vistazo aquí.

Entrenamiento de modelos word2vec

Word2vec es un método para procesar el lenguaje natural. Con la ayuda de un corpus de texto enorme, la técnica word2vec emplea un modelo de red neuronal para aprender conexiones de palabras. Es una red neuronal de dos capas que “vectoriza” palabras para analizar texto. Toma un corpus de texto como entrada y produce un conjunto de vectores como salida. Las palabras en el corpus están representadas por vectores de características. Una vez entrenado, un modelo como este puede identificar términos que son similares o proponer nuevas palabras para completar una frase. Como sugiere el nombre, word2vec utiliza un conjunto específico de números enteros llamado vector para representar cada palabra única. Los vectores se eligen de manera que se pueda usar una función matemática sencilla para determinar la similitud de las palabras representadas por esos vectores entre sí en términos de significado.

El modelo word2vec podría entrenarse usando dos algoritmos diferentes que son skip-gram y CBOW (Continuous bag of words). El algoritmo skip-gram se basa en la optimización del descenso de gradiente. Cuando se le da una palabra actual, el modelo de salto de gramo continuo aprende prediciendo las palabras que estarán a su alrededor. Para decirlo de otra manera, el modelo de salto de gramo continuo predice palabras que aparecerán antes y después de la palabra presente en la misma frase dentro de un rango específico.

Encontrar la representación vectorial de todas y cada una de las palabras del texto es el objetivo principal, ya que reduce el espacio dimensional. Cada palabra en un skip-gram tendrá dos representaciones distintas como su truco. La representación se define como:

  • Cuando la palabra es una palabra central
  • Cuando la palabra es una palabra de contexto
🔥 Recomendado:  Cómo apegarse a su presupuesto: 9 consejos de motivación

La palabra objetivo o la entrada entregada es w

Entrenamiento de modelos de Autoencoders

La entrada y la salida de las redes neuronales feedforward que utilizan codificadores automáticos son idénticas. Reducen la dimensión de la entrada antes de usar esta representación para recrear la salida. El código, también conocido como representación de espacio latente, es un “resumen” o “compresión” eficiente de la entrada. Codificador, código y decodificador son las tres partes de un autocodificador. La entrada es comprimida por el codificador, que también crea un código. Luego, el decodificador reconstruye la entrada utilizando exclusivamente el código. Los codificadores automáticos son principalmente algoritmos de reducción de dimensionalidad que son específicos de datos, no supervisados ​​y tienen una salida con pérdidas.

Revista de análisis de la India

El objetivo de un codificador automático es entrenar la red para capturar los elementos más cruciales de la imagen de entrada para aprender una representación (codificación) de menor dimensión para datos de mayor dimensión, a menudo para la reducción de dimensionalidad.

Bajo los modelos generativos antes mencionados, los pesos del autocodificador se actualizan a través de un descenso de gradiente, y los pesos revisados ​​luego se normalizan en la norma de la columna euclidiana, lo que da como resultado una convergencia lineal a una pequeña vecindad de la realidad fundamental. El término “Descenso de gradiente normalizado” (NGD) se refiere a una modificación del término “Descenso de gradiente tradicional” en el que las actualizaciones de cada iteración solo se basan en las direcciones de los gradientes sin tener en cuenta sus magnitudes. Los gradientes se normalizan para lograr esto. En lugar de emplear todo el conjunto de datos, las actualizaciones de peso se llevan a cabo utilizando ejemplos de entrenamiento específicos (seleccionados al azar). Al actualizar los parámetros al final de cada minilote de muestras, el NGD de minilotes se generaliza.

Entrenamiento de redes neuronales convolucionales

Un tipo particular de red neuronal conocida como red neuronal convolucional (CNN) ha ganado varias competencias relacionadas con la visión por computadora y el procesamiento de imágenes. Algunas de las emocionantes áreas de aplicación de CNN incluyen reconocimiento de voz, detección de objetos, procesamiento de video, procesamiento de lenguaje natural y clasificación y segmentación de imágenes. El amplio uso de las fases de extracción de funciones, que pueden aprender automáticamente representaciones de los datos, explica la alta capacidad de aprendizaje de Deep CNN.

Una de las propiedades más atractivas de CNN es su capacidad para utilizar la correlación espacial o temporal en los datos. Cada paso de aprendizaje de CNN se divide en una variedad de capas convolucionales, unidades de procesamiento no lineal y capas de submuestreo. Utilizando un banco de núcleos convolucionales, cada capa de la red feedforward multicapa de CNN realiza una serie de modificaciones. El proceso de convolución ayuda a extraer propiedades útiles de puntos de datos espacialmente relacionados.

🔥 Recomendado:  WhatsApp finalmente te permite editar los mensajes enviados. Aquí está cómo hacerlo

Las redes neuronales convolucionales tienen una vía de paso hacia adelante y una vía de paso hacia atrás. El pasaje delantero es el tema de las dos primeras secciones del estudio. El paso hacia atrás se explorará en esta sección. No se verificará si la función ponderada satisface la solicitud de precisión de la estructura debido a la inicialización de la función ponderada durante el procedimiento de las CNN. La función debe corregirse repetidamente. La retropropagación (BP) se utiliza para propagar errores de corrección desde los niveles superiores a las capas inferiores. Las funciones ponderadas pueden entonces mantenerse mediante errores fijos en los niveles inferiores. Para localizar los errores corregidos en CNN, se aplica el enfoque de descenso de gradiente.

Con la inicialización del procedimiento, la derivada parcial de las funciones de pérdida se calcula como un gradiente, que mide la tendencia de la función objetivo. La precisión de una función a menudo se mide como la diferencia entre la salida de un modelo matemático y una muestra. Las funciones ponderadas en el modelo se complacen con la solicitud del proceso cuando la diferencia es menor o igual a la distancia terminal de recurrencia. Entonces, el procedimiento puede terminar. La tasa de aprendizaje, también conocida como tamaño de paso, determina cuánto del gradiente se utiliza para actualizar los nuevos datos. En última instancia, la función objetivo puede optimizarse si es una función convexa.

Conclusión

El algoritmo de descenso de gradiente encuentra los mínimos globales de la función de costo, para utilizar el método de optimización, el algoritmo debe tener una función de costo. Dado que los algoritmos de agrupamiento como el agrupamiento jerárquico, el agrupamiento aglomerativo, etc. no tienen una función de costo, no se les puede aplicar el método de descenso. Con este artículo, hemos entendido la utilización del gradiente descendente en el aprendizaje no supervisado.

Referencias

Tabla de Contenido