derivazione del passo E nell'algoritmo EM per pLSA tramite Lagrangiana

Aug 24 2020

Ho problemi a derivare l'algoritmo EM per il modello probabilistic latent semantic analysis (pLSA) tramite i moltiplicatori di Lagrange.

Modello i dati mancanti $Q_{zij} \in \{0,1\}$ per parola $w_j$ nel documento $d_i$, che dà luogo alla distribuzione variazionale su $z: q_{zij} = P(Q_{zij} = 1), \sum_z q_{zij} = 1, q_{zij} \geq 0$. Quindi ricavo un limite inferiore tramite la disuguaglianza di Jensen e arrivo all'ottimizzazione della probabilità logaritmica su$q$ per un fisso $u_{zi}, v_{zj}$ tramite il moltiplicatore Lagrange:

$\cal{L}(q, \lambda) = \sum_{z=1}^K q_{zij}[\log u_{zi} + \log v_{zj} - \log q_{zij}] + \lambda(\sum_{z=1}^K q_{zij} - 1)$

Applicando la condizione di ottimalità del primo ordine, che sta prendendo le derivate parziali rispetto a $q_{zij}$ Ottengo:

$\lambda + (\log u_{zi} + \log v_{zj} - \log q_{zij} -1) = 0$

Questo ora mi lascia con $K + 1$ equazioni per $K+1$ incognite, che sono $\lambda$ e il $K$ $q_{zij}$valori. Tuttavia, non so come risolverlo effettivamente. So che la soluzione dovrebbe essere

$q_{zij} = \frac{v_{zi}u_{zj}}{\sum_{p=1}^K v_{pi}u_{pj}}$ che è solo la parte posteriore di $Q_{zij}$ se mi dilungo $v$ e $u$ ai rispettivi pdf.

Come risolvo questo problema per derivare correttamente il passaggio E?

Risposte

lyinch Aug 24 2020 at 18:06

Ho trovato la soluzione. Per brevità, lascerò cadere gli indici$i,j$. Per prima cosa, isoliamo$q_z$, quindi calcoliamo $\lambda$ e una volta che lo abbiamo, possiamo collegare $\lambda$ torna alla prima equazione:

Il primo passo è isolare $q_z$: $\lambda + \log(u_z v_z) - \log q_z -1 = 0 \iff q_z = \exp(\lambda + \log(u_z v_z) -1 ) = \exp(\lambda -1) u_z v_z $

Ora usiamo la seconda condizione: $\sum_z q_z -1 = 0$, spina $q_z$ e isolare $\lambda$:

$\sum_z \exp(\lambda -1) u_z v_z -1 = 0 \iff \exp(\lambda -1) = \frac{1}{\sum_z u_z v_z} \iff \lambda = \log \frac{1}{\sum_z u_z v_z} + 1 $

Ora usiamo questo $\lambda$ e ricollegalo alla prima equazione in cui abbiamo isolato $q_z$:

$ q_z = \exp(\log \frac{1}{\sum_p u_p v_p} + 1 -1) u_z v_z = \frac{u_z v_z}{\sum_p u_p v_p}$

E questa è la soluzione! (nota che ho cambiato l'indice della somma in range over$p$ per non entrare in conflitto con il $z$)