最尤推定法による多次元正規分布へのフィッティング

確率・統計
Sponsored

1次元の場合と同様に、対数尤度関数の微分を \(0\) とおくことで、多次元正規分布(多次元ガウス分布)にデータをフィットさせる。

最尤推定法による正規分布へのフィッティング
観測された複数のデータがとある分布に基づいていると仮定して、その分布の形状を決定するパラメータを求める際、最尤推定法という手法がよく用いられる。この記事では、観測された結果が正規分布に従うと仮定した際に、最尤推定法を用いて平均 \(\mu\...

定義

多次元正規分布

$$\mathcal{N}({\bf x}|{\boldsymbol \mu},{\boldsymbol \Sigma}) \equiv \frac{|{\boldsymbol \Sigma}|^{-\frac{1}{2}}}{(2\pi)^\frac{M}{2}}\exp\left\{-\frac{1}{2}({\bf x}-{\boldsymbol \mu})^T{\boldsymbol \Sigma}^{-1}({\bf x}-{\boldsymbol \mu})\right\} \tag{1}$$

導出

観測結果 \(\mathcal{D}={{\bf x}^{(1)},{\bf x}^{(2)},\cdots,{\bf x}^{(N)}}\) が与えられたとき、尤度関数は

$$p(\mathcal{D}|{\boldsymbol \theta}) \equiv \prod_{i=1}^{N}p({\bf x}^{(i)}|{\boldsymbol \theta})$$

で与えられる。両辺の対数を取ったものを対数尤度関数 \(L({\boldsymbol \theta}|\mathcal{D})\) とおくと、

$$L({\boldsymbol \theta}|\mathcal{D})\equiv\ln{p(\mathcal{D}|{\boldsymbol \theta})}=\sum_{i=1}^{N}\ln{p({\bf x}^{(i)}|{\boldsymbol \theta})}$$

である。ここで、データが従う確率を多次元正規分布と仮定し、

$$p({\bf x}^{(i)}|{\boldsymbol \theta})\simeq p({\bf x}^{(i)}|{\boldsymbol \mu},{\boldsymbol \Sigma})$$

とおいて式 \((1)\) とともに代入すると、

$$L({\boldsymbol \theta}|\mathcal{D})=\sum_{i=1}^{N}\ln{p({\bf x}^{(i)}|{\boldsymbol \mu},{\boldsymbol \Sigma})}$$

$$=\sum_{i=1}^{N}\left\{-\frac{M}{2}\ln{(2\pi)}+\frac{1}{2}\ln{|{\boldsymbol \Sigma}^{-1}|}-\frac{1}{2}({\bf x}^{(i)}-{\boldsymbol \mu})^T{\boldsymbol \Sigma}^{-1}({\bf x}^{(i)}-{\boldsymbol \mu})\right\}$$

$$=-\frac{MN}{2}\ln{(2\pi)}+\frac{N}{2}\ln{|{\boldsymbol \Sigma}^{-1}|}-\frac{1}{2}\sum_{i=1}^{N}({\bf x}^{(i)}-{\boldsymbol \mu})^T{\boldsymbol \Sigma}^{-1}({\bf x}^{(i)}-{\boldsymbol \mu})\tag{2}$$

を得る。

\({\boldsymbol \mu}\) に関する微分を \(0\) とおくと、

$$\frac{\partial L({\boldsymbol \theta}|\mathcal{D})}{\partial {\boldsymbol \mu}}=-\frac{1}{2}\sum_{i=1}^{N}{\boldsymbol \Sigma}^{-1}({\bf x}^{(i)}-{\boldsymbol \mu})=0$$"

すなわち、

$$-\frac{1}{2}{\boldsymbol \Sigma}^{-1}\sum_{i=1}^{N}({\bf x}^{(i)}-{\boldsymbol \mu})=0$$

$$\sum_{i=1}^{N}({\bf x}^{(i)}-{\boldsymbol \mu})=0$$

$$\sum_{i=1}^{N}{\bf x}^{(i)}=\sum_{i=1}^{N}{\boldsymbol \mu}$$

$$\sum_{i=1}^{N}{\bf x}^{(i)}=N{\boldsymbol \mu}$$

$${\boldsymbol \mu}=\frac{1}{N}\sum_{i=1}^{N}{\bf x}^{(i)}\tag{3}$$

を得る。

\({\boldsymbol \Sigma}\) に関しては、少々技巧的な処理が必要となる。ここでは、 \({\boldsymbol \Sigma}\) ではなく \({\boldsymbol \Sigma}^{-1}\) についての微分を考える。

まず、式 \((2)\) の第1項は \({\boldsymbol \Sigma}^{-1}\) に依存しない。第2項の微分は、

$$\frac{N}{2}\frac{\partial}{\partial {\boldsymbol \Sigma}^{-1}}\ln{|{\boldsymbol \Sigma}^{-1}|}=\frac{N}{2}{\boldsymbol \Sigma}^T=\frac{N}{2}{\boldsymbol \Sigma}\tag{(4)}$$

となる。ここで、共分散行列が対象行列であること( \({\boldsymbol \Sigma}^T={\boldsymbol \Sigma}\) )と、公式

$$\frac{\partial}{\partial {\boldsymbol A}}\ln{|{\boldsymbol A}|}=({\boldsymbol A}^{-1})^T$$

を用いた。この公式の証明については

行列式を変数・行列で微分・対数微分する方法と、その証明
多次元正規分布の最尤推定など、行列の最適化を行う際、行列式の微分を計算する必要があります。この記事では、行列式や行列式の対数を①変数で微分する方法と、②行列で微分する方法について解説します。また、機械学習分野の著名な書籍であるPRMLで、このテーマを扱っている部分の練習問題についても解答を掲載しています。

を参照。

第3項の微分を行う前に、 \(({\bf x}^{(i)}-{\boldsymbol \mu})^T{\boldsymbol \Sigma}^{-1}({\bf x}^{(i)}-{\boldsymbol \mu})\) は1次元(ベクトルでも行列でもない)なので、トレースを取っても良いことに注意する。したがって、

$$-\frac{1}{2}\sum_{i=1}^{N}({\bf x}^{(i)}-{\boldsymbol \mu})^T{\boldsymbol \Sigma}^{-1}({\bf x}^{(i)}-{\boldsymbol \mu})=-\frac{1}{2}\sum_{i=1}^{N}\mathrm{Tr}\left[({\bf x}^{(i)}-{\boldsymbol \mu})^T{\boldsymbol \Sigma}^{-1}({\bf x}^{(i)}-{\boldsymbol \mu})\right]$$

$$=-\frac{1}{2}\sum_{i=1}^{N}\mathrm{Tr}\left[{\boldsymbol \Sigma}^{-1}({\bf x}^{(i)}-{\boldsymbol \mu})({\bf x}^{(i)}-{\boldsymbol \mu})^T\right]$$

を得る。ここで、トレースについての循環公式

$$\mathrm{Tr}({\boldsymbol A}{\boldsymbol B}{\boldsymbol C})=\mathrm{Tr}({\boldsymbol B}{\boldsymbol C}{\boldsymbol A})=\mathrm{Tr}({\boldsymbol C}{\boldsymbol A}{\boldsymbol B})$$

を用いた。これを \({\boldsymbol \Sigma}^{-1}\) について微分すると

$$-\frac{1}{2}\frac{\partial}{\partial {\boldsymbol \Sigma}^{-1}}\sum_{i=1}^{N}\mathrm{Tr}\left[{\boldsymbol \Sigma}^{-1}({\bf x}^{(i)}-{\boldsymbol \mu})({\bf x}^{(i)}-{\boldsymbol \mu})^T\right]=-\frac{1}{2}\sum_{i=1}^{N}\{({\bf x}^{(i)}-{\boldsymbol \mu})({\bf x}^{(i)}-{\boldsymbol \mu})^T\}^T$$

$$=-\frac{1}{2}\sum_{i=1}^{N}({\bf x}^{(i)}-{\boldsymbol \mu})({\bf x}^{(i)}-{\boldsymbol \mu})^T\tag{(5)}$$

となる。ここで、行列の転置に関する関係式

$$({\boldsymbol A}{\boldsymbol B})^T={\boldsymbol B}^T{\boldsymbol A}^T$$

と、トレースの微分公式

$$\frac{\partial}{\partial {\boldsymbol A}}\mathrm{Tr}({\boldsymbol A}{\boldsymbol B})={\boldsymbol B}^T$$

を用いた。この公式は、各要素を書き下すことによって証明できる。

式 \((4), (5)\) の結果より、対数尤度関数の微分を \(0\) と置いて

$$\frac{\partial L({\boldsymbol \theta}|\mathcal{D})}{\partial {\boldsymbol \Sigma}^{-1}}=\frac{N}{2}{\boldsymbol \Sigma}-\frac{1}{2}\sum_{i=1}^{N}({\bf x}^{(i)}-{\boldsymbol \mu})({\bf x}^{(i)}-{\boldsymbol \mu})^T=0$$

すなわち

$${\boldsymbol \Sigma}=\frac{1}{N}\sum_{i=1}^{N}({\bf x}^{(i)}-{\boldsymbol \mu})({\bf x}^{(i)}-{\boldsymbol \mu})^T$$

を得る。

まとめ

\(M\) 次元の観測結果 \(\mathcal{D}={{\bf x}^{(1)},{\bf x}^{(2)},\cdots,{\bf x}^{(N)}}\) を、 \(M\) 次元正規分布にフィッティングした場合、最尤推定により

$$\mathcal{N}({\bf x}|\hat{\boldsymbol \mu},\hat{\boldsymbol \Sigma})$$

を得る。ただし

$$\hat{\boldsymbol \mu}=\frac{1}{N}\sum_{i=1}^{N}{\bf x}^{(i)}$$

$$\hat{\boldsymbol \Sigma}=\frac{1}{N}\sum_{i=1}^{N}({\bf x}^{(i)}-\hat{\boldsymbol \mu})({\bf x}^{(i)}-\hat{\boldsymbol \mu})^T$$

Comments