¿Qué es el modelo log-lineal latente con variables latentes y cómo se entrena tal modelo?

Recordar:

  • Un modelo logarítmico lineal define [matemática] p (y) [/ matemática] como proporcional a una combinación lineal exponencial de características de y. Los parámetros son los coeficientes en la combinación lineal.
  • Un modelo log-lineal condicional define de manera similar [math] p (y \ mid x) [/ math] a partir de las características de (x, y).

Variables latentes:

  • Puede definir [math] p (y \ mid x) = \ sum_z p (y, z \ mid x) [/ math], habiendo definido [math] p (y, z \ mid x) [/ math] usando un modelo log-lineal condicional basado en características de (x, y, z).
  • Aquí z es la variable latente. En el tiempo de entrenamiento observas (x, y) y en el tiempo de prueba solo observas x. Pero nunca observas z. Simplemente hace que la familia de modelos sea más poderosa.

Ejemplos:

  • En el caso simple [math] z \ in \ {1,2,3 \} [/ math], esto simplemente da un modelo de mezcla, específicamente una mezcla de 3 modelos log-lineales. Tenga en cuenta que algunas características pueden compartirse entre los 3 componentes de la mezcla.
  • Este método comúnmente surge con variables estructuradas. Supongamos que x es una oración en francés e y es su traducción al inglés. Es difícil modelar [math] p (y \ mid x) [/ math] usando características de (x, y) solo. Para facilitar la ingeniería de características, dejemos que z sea una “alineación” latente que indica qué palabras dentro de y son traducciones de qué palabras dentro de x. Las características de (x, y, z) pueden hacer preguntas naturales como “¿Aparece ‘house’ en y como una traducción de la palabra ‘maison’ en x?” y “Cuando un adjetivo siguió inmediatamente a un sustantivo en x, ¿sus traducciones de palabras estaban en y en el orden inverso?” Las respuestas a estas preguntas dependen de la alineación z. Tenga en cuenta que para obtener [matemáticas] p (y \ mid x) [/ matemáticas], debemos sumar todas las alineaciones latentes, por ejemplo, mediante programación dinámica.

Formación:

  • Si lo desea, puede entrenar con la máxima probabilidad, pero solo hasta un máximo local ya que la función de probabilidad de registro ya no es convexa en general.
  • Dada una muestra de pares [math] \ {(x_i, y_i) \} [/ math], el gradiente de la probabilidad de registro condicional con respecto a los parámetros es [math] \ nabla \ sum_i \ log p (y_i \ mid x_i) = \ sum_i [/ ​​math] [math] \ left (\ sum_ {z} p (z \ mid x_i, y_i) \ vec {f} (x_i, y_i, z) \ right) [/ math] – [ matemática] \ left (\ sum_ {y, z} p (y, z \ mid x_i) \ vec {f} (x_i, y, z) \ right) [/ math], donde p representa el modelo actual.
  • Tenga en cuenta que este gradiente es la diferencia de dos expectativas condicionales del vector de características [math] \ vec {f} [/ math] – la expectativa “sujeta” de que las condiciones supervisadas [math] (x_i, y_i) [/ math], y la expectativa “libre” que condiciona solo en [math] x_i [/ ​​math]. Cada expectativa requiere una suma sobre los valores de la latente [matemática] z [/ matemática], tal vez posible mediante programación dinámica o muestreo MCMC.
  • (Método de entrenamiento alternativo: en lugar de seguir el gradiente, puede usar EM para alternar entre imputar las variables z latentes y maximizar la probabilidad de registro condicional esperada en los datos completados resultantes. Pero esto equivale esencialmente al mismo algoritmo).

Agregaré dos ejemplos más que muestran el concepto de variables latentes.

