「機械学習/mixture model」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
#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アルゴリズムによるパラメータ推定
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にしたがうとします。
(categorical distributionはBernoulli 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の時です。
$$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}
}}}}}
平均と共分散、それぞれについて更新式を求めます。
微分についての詳しい説明は以下を参照してください。
See:[[http://en.wikipedia.org/wiki/Estimation_of_covariance_matrices]]
See:[[http://www.cs.berkeley.edu/~pliang/cs281a/recitation-0924.pdf]](PDF)
#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}
}}}}}
----
#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アルゴリズムによるパラメータ推定
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にしたがうとします。
(categorical distributionはBernoulli 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の時です。
$$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}
}}}}}
平均と共分散、それぞれについて更新式を求めます。
微分についての詳しい説明は以下を参照してください。
See:[[http://en.wikipedia.org/wiki/Estimation_of_covariance_matrices]]
See:[[http://www.cs.berkeley.edu/~pliang/cs281a/recitation-0924.pdf]](PDF)
#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}
}}}}}
----