はじめに
NEC デジタルテクノロジー開発研究所 Advent Calendar 2023 12日目の記事です。
入社当時に計算した混合ガウス分布の計算について当時のノートを掘り起こして記事にします。
本掲載について
本記事ではクラスタリングアルゴリズムの一種である混合ガウス分布のMstepで用いられる対数尤度関数を最大化する平均${\boldsymbol \mu}_k$、分散共分散行列${\boldsymbol \Sigma}_k$、混合係数$\pi_k$が以下の式で与えられることを確認します。データ数をN、次元をD、クラスター数をKとします。
\begin{align}
{\boldsymbol \mu}_k &= \dfrac{1}{N_k}\sum_{n=1}^{N}r_{nk}{\boldsymbol x}_k\tag{1}\\
{\boldsymbol \Sigma}_k&=\dfrac{1}{N_k}\sum_{n=1}^{N}r_{nk}({\boldsymbol x}_n-{\boldsymbol \mu}_k)({\boldsymbol x}_n-{\boldsymbol \mu}_k)^T\tag{2}\\
\pi_k &=\dfrac{N_k }{N}\tag{3}
\end{align}
対数尤度関数Lと負担率$r_{nk}$は以下の式の形とします。
\begin{align}
L &= \sum_{n=1}^{N} \mathrm{ln}\Bigl(\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)\Bigr)\tag{4}\\
r_{nk} &= \dfrac{\pi_k {\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}{\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)}\tag{5}
\end{align}
(1)(2)(3)に出てくる$N_k$は各クラスターにあるデータ数の期待値で
N_k = \sum_{n=1}^{N}r_{nk}
また混合係数$\pi_k$についてkについて和を取ると
\sum_{n=1}^{N}\pi_k=1
となります。
平均の計算
対数尤度関数を最大にする平均${\boldsymbol \mu}_k$は
\begin{align}
\dfrac{\partial L}{\partial \boldsymbol{\mu}_k} =0\tag{6}
\end{align}
を満たします。左辺を具体的に計算すると
\begin{align}
\dfrac{\partial L}{\partial \boldsymbol{\mu}_k} &=\dfrac{\partial L}{\partial \boldsymbol{\mu}_k}\sum_{n=1}^{N} \mathrm{ln}\Bigl(\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)\Bigr)\\
&=\sum_{n=1}^{N}\dfrac{\dfrac{\partial L}{\partial \boldsymbol{\mu}_k} \sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)}{\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)}\\
&=\sum_{n=1}^{N}\dfrac{\pi_k \dfrac{\partial}{\partial \boldsymbol{\mu}_k}{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}{\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)}\tag{7}
\end{align}
となります。分子に注目すると
\begin{align}
\dfrac{\partial}{\partial \boldsymbol{\mu}_k}{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k) &= \dfrac{\partial}{\partial \boldsymbol{\mu}_k}\dfrac{\exp \Bigl(-{\tiny \dfrac{1}{2}}( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma_k}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k) \Bigr)}{\sqrt{(2\pi)^{K}|{\boldsymbol \Sigma}_k|}}\\
&= \dfrac{1}{\sqrt{(2\pi)^{K}|{\boldsymbol \Sigma}_k|}}\dfrac{\partial}{\partial \boldsymbol{\mu}_k}\exp \Bigl(-{\tiny \dfrac{1}{2}}( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma_k}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k) \Bigr)\\
&= -\dfrac{1}{2}\dfrac{\exp \Bigl(-{\tiny \dfrac{1}{2}}( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma_k}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k) \Bigr)}{\sqrt{(2\pi)^{K}|{\boldsymbol \Sigma}_k|}}\dfrac{\partial}{\partial \boldsymbol{\mu}_k} \Bigl(( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma_k}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k) \Bigr)\\
&= -\dfrac{1}{2}{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)\dfrac{\partial}{\partial \boldsymbol{\mu}_k}\Bigl(( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma_k}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k) \Bigr)\\
ここの計算は長いので{\mathrm {Appendix}.1}に書きます。\\
&= -\dfrac{1}{2}{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)(-2{\boldsymbol \Sigma_k}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k))\\
&= {\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k){\boldsymbol \Sigma_k}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)\tag{8}
\end{align}
(7)(8)より
\begin{align}
\dfrac{\partial L}{\partial \boldsymbol{\mu}_k}&=\sum_{n=1}^{N}\dfrac{\pi_k \dfrac{\partial}{\partial \boldsymbol{\mu}_k}{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}{\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)}\\
&=\sum_{n=1}^{N}\dfrac{\pi_k {\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k){\boldsymbol \Sigma_k}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)}{\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)}\\
&={\boldsymbol \Sigma_k}^{-1}\sum_{n=1}^{N}r_{nk}({\boldsymbol x}_n-{\boldsymbol \mu}_k)\tag{9}
\end{align}
途中で負担率の式(5)を用いた。
(6)(9)より
\begin{align}
{\boldsymbol \Sigma_k}^{-1}\sum_{n=1}^{N}r_{nk}({\boldsymbol x}_n-{\boldsymbol \mu}_k)=0
\end{align}
左から${\boldsymbol \Sigma_k}$をかけて
\begin{align}
\sum_{n=1}^{N}r_{nk}({\boldsymbol x}_n-{\boldsymbol \mu}_k)=0
\end{align}
\begin{align}
\sum_{n=1}^{N}r_{nk}({\boldsymbol x}_n-{\boldsymbol \mu}_k)&=\sum_{n=1}^{N}r_{nk}{\boldsymbol x}_k-{\boldsymbol \mu}_k\sum_{n=1}^{N}r_{nk}\\
&=0
\end{align}
\begin{align}
{\boldsymbol \mu}_k = \dfrac{\sum_{n=1}^{N}r_{nk}{\boldsymbol x}_k}{\sum_{n=1}^{N}r_{nk}}
= \dfrac{1}{N_k}\sum_{n=1}^{N}r_{nk}{\boldsymbol x}_k
\end{align}
となり平均の式の形(1)を得る。
分散共分散行列
対数尤度関数を最大化する${\boldsymbol \Sigma}_k $は${\boldsymbol \mu}_k $と同様に
\begin{align}
\dfrac{\partial L}{\partial {\boldsymbol \Sigma}_k} =0\tag{10}
\end{align}
を満たします。左辺を具体的に計算すると
\begin{align}
\dfrac{\partial L}{\partial \boldsymbol{\Sigma}_k} &=\dfrac{\partial L}{\partial \boldsymbol{\Sigma}_k}\sum_{n=1}^{N} \mathrm{ln}\Bigl(\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)\Bigr)\\
&=\sum_{n=1}^{N}\dfrac{\dfrac{\partial L}{\partial \boldsymbol{\Sigma}_k} \sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)}{\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)}\\
&=\sum_{n=1}^{N}\dfrac{\pi_k \dfrac{\partial}{\partial \boldsymbol{\Sigma}_k}{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}{\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)}\tag{11}
\end{align}
分子に注目して
\begin{align}
\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k}{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k) &=\dfrac{{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}{{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k}{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k) \\
&={\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)\dfrac{ {{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}^{'}}{{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)} \\
&={\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k}\mathrm{ln}({{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}) \\
&={{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k}\mathrm{ln} \Bigl(\dfrac{\exp (-{\tiny{\dfrac{1}{2}}}( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k) )}{\sqrt{(2\pi)^{K}|{\boldsymbol \Sigma}_k|}}\Bigr)\\
&={{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k} \Bigl({\mathrm {ln}}\exp\Bigl(-{\tiny{\dfrac{1}{2}}}( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k) \Bigr)-{\mathrm {ln}}(\sqrt{\tiny{(2\pi)^{K}|{\boldsymbol \Sigma}_k|}})\Bigr)\\
&={{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k} \Bigl(-{\tiny{\dfrac{1}{2}}}( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k) )-{\mathrm {ln}}(\sqrt{\tiny{(2\pi)^{K}|{\boldsymbol \Sigma}_k|}})\Bigr)\\
&={{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k} \Bigl(-{\tiny{\dfrac{1}{2}}}( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k) )-{\tiny\dfrac{1}{2}}{\mathrm {ln}}({(2\pi)^{K}|{\boldsymbol \Sigma}_k|})\Bigr)\\
&=-\dfrac{1}{2}{{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k} \Bigl(( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k) )+{\mathrm {ln}}({(2\pi)^{K}|{\boldsymbol \Sigma}_k|})\Bigr)\\
&=-\dfrac{1}{2}{{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}\Bigl(\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k}\Bigl( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)\Bigr)+\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k}\Bigl({\mathrm {ln}}({(2\pi)^{K}|{\boldsymbol \Sigma}_k|})\Bigr)\Bigr)\\
&=-\dfrac{1}{2}{{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}\Bigl(\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k}\Bigl( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)\Bigr)+\dfrac{\partial }{\partial \boldsymbol{\Sigma}_k}\Bigl({\mathrm {ln}}({(2\pi)^{K}|{\boldsymbol \Sigma}_k|})\Bigr)\Bigr)\\
&=-\dfrac{1}{2}{{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}\Bigl(\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k}\Bigl( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)\Bigr)+\dfrac{\partial }{\partial \boldsymbol{\Sigma}_k}\Bigl({\mathrm {ln}}({(2\pi)^{K}})+{\mathrm {ln}}(|{\boldsymbol \Sigma}_k|)\Bigr)\Bigr)\\
&=-\dfrac{1}{2}{{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}\Bigl(\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k}\Bigl( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)\Bigr)+\dfrac{\partial }{\partial \boldsymbol{\Sigma}_k}\Bigl({\mathrm {ln}}(|{\boldsymbol \Sigma}_k|)\Bigr)\Bigr)\\
&=-\dfrac{1}{2}{{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}\Bigl(\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k}\Bigl( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)\Bigr)+\dfrac{1}{|{\boldsymbol \Sigma}_k|}\dfrac{\partial |{\boldsymbol \Sigma}_k|}{\partial \boldsymbol{\Sigma}_k}\Bigr)\\
&ここの計算は長いので\mathrm {Appendix2}、\mathrm {Appendix3}で説明します。\\
&=-\dfrac{1}{2}{{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}(-{\boldsymbol \Sigma}_k^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)({\boldsymbol x}_n-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}_k^{-1}+({\boldsymbol \Sigma}_k^{T})^{-1})\tag{12}
\end{align}
(11)(12)から
\begin{align}
\dfrac{\partial L}{\partial \boldsymbol{\Sigma}_k} &=\sum_{n=1}^{N}\dfrac{\pi_k {\tiny \dfrac{\partial}{\partial \boldsymbol{\Sigma}_k}}{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}{\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)}\\
&=-\dfrac{1}{2}\sum_{n=1}^{N}\dfrac{\pi_k{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}{\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)}(-{\boldsymbol \Sigma}_k^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)({\boldsymbol x}_n-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}_k^{-1}+({\boldsymbol \Sigma}_k^{T})^{-1})\\
&=-\dfrac{1}{2}\sum_{n=1}^{N}r_{nk}(-{\boldsymbol \Sigma}_k^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)({\boldsymbol x}_n-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}_k^{-1}+({\boldsymbol \Sigma}_k^{T})^{-1})\\
&=-\dfrac{1}{2}\sum_{n=1}^{N}r_{nk}(-{\boldsymbol \Sigma}_k^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)({\boldsymbol x}_n-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}_k^{-1}+{\boldsymbol \Sigma}_k^{-1})\\
&=-\dfrac{1}{2}{\boldsymbol \Sigma}_k^{-1}\sum_{n=1}^{N}r_{nk}(-({\boldsymbol x}_n-{\boldsymbol \mu}_k)({\boldsymbol x}_n-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}_k^{-1}+{\boldsymbol I})\tag{13}
\end{align}
(13)について-2倍して左右から${\boldsymbol \Sigma}_k$をかけて
\begin{align}
\sum_{n=1}^{N}r_{nk}(-({\boldsymbol x}_n-{\boldsymbol \mu}_k)({\boldsymbol x}_n-{\boldsymbol \mu}_k)^T+{\boldsymbol \Sigma}_k)=0
\end{align}
となる。
これを満たす${\boldsymbol \Sigma}_k$が大数尤度関数を最大にする${\boldsymbol \Sigma}_k$である。変形して
\begin{align}
\sum_{n=1}^{N}r_{nk}{\boldsymbol \Sigma}_k&=\sum_{n=1}^{N}r_{nk}({\boldsymbol x}_n-{\boldsymbol \mu}_k)({\boldsymbol x}_n-{\boldsymbol \mu}_k)^T\\
{\boldsymbol \Sigma}_k\sum_{n=1}^{N}r_{nk}&=\sum_{n=1}^{N}r_{nk}({\boldsymbol x}_n-{\boldsymbol \mu}_k)({\boldsymbol x}_n-{\boldsymbol \mu}_k)^T\\
\sum_{n=1}^{N}r_{nk}&=N_kであるから\\
{\boldsymbol \Sigma}_kN_k&=\sum_{n=1}^{N}r_{nk}({\boldsymbol x}_n-{\boldsymbol \mu}_k)({\boldsymbol x}_n-{\boldsymbol \mu}_k)^T
\end{align}
よって
\begin{align}
{\boldsymbol \Sigma}_k&=\dfrac{1}{N_k}\sum_{n=1}^{N}r_{nk}({\boldsymbol x}_n-{\boldsymbol \mu}_k)({\boldsymbol x}_n-{\boldsymbol \mu}_k)^T
\end{align}
(2)を得ます。
混合係数
対数尤度関数Lを最大化する${\pi}_k$を求めます。
\sum_{n=1}^{N}\pi_k=1
なのでラグランジュの未定乗数を$\lambda$として
\begin{align}
G = L + \lambda\Bigl(\sum_{k=1}^{K}\pi_k-1\Bigr)
\end{align}
両辺を$\pi_k$で微分して
\begin{align}
\dfrac{\partial }{\partial \pi_k} G &=\dfrac{\partial }{\partial \pi_k} L + \dfrac{\partial }{\partial \pi_k}\lambda\Bigl(\sum_{k=1}^{K}\pi_k-1\Bigr)\\
&=\dfrac{\partial }{\partial \pi_k} L + \dfrac{\partial }{\partial \pi_k}\lambda\Bigl(\sum_{k=1}^{K}\pi_k-1\Bigr)\\
&=\dfrac{\partial }{\partial \pi_k} \sum_{n=1}^{N} \mathrm{ln}\Bigl(\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)\Bigr) + \dfrac{\partial }{\partial \pi_k}\lambda\Bigl(\sum_{k=1}^{K}\pi_k-1\Bigr)\\
&= \sum_{n=1}^{N}\dfrac{{\tiny{\dfrac{\partial L}{\partial \pi_k}}}\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)}{\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)} + \lambda\\
&分子の{\tiny{\dfrac{\partial L}{\partial \pi_k}}}\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)について展開して微分すると残る項は\\
&{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)だけなので\\
&=\sum_{n=1}^{N}\dfrac{{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}{\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)} + \lambda\\
&=\dfrac{\pi_k}{\pi_k}\sum_{n=1}^{N}\dfrac{{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_k,{\boldsymbol \Sigma}_k)}{\sum_{j=1}^{K}\pi_j{\mathcal{N}}({\boldsymbol x}_n|{\boldsymbol \mu}_j,{\boldsymbol \Sigma}_j)} + \lambda\\
&r_{nk}の更新式(5)より\\
&=\dfrac{1}{\pi_k}\sum_{n=1}^{N}r_{nk} + \lambda\\
&=\dfrac{N_k}{\pi_k} + \lambda
\end{align}
Lが最大のとき
\begin{align}
\dfrac{N_k}{\pi_k} + \lambda=0\\
N_k+ \lambda\pi_k =0\tag{14}
\end{align}
クラスターで総和を取れば
\begin{align}
\sum_{k=1}^{K}\dfrac{N_k}{\pi_k} + \sum_{k=1}^{K}\lambda=0\\
\sum_{k=1}^{K}N_k + \lambda\sum_{k=1}^{K}\pi_k=0\\
N + \lambda =0\\
\lambda =-N\tag{15}
\end{align}
(14)(15)から
\pi_k =\dfrac{N_k }{N}
と(3)を得る。
結び
師走に書いた記事ということもありいくつかtypoがあると思います。見つけた場合はコメントで教えていただけると幸いです。
Appendix1
本節では$\dfrac{\partial}{\partial \boldsymbol{\mu}_k}\Bigl(( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k) \Bigr)$の計算を行う。そのための準備として
まず${\boldsymbol \Sigma}_k$を
\begin{align}
{\boldsymbol \Sigma}_k=\begin{pmatrix}
\sigma_{11} & \cdots & \sigma_{1i} & \cdots & \sigma_{1D}\\
\vdots & \ddots & & & \vdots \\
\sigma_{i1} & & \sigma_{ii} & & \sigma_{iD} \\
\vdots & & & \ddots & \vdots \\
\sigma_{D1} & \cdots & \sigma_{Di} & \cdots & \sigma_{DD}
\end{pmatrix}
\end{align}
とする。
${\boldsymbol \Sigma}_k^{-1}$は
\begin{align}
{\boldsymbol \Sigma}_k^{-1}=\begin{pmatrix}
\overline\sigma_{11} & \cdots & \overline\sigma_{1i} & \cdots & \overline\sigma_{1D}\\
\vdots & \ddots & & & \vdots \\
\overline\sigma_{i1} & & \overline\sigma_{ii} & & \overline\sigma_{iD} \\
\vdots & & & \ddots & \vdots \\
\overline\sigma_{D1} & \cdots & \overline\sigma_{Di} & \cdots & \overline\sigma_{DD}
\end{pmatrix}
\end{align}
となる。$( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1}$を具体的に書くと
\begin{align}
( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1} = \Bigl(\sum_{i=1}^{D}\overline\sigma_{i1}(x_{ni}-\mu_{ki}),\cdots,\sum_{i=1}^{D}\overline\sigma_{iD}(x_{ni}-\mu_{ki})
\Bigr)
\end{align}
\begin{align}
( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1}( {\boldsymbol x}_k-{\boldsymbol \mu}_k) = \sum_{i=1}^{D}\sum_{j=1}^{D}\overline\sigma_{ij}(x_{ni}-\mu_{ki})(x_{nj}-\mu_{kj})
\end{align}
ここで計算の説明のため一度$f =( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)$とする。
\begin{align}
\dfrac{\partial}{\partial \boldsymbol{\mu}_k}\Bigl(( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k) \Bigr) = \Bigl(\dfrac{\partial f}{\partial \mu_{k1}},\cdots,\dfrac{\partial f}{\partial \mu_{kl}},\cdots,\dfrac{\partial f}{\partial \mu_{kD}}\Bigr)
\end{align}
\begin{align}
\dfrac{\partial f}{\partial \mu_{kl}} &= \dfrac{\partial }{\partial \mu_{kl}}\Bigl(\sum_{i=1}^{D}\sum_{j=1}^{D}\overline\sigma_{ij}(x_{ni}-\mu_{ki})(x_{nj}-\mu_{kj})\Bigr)\\
&= \sum_{i=1}^{D}\sum_{j=1}^{D}\overline\sigma_{ij}(x_{ni}-\mu_{ki})\dfrac{\partial }{\partial \mu_{kl}}(x_{nj}-\mu_{kj})+\sum_{i=1}^{D}\sum_{j=1}^{D}\overline\sigma_{ij}(x_{nj}-\mu_{kj})\dfrac{\partial }{\partial \mu_{kl}}(x_{ni}-\mu_{ki})\\
&= \sum_{i=1}^{D}\overline\sigma_{il}(x_{ni}-\mu_{ki})\dfrac{\partial }{\partial \mu_{kl}}(x_{nl}-\mu_{kl})+\sum_{j=1}^{D}\overline\sigma_{lj}(x_{nj}-\mu_{kj})\dfrac{\partial }{\partial \mu_{kl}}(x_{nl}-\mu_{kl})\\
&= -\sum_{i=1}^{D}\overline\sigma_{il}(x_{ni}-\mu_{ki})-\sum_{j=1}^{D}\overline\sigma_{lj}(x_{nj}-\mu_{kj})\\
&分散共分散行列は対称行列で\overline\sigma_{il}=\overline\sigma_{li}より\\
&= -\sum_{i=1}^{D}\overline\sigma_{il}(x_{ni}-\mu_{ki})-\sum_{j=1}^{D}\overline\sigma_{jl}(x_{nj}-\mu_{kj})\\
&= -2\sum_{i=1}^{D}\overline\sigma_{il}(x_{ni}-\mu_{ki})
\end{align}
よって
\begin{align}
\dfrac{\partial}{\partial \boldsymbol{\mu}_k}\Bigl(( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k) \Bigr) &= \Bigl(\dfrac{\partial f}{\partial \mu_{k1}},\cdots,\dfrac{\partial f}{\partial \mu_{kl}},\cdots,\dfrac{\partial f}{\partial \mu_{kD}}\Bigr)\\
&= \Bigl(-2\sum_{i=1}^{D}\overline\sigma_{i1}(x_{ni}-\mu_{ki}),\cdots,-2\sum_{i=1}^{D}\overline\sigma_{iD}(x_{ni}-\mu_{ki})\Bigr)\\
&=-2{\boldsymbol \Sigma}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)
\end{align}
Appendix2
右辺第二項の計算
Appendix1と同様に${\boldsymbol \Sigma}_k$を
\begin{align}
{\boldsymbol \Sigma}_k=\begin{pmatrix}
\sigma_{11} & \cdots & \sigma_{1i} & \cdots & \sigma_{1D}\\
\vdots & \ddots & & & \vdots \\
\sigma_{i1} & & \sigma_{ii} & & \sigma_{iD} \\
\vdots & & & \ddots & \vdots \\
\sigma_{D1} & \cdots & \sigma_{Di} & \cdots & \sigma_{DD}
\end{pmatrix}
\end{align}
とする。
行列式$|{\boldsymbol \Sigma}_k|$の${\boldsymbol \Sigma}_k$による微分は
\begin{align}
\dfrac{\partial |{\boldsymbol \Sigma}_k|}{\partial {\boldsymbol \Sigma}_k}=\begin{pmatrix}
\dfrac{\partial |{\boldsymbol \Sigma}_k|}{\partial \overline\sigma_{11}} & \cdots & \dfrac{\partial |{\boldsymbol \Sigma}_k|}{\partial\overline\sigma_{1i}} & \cdots & \dfrac{\partial |{\boldsymbol \Sigma}_k|}{\partial\overline\sigma_{1D}}\\
\vdots & \ddots & & & \vdots \\
\dfrac{\partial |{\boldsymbol \Sigma}_k|}{\partial\overline\sigma_{i1}} & & \dfrac{\partial |{\boldsymbol \Sigma}_k|}{\partial\overline\sigma_{ii}} & & \dfrac{\partial |{\boldsymbol \Sigma}_k|}{\partial\overline\sigma_{iD}} \\
\vdots & & & \ddots & \vdots \\
\dfrac{\partial |{\boldsymbol \Sigma}_k|}{\partial\overline\sigma_{D1}} & \cdots & \dfrac{\partial |{\boldsymbol \Sigma}_k|}{\partial\overline\sigma_{Di}} & \cdots & \dfrac{\partial |{\boldsymbol \Sigma}_k|}{\partial\overline\sigma_{DD}}\tag{16}
\end{pmatrix}
\end{align}
となる。
${\boldsymbol \Sigma}k$の(i,j)成分における余因子を${\boldsymbol \Sigma}{k,ij}$として
\begin{align}
\dfrac{\partial |{\boldsymbol \Sigma}_k|}{\partial {\boldsymbol \Sigma}_k}=
\begin{pmatrix}
{\boldsymbol \Sigma}_{k,11} & \cdots & {\boldsymbol \Sigma}_{k,i1} & \cdots & {\boldsymbol \Sigma}_{k,D1}\\
\vdots & \ddots & & & \vdots \\
{\boldsymbol \Sigma}_{k,i1} & & {\boldsymbol \Sigma}_{k,ii} & & {\boldsymbol \Sigma}_{k,Di} \\
\vdots & & & \ddots & \vdots \\
{\boldsymbol \Sigma}_{k,D1} & \cdots & {\boldsymbol \Sigma}_{k,Di} & \cdots & {\boldsymbol \Sigma}_{k,DD}\tag{17}
\end{pmatrix}
\end{align}
${\boldsymbol \Sigma}_k$の因子行列を$\tilde{{\boldsymbol \Sigma}}_k$とすると余因子行列の定義から
\begin{align}
\tilde{{\boldsymbol \Sigma}}_k=\begin{pmatrix}
{\boldsymbol \Sigma}_{k,11} & \cdots & {\boldsymbol \Sigma}_{k,1i} & \cdots & {\boldsymbol \Sigma}_{k,1D}\\
\vdots & \ddots & & & \vdots \\
{\boldsymbol \Sigma}_{k,1i} & & {\boldsymbol \Sigma}_{k,ii} & & {\boldsymbol \Sigma}_{k,iD} \\
\vdots & & & \ddots & \vdots \\
{\boldsymbol \Sigma}_{k,1D} & \cdots & {\boldsymbol \Sigma}_{k,iD} & \cdots & {\boldsymbol \Sigma}_{k,DD}
\end{pmatrix}
\end{align}
であるから(17)は余因子行列の転置行列を用いて
\begin{align}
\dfrac{\partial |{\boldsymbol \Sigma}_k|}{\partial {\boldsymbol \Sigma}_k}={\tilde{{\boldsymbol \Sigma}}_k}^{T}
\end{align}
逆行列は余因子行列と行列式を用いて
\begin{align}
{\boldsymbol \Sigma}_k^{-1}=\dfrac{\tilde{{\boldsymbol \Sigma}}_k}{|{\boldsymbol \Sigma}_k|}
\end{align}
で表されるので
\begin{align}
\dfrac{\partial |{\boldsymbol \Sigma}_k|}{\partial {\boldsymbol \Sigma}_k}&=(|{\boldsymbol \Sigma}_k|{\boldsymbol \Sigma}_k^{-1})^{T}\\
&=|{\boldsymbol \Sigma}_k|({\boldsymbol \Sigma}_k^{-1})^{T}
\end{align}
と書ける。
Appendix3
右辺第1項の計算
\begin{align}
\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k}\Bigl(( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma_k}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)\Bigr)\\
\end{align}
二次形式と行列のトレースから
\begin{align}
{\boldsymbol x}^{T}A{\boldsymbol x}={\mathrm {Tr}}(A{\boldsymbol x}{\boldsymbol x}^{T})
\end{align}
であるから
\begin{align}
( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma_k}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)&={\mathrm {Tr}}({\boldsymbol \Sigma_k}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)({\boldsymbol x}_n-{\boldsymbol \mu}_k)^{T})\\
\end{align}
と変形できる。
よって
\begin{align}
\dfrac{\partial}{\partial A}{\mathrm {Tr}}(A^{-1}B) = -(A^{-1}BA^{-1})^{T}
\end{align}
\begin{align}
\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k}\Bigl(( {\boldsymbol x}_k-{\boldsymbol \mu}_k)^T{\boldsymbol \Sigma_k}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)\Bigr)&=\dfrac{\partial}{\partial \boldsymbol{\Sigma}_k}\Bigl({\mathrm {Tr}}({\boldsymbol \Sigma_k}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)({\boldsymbol x}_n-{\boldsymbol \mu}_k)^{T})\Bigr)\\
&=-({\boldsymbol \Sigma_k}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)({\boldsymbol x}_n-{\boldsymbol \mu}_k)^{T}{\boldsymbol \Sigma_k}^{-1})^{T}\\
&=-({\boldsymbol \Sigma_k}^{-1}({\boldsymbol x}_n-{\boldsymbol \mu}_k)({\boldsymbol x}_n-{\boldsymbol \mu}_k)^{T}{\boldsymbol \Sigma_k}^{-1})
\end{align}