Analizador semántico profundo en la comprensión del lenguaje natural
Supongamos que almacena algunos datos geográficos sobre los EE. UU. En la base de datos y desea crear un sistema front-end donde el usuario pueda hacer preguntas sobre los hechos almacenados. Sin embargo, para que sea más accesible, no está asumiendo ningún conocimiento del lenguaje de consulta: permite que el usuario especifique consultas en lenguaje natural. Para lograr este objetivo, está creando algunas herramientas de Machine Learning que pueden traducir oraciones del lenguaje natural al lenguaje de consulta (llamado analizador semántico).
Sin embargo, este enfoque está condenado a largo plazo, ya que debe recopilar anotaciones en el lenguaje formal. Por supuesto, sería mucho más barato recopilar solo consultas y las respuestas correspondientes en lenguaje natural.
Digamos que [math] p (a | q) [/ math] representa la incertidumbre asociada a la respuesta dada la pregunta. Sin embargo, esto parece un problema extremadamente difícil, pero ¿y si tuviéramos la representación formal de la pregunta en el lenguaje de consulta? Tal representación formal latente simplificaría significativamente el problema (un truco común en el modelado latente). Una vez que lo tenga, lo único que necesita es ejecutar la consulta en su base de datos. Vamos a formularlo usando el enfoque bayesiano:
[mates]
p (a | q) = \ sum_z p (a | z) p (z | q)
[/mates]
La primera parte es solo una ejecución determinista de [math] z [/ math] en la base de datos, y la segunda es un modelo log-lineal que mide la compatibilidad entre la consulta formal [math] z [/ math] con la pregunta , es decir:
[matemáticas] \ log p (z | q) \ aprox. w ^ T \ phi (z, q) [/ matemáticas]
Podríamos entrenar dicho modelo generando primero un conjunto de posibles consultas formales, y luego usar un enfoque de descenso de gradiente para ajustar los parámetros de la distribución, una especie de algoritmo EM.

Tomé este ejemplo de la página en berkeley.edu

Modelo de piezas deformables en detección de objetos
Este no es un modelo estrictamente logarítmico lineal, pero muestra que la idea de las variables latentes puede extenderse fácilmente a otros modelos.

Digamos que quieres tener un método para detectar personas. Usted entrena una plantilla que corresponde a alguna vista de la persona completa, pero comienza a preguntarse qué puede pasar si también usa partes humanas en la detección (piernas, cabeza, …). Esto puede ayudar intuitivamente en la detección. Pase el mouse, sus datos no contienen esas partes anotadas, solo hay cuadros delimitadores alrededor de las personas. Pero ya hemos visto un problema similar antes: alguna información ayudaría en las predicciones si está disponible, pero en realidad falta en el conjunto de entrenamiento. No obstante, define una función objetivo SVM donde, además, maximiza la puntuación haciendo coincidir todas las partes. Para el entrenamiento que usa (nuevamente) enfoque EM: detecte todas las partes, vuelva a entrenar el modelo, repita el procedimiento hasta la convergencia / aburrirse.

Tomé este ejemplo de Page en stanford.edu

Este documento ‘[Ariadna Quattoni] Campos aleatorios condicionales ocultos’ puede ayudarlo. Creo que lo que quieres decir con características latentes es variable latente . En este tipo de modelos, es posible que deba inferir las variables latentes, que en general no pueden resolverse en el tiempo polinómico.

More Interesting

Cómo entrenar Word2Vec en un conjunto de datos personalizado

¿Cuáles son todas las formas en que Quora usa el procesamiento del lenguaje natural (PNL)?

¿Cómo puedo medir la precisión de un sistema de recomendación?

¿Cuándo debo usar la asignación de Dirichlet latente en la minería de texto? ¿Es bueno usarlo para un sistema que requiere alta precisión, como un sistema de detección de fraude?

¿Cuáles son algunas de las limitaciones o inconvenientes de las redes neuronales convolucionales?

¿Qué tan grande es el mercado de consultoría de aprendizaje automático para nuevas empresas?

¿Cuál es el poder computacional de las redes neuronales no recurrentes frente a las redes neuronales recurrentes?

¿Qué tipo de antecedentes estadísticos debo tener para tomar el curso de Reconocimiento de patrones? Cual estadística Qué libro es útil para mi preparación?

¿Qué papel jugará la ciencia de datos en las elecciones presidenciales de 2012?

¿Cómo pudo la policía de Arizona llegar a una conclusión tan rápida que el auto Uber que se volcó no fue el culpable?

¿Cómo manejan las empresas en Silicon Valley sus datos de flujo de red?

¿Cuál es la explicación de la causa de la explosión y desaparición del gradiente de red neuronal recurrente RNN?

¿Es útil R para aprender a investigar en planificación urbana, economía y diseño?

¿Dónde se puede usar la visión computacional en el aprendizaje profundo?

En la calificación crediticia, ¿cuáles son las ventajas y desventajas del aprendizaje automático en relación con las técnicas de regresión tradicionales?