「機械学習/mixture model」の編集履歴(バックアップ)一覧に戻る

機械学習/mixture model - (2010/01/21 (木) 06:55:08) のソース

#contents(fromhere=true)

**この項の問題点
まだ書きかけ。

**概要

#math(){{{{{
\begin{eqnarray}
p(X=k , Y=y \mid \theta) &=& p(X=k \mid \theta) p(Y=y \mid X=k , \theta)
\end{eqnarray}
}}}}}

EMアルゴリズムの$$Q(\theta' \mid \theta)$$は以下の形。

#math(){{{{{
\begin{eqnarray}
Q(\theta' \mid \theta) &=& \sum_{t=1}^{T} \sum_{k=1}^{K} p(k \mid y_t , \theta) \log p(k, y_t \mid \theta')  \\
&=& \sum_{t=1}^{T} \sum_{k=1}^{K} p(k \mid y_t , \theta) \left( \log p(k | \theta') + \log p(y_t \mid k , \theta') \right) \\
&=& \sum_{t=1}^{T} \sum_{k=1}^{K} p(k \mid y_t , \theta) \log p(k \mid \theta') + \sum_{t=1}^{T} \sum_{k=1}^{K} p(k \mid y_t , \theta) \log p(y_t \mid k , \theta')  \\
\end{eqnarray}
}}}}}

$$p(k \mid \theta)$$はcategorical distributionにしたがう。
つまり$$p(k \mid \theta) = \pi_k$$とする。もちろん$$\sum_{k=1}^{K}\pi_k = \sum_{k=1}^{K}p(k \mid \theta) = 1$$である。

Lagrange multiplierを用いて最大化を行う。

#math(){{{{{
\begin{eqnarray}
&&\frac{\partial}{\partial {\pi'}_k} \left\{ Q(\theta' \mid \theta) + \lambda \left( \sum_{k'=1}^{K} \pi_{k'} - 1 \right) \right\} \\
&&= \frac{\partial Q(\theta' \mid \theta)}{\partial {\pi'}_k} + \lambda \\
&&= \frac{\partial}{\partial {\pi'}_k} \left\{ \sum_{t=1}^{T} \sum_{k'=1}^{K} p(k' \mid y_t , \theta) \log p(k' \mid \theta') \right\} + \lambda \\
&&= \frac{1}{{\pi'}_k} \sum_{t=1}^{T} p(k \mid y_t , \theta) + \lambda \\
&&= 0
\end{eqnarray}
}}}}}

$$\lambda$$を直接求めてもよいが、単純に$$\sum_{k=1}^{K} {\pi'}_k = 1$$となるように正規化すればよい。

#math(){{{{{
\begin{eqnarray}
&& {\pi'}_k \propto \sum_{t=1}^{T} p(k \mid y_t , \theta)
\end{eqnarray}
}}}}}

$$p(y \mid k , \theta)$$が多次元正規分布(multivariate normal distribution)の場合。
つまりGaussian mixtureの時。
See:[[http://en.wikipedia.org/wiki/Estimation_of_covariance_matrices]]
See:[[http://www.cs.berkeley.edu/~pliang/cs281a/recitation-0924.pdf]](PDF)

$$y$$はベクトルで表現する。$$\mu_k$$は平均のベクトル、$$\Sigma_k$$は共分散行列。

#math(){{{{{
\begin{eqnarray}
&& p(y \mid k , \theta) = {\cal N}(y \mid \mu_k , \Sigma_k) = \frac{1}{(2\pi)^{D/2} \mid \Sigma_k \mid ^{1/2}} \exp \left(- \frac{1}{2} (y-\mu_k)^{\rm T} \Sigma_k^{-1} (y-\mu_k) \right) \\
&& \log p(y \mid k , \theta) = -\frac{D}{2} \log(2\pi) -\frac{1}{2} \log \mid \Sigma_k \mid -\frac{1}{2} (y-\mu_k)^{\rm T} \Sigma_k^{-1} (y-\mu_k)
\end{eqnarray}
}}}}}

#math(){{{{{
\begin{eqnarray}
\frac{\partial \log p(y \mid k , \theta)}{\partial \mu_k} &=& \frac{\partial}{\partial \mu_k} \left\{ -\frac{1}{2} (y-\mu_k)^{\rm T} \Sigma_k^{-1} (y-\mu_k) \right\} \\
&=& (y-\mu_k)^{\rm T} \Sigma_k^{-1}
\end{eqnarray}
}}}}}

#math(){{{{{
\begin{eqnarray}
\frac{\partial Q(\theta' \mid \theta)}{\partial {\mu'}_k} &=& \frac{\partial}{\partial {\mu'}_k} \left\{ \sum_{t=1}^{T} \sum_{k'=1}^{K} p(k' \mid y_t , \theta) \log p(y_t \mid k' , \theta') \right\} \\
&=& \sum_{t=1}^{T} p(k \mid y_t , \theta) (y_t-{\mu'}_k)^{\rm T} \Sigma_k^{-1} \\
&=& 0
\end{eqnarray}
}}}}}

#math(){{{{{
\begin{eqnarray}
{\mu'}_k = \frac{\sum_{t=1}^{T} p(k \mid y_t , \theta) y_t}{\sum_{t=1}^{T} p(k \mid y_t , \theta)}
\end{eqnarray}
}}}}}

#math(){{{{{
\begin{eqnarray}
\frac{\partial \log p(y \mid k , \theta)}{\partial \Sigma_k^{-1}} &=& \frac{\partial}{\partial \Sigma_k^{-1}} \left\{ -\frac{1}{2} \log \mid \Sigma_k \mid -\frac{1}{2} (y-\mu_k)^{\rm T} \Sigma_k^{-1} (y-\mu_k) \right\} \\
&=& \frac{1}{2} \Sigma_k -\frac{1}{2} (y-\mu_k) (y-\mu_k)^{\rm T}
\end{eqnarray}
}}}}}

#math(){{{{{
\begin{eqnarray}
\frac{\partial Q(\theta' \mid \theta)}{\partial {\Sigma'}_k^{-1}} &=& \frac{\partial}{\partial {\Sigma'}_k^{-1}} \left\{ \sum_{t=1}^{T} \sum_{k'=1}^{K} p(k' \mid y_t , \theta) \log p(y_t \mid k' , \theta') \right\} \\
&=& \sum_{t=1}^{T} p(k \mid y_t , \theta) \left\{ \frac{1}{2} {\Sigma'}_k -\frac{1}{2} (y_t-{\mu'}_k) (y_t-{\mu'}_k)^{\rm T} \right\} \\
&=& 0
\end{eqnarray}
}}}}}

#math(){{{{{
\begin{eqnarray}
{\Sigma'}_k = \frac{\sum_{t=1}^{T} p(k \mid y_t , \theta)(y_t-{\mu'}_k) (y_t-{\mu'}_k)^{\rm T}}{\sum_{t=1}^{T} p(k \mid y_t , \theta)}
\end{eqnarray}
}}}}}


----