Principiante aquí, disculpas si esto es algo muy simple. Estoy tratando de hacer un ascenso de gradiente para estimar las medias de una mezcla de modelo de Gauss. Estoy usando $(x-µ)/^3(2)^{(1/2)} * e^{-((x-µ)/)^2)/2}$ para la primera derivada de la distribución gaussiana. Mi pregunta aquí es, para el gradiente ascendente debo sumar la derivada de primer orden sobre todos los valores de $x$ (puntos de datos) para cada actualización?
Respuesta
¿Demasiados anuncios?Lo que la mayoría de la gente hace es trabajar en el $\log$ de la probabilidad. La probabilidad es multiplicativa entre los puntos de datos, por lo que la log-verosimilitud es aditiva. Maximizar una u otra es lo mismo. Formalmente, llamemos $L_i$ la probabilidad del número de punto $i$ .
$$\log(L)=\sum_i \log(L_i)$$
Para una mezcla de $d$ Gaussianos:
$$\log(L_i)=\log\left(\sum_{j=1}^d \lambda_j\frac{1}{\sqrt{2\pi\sigma_j^2}}e^{-(x_i-\mu_j)^2/2\sigma_j^2}\right)$$
Así que primero, toma la derivada de $\log(L_i)$ para cada parámetro desconocido: cada media $\mu_j$ (usted asume la varianza $\sigma_j^2$ y peso $\lambda_j$ son conocidos). A continuación, súmalo sobre todos los puntos de datos para obtener el gradiente global.
Tenga en cuenta que la mezcla gaussiana no suele resolverse con ascenso gradiente, sino con Expectación/Maximización, ya que la logverosimilitud no es convexa (al menos con todos los parámetros desconocidos, no sé si sólo se desconocen las medias). Sin embargo, he visto funciones no convexas maximizadas con éxito por el gradiente ascendente, por lo que puede ser interesante probar.