3 votos

¿La suma de los pesos de la mezcla actualizada en el algoritmo EM es igual a 1 en el paso M, por qué?

Estoy utilizando el algoritmo EM para estimar los parámetros de mi modelo. Como usted sabe, el peso de la mezcla debe ser la suma a uno. $\sum \pi_n = 1$ donde $n$ es el número de componentes de la mezcla. En el paso M podemos encontrar el peso de la mezcla actualizado para cada iteración como sigue: $\pi^{i+1} = mean(\tau)$ donde $i$ es el número de iteración. Mi pregunta aquí, ¿cómo demostrar que, la suma de peso de la mezcla actualizada también será igual a uno?

¿Alguna ayuda, por favor?

3voto

ChicksDigTrig Puntos 6

Digamos que consideramos un modelo de mezcla de $K$ y la densidad interna es $f(\dot;\Theta)$ es decir, una densidad gaussiana si consideramos los MMG, etc.

En primer lugar, la función Q tiene el siguiente aspecto

$$Q(\Theta, \Theta^{(\text{old})}) = \sum_{i=1}^n \sum_{k=1}^K T_{i,k}^{(\text{old})} \left[ \log \tau_k + \log f(x_i;\Theta)\right]$$

(ver https://en.wikipedia.org/wiki/Expectation%E2%80%93maximization_algorithm para el caso de GMM con $k=2$ pero funciona igual de bien con cualquier otra densidad $f(\dot;\Theta)$ et $K$ arbitraria).

Es fácil ver que cuando se tienen dos funciones $F, G$ entonces $$ \text{argmax}_{\Theta} (F(\Theta) + G(\Theta)) = \text{argmax}_{\Theta} F(\Theta) + \text{argmax}_{\Theta} G(\Theta)$$

para poder maximizar el $\tau$ y el $\Theta$ individualmente. Ahora queremos conseguir

$$\text{argmax}_{\tau} \sum_{k=1}^K \left(\underbrace{\sum_{i=1}^n T_{i,k}^{(\text{old})}}_{=: A_k} \right) \log(\tau_k)$$

con la condición de que $\sum_{k=1}^K \tau_k = 1$ et $0 < \tau_k < 1$ es decir, el hecho de que $\sum_k \tau_k = 1$ no sale por arte de magia, sino que la exigimos y la mantenemos durante toda la ejecución del algoritmo EM y tenemos que trabajar por ella.

Poner $f(\tau) = \sum_{k=1}^K A_k \log(\tau_k)$ . Ahora bien, la resolución de este problema es la aplicación adecuada para el teorema de Lagrange ( https://en.wikipedia.org/wiki/Lagrange_multiplier ), es decir, ponemos

$$g(\tau) = (\sum_{k=1}^K \tau_k) - 1$$

y ahora sabemos que cualquier maximalista $\tau$ debe ser un punto "crítico" de la llamada función de Lagrange

$$L(\tau, \lambda) = f(\tau) - \lambda g(\tau)$$

es decir, diferenciamos por cada $\tau_k$ y por $\lambda$ y todos ellos tienen que ser cero. Diferenciando por $\tau_k$ (y ponerlo a cero) da como resultado

$$0 = \partial_{\tau_k} L = \frac{A_k}{\tau_k} - \lambda$$ es decir $$\tau_k = -\frac{A_k}{\lambda}$$ diferenciando por $\lambda$ y al ponerlo a cero se obtiene la restricción (original) $$0 = \partial_{\lambda} L = g(\tau) = (\sum_{k=1}^K \tau_k) - 1$$

para que

$$ 1 = \sum_{k=1}^K \tau_k = -\sum_{k=1}^K \frac{A_k}{\lambda} = \frac{-\sum_{k=1}^K A_k}{\lambda}$$

así

$$\lambda = -\sum_{k=1}^K A_k$$

y

$$\tau_k = -\frac{A_k}{\lambda} = \frac{A_k}{\sum_{k'=1}^K A_{k'}}$$

Ahora es fácil ver que $\sum_{k} \tau_k = 1$ pero esto es no ¡¡¡una sorpresa!!! Hemos creado el $\tau_k$ de manera que esta ecuación debe ser satisfecha.

La respuesta larga se ha acortado:

No lo probamos, mantenemos esta propiedad en todo momento.

Saludos,

FW

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X