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:
- ¿Por qué es difícil construir IA de autoaprendizaje?
- ¿Por qué los NN recurrentes son tan susceptibles al problema del gradiente de fuga?
- ¿Qué conocimiento se requiere para la pasantía de ML como estudiante universitario de CS?
- ¿Cuál ha sido la experiencia de la gente con RapidMiner?
- Al cambiar de plataforma, ¿cómo se debe planificar con anticipación para garantizar que el almacenamiento y el análisis de datos se mantengan rápidos y eficientes?
- 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).