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

¿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 usando el enfoque de optimización Descenso gradual. Su objetivo principal es actualizar los parámetros de un algoritmo de aprendizaje. Estos modelos adquieren conocimiento con el tiempo utilizando datos de entrenamiento y la función de costo en descenso gradual sirve principalmente como un barómetro al evaluar la corrección de cada iteración de 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. Aquí están los temas a discutir.

Indice

  1. Acerca del descenso de gradiente
  2. Entrenamiento de modelos word2vec
  3. Entrenamiento de modelos de codificadores automáticos
  4. Formación CNN

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, aquí hay un ejemplo para consultar.

Revista de análisis de la India

El punto de partida es simplemente una posición elegida al azar por el algoritmo para evaluar el rendimiento. Se descubriría una pendiente desde este punto de partida, y desde allí se crearía una línea tangente para medir la inclinación de la pendiente. Los cambios en los parámetros, como pesos y sesgos, serán informados por la pendiente. La pendiente será más pronunciada en el punto inicial, pero a medida que se creen 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 costoo la diferencia entre el valor predicho y el valor real, muy parecido a encontrar la línea de mejor ajuste en regresión lineal. Se necesitan 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 tienen un impacto en los cálculos de derivadas parciales de estas iteraciones.

  • Tasa de aprendizaje: La magnitud de los pasos necesarios para alcanzar el mínimo se denomina tasa de aprendizaje. Este suele ser un valor modesto, que se evalúa y actualiza en función del comportamiento de la función de costo. Los hitos más grandes se alcanzan debido a las altas tasas de aprendizaje, por lo que se puede superar el mínimo. Una tasa de aprendizaje baja, por otro lado, tiene pasos cortos. El número de repeticiones reduce la eficiencia global aunque tiene la ventaja 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 eficiencia del modelo de aprendizaje automático al darle retroalimentación para que pueda cambiar los parámetros para reducir errores 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 pendiente negativa). El modelo dejará de aprender en este momento.
READ  Redmi Note 12S y Redmi Note 12 Pro 4G hacen su debut oficial en Europa

En el aprendizaje no supervisado, el descenso de gradiente solo se puede usar en redes neuronales porque tiene una función de costo y otro aprendizaje no supervisado no tiene una función de costo que deba optimizarse. 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 la ciencia de datos? Chequea aquí.

Entrenamiento de modelos word2vec

Word2vec es un método de procesamiento de lenguaje natural. Con la ayuda de un vasto corpus de textos, el palabra2vec utiliza 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 del corpus están representadas por vectores de características. Una vez entrenado, un modelo como este puede identificar términos similares o sugerir nuevas palabras para completar una oración. 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 modo que se pueda usar una función matemática simple para determinar qué tan similares son entre sí las palabras representadas por estos vectores 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). los algoritmo de salto de gramo se basa en la optimización del descenso de gradiente. Cuando se le da una palabra común, el Modelo de Salto de Gramo Continuo aprende prediciendo las palabras que lo rodean. En otras palabras, el modelo Skip-Gram continuo predice las palabras que aparecerán antes y después de la palabra actual en la misma oración en un rango específico.

Encontrar la representación vectorial de cada palabra en el texto es el objetivo principal porque disminuye el espacio dimensional. Cada palabra en un skip-gram tendrá dos representaciones distintas como consejo. La representación se define como:

  • Cuando la palabra es una palabra central
  • Cuando la palabra es una palabra de contexto

La palabra objetivo o la entrada entregada es w

Entrenamiento de modelos de codificador automático

La entrada y salida de las redes neuronales feedforward que utilizan codificadores automáticos son lo mismo. 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 codificador automático. 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 propósito 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 la dimensionalidad.

En los modelos generativos antes mencionados, los pesos del codificador automático se actualizan a través del descenso de gradiente, y los pesos revisados ​​luego se normalizan a la norma de la columna euclidiana, lo que da como resultado una convergencia lineal a una pequeña vecindad de la realidad básica. 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 se basan únicamente en las direcciones de los gradientes sin considerar sus magnitudes. Los gradientes se normalizan para lograr esto. En lugar de utilizar todo el conjunto de datos, las actualizaciones de peso se realizan utilizando ejemplos de entrenamiento específicos (elegidos al azar). Al actualizar los parámetros al final de cada minilote de muestras, el minilote de NGD se generaliza.

Entrenamiento de Redes Neuronales Convolucionales

Un tipo especial de red neuronal conocida como red neuronal convolucional (CNN) ha ganado varios concursos relacionados con la visión artificial 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 uso extensivo de fases de extracción de características, que pueden aprender automáticamente representaciones de datos, explica la alta capacidad de aprendizaje de Deep CNN.

READ  Spotify rediseña la pantalla de inicio y obtiene un flujo de desplazamiento vertical sin fin como Instagram

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

Las redes neuronales convolucionales tienen un pase hacia adelante y un pase hacia atrás. La cubierta de proa es el tema de las dos primeras partes del estudio. El pasaje trasero se explorará en esta sección. No se comprobará si la función ponderada satisface la demanda 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 varias veces. retropropagación (BP) se utiliza para propagar errores de corrección de niveles superiores a 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 del modelo se satisfacen con la demanda del proceso cuando la diferencia es menor o igual a la distancia de recurrencia terminal. Entonces el procedimiento puede terminar. La tasa de aprendizaje, también conocida como tamaño de paso, determina la cantidad de gradiente utilizada para actualizar nuevos datos. La función objetivo finalmente se puede optimizar 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 usar 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, entendimos el uso del gradiente descendente en el aprendizaje no supervisado.

Referencias

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *