$l=\log |\Sigma|+\frac{1}{N} \sum\limits_{i=1}^{N}\left(\boldsymbol{x}{i}-\overline{\boldsymbol{x}}\right)^{T} \Sigma^{-1}\left(\boldsymbol{x}{i}-\overline{\boldsymbol{x}}\right)$ 这个式子怎么推导出来的
时间: 2023-07-17 16:53:44 浏览: 123
这个式子是高斯分布的最大似然估计的对数似然函数。我们可以通过以下步骤来推导它:
首先,我们假设样本点 $\{\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_N\}$ 是从一个均值为 $\boldsymbol{\mu}$,协方差矩阵为 $\Sigma$ 的高斯分布中独立地抽取得到的。那么它们的联合概率密度函数为:
$$
p(\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_N)=\prod_{i=1}^{N}p(\boldsymbol{x}_i)=\frac{1}{(2\pi)^{d/2}|\Sigma|^{1/2}}\exp\left(-\frac{1}{2}(\boldsymbol{x}_i-\boldsymbol{\mu})^T\Sigma^{-1}(\boldsymbol{x}_i-\boldsymbol{\mu})\right)
$$
其中,$d$ 是样本点的维度,$|\Sigma|$ 是协方差矩阵的行列式。将上式取对数得到:
$$
\log p(\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_N)=-\frac{Nd}{2}\log(2\pi)-\frac{N}{2}\log|\Sigma|-\frac{1}{2}\sum_{i=1}^{N}(\boldsymbol{x}_i-\boldsymbol{\mu})^T\Sigma^{-1}(\boldsymbol{x}_i-\boldsymbol{\mu})
$$
我们的目标是找到一个协方差矩阵 $\Sigma$,使得样本点来自于这个协方差矩阵所对应的高斯分布的概率最大。由于 $\log$ 是单调递增的函数,所以我们可以最大化上式中的后两项,即:
$$
\max_{\Sigma}\quad \log p(\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_N)=-\frac{N}{2}\log|\Sigma|-\frac{1}{2}\sum_{i=1}^{N}(\boldsymbol{x}_i-\boldsymbol{\mu})^T\Sigma^{-1}(\boldsymbol{x}_i-\boldsymbol{\mu})
$$
对于第一项,我们可以使用矩阵求导的性质来求解。具体地,对于任意的方阵 $\boldsymbol{A}$,我们有 $\frac{\partial}{\partial\boldsymbol{A}}\log|\boldsymbol{A}|=\boldsymbol{A}^{-T}$。因此,对于上式中的第一项,有:
$$
\frac{\partial}{\partial\Sigma}\log|\Sigma|=\Sigma^{-T}
$$
对于第二项,我们可以将它写成矩阵的形式:
$$
\sum_{i=1}^{N}(\boldsymbol{x}_i-\boldsymbol{\mu})^T\Sigma^{-1}(\boldsymbol{x}_i-\boldsymbol{\mu})=(\boldsymbol{X}-\boldsymbol{\mu}\boldsymbol{1}^T)^T\Sigma^{-1}(\boldsymbol{X}-\boldsymbol{\mu}\boldsymbol{1}^T)
$$
其中,$\boldsymbol{X}$ 是一个 $d\times N$ 的矩阵,每一列是一个样本点,$\boldsymbol{1}$ 是一个 $N$ 维的全为 $1$ 的列向量。对上式求导,有:
$$
\frac{\partial}{\partial\Sigma}\sum_{i=1}^{N}(\boldsymbol{x}_i-\boldsymbol{\mu})^T\Sigma^{-1}(\boldsymbol{x}_i-\boldsymbol{\mu})=-\Sigma^{-1}(\boldsymbol{X}-\boldsymbol{\mu}\boldsymbol{1}^T)(\boldsymbol{X}-\boldsymbol{\mu}\boldsymbol{1}^T)^T\Sigma^{-1}
$$
将两项代入目标函数,有:
$$
\frac{\partial}{\partial\Sigma}\log p(\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_N)=-\frac{N}{2}\Sigma^{-T}+\frac{1}{2}\Sigma^{-1}(\boldsymbol{X}-\boldsymbol{\mu}\boldsymbol{1}^T)(\boldsymbol{X}-\boldsymbol{\mu}\boldsymbol{1}^T)^T\Sigma^{-1}
$$
令导数为零,解得:
$$
\Sigma=\frac{1}{N}(\boldsymbol{X}-\boldsymbol{\mu}\boldsymbol{1}^T)(\boldsymbol{X}-\boldsymbol{\mu}\boldsymbol{1}^T)^T
$$
将上式代入目标函数,得到:
$$
\max_{\Sigma}\quad \log p(\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_N)=-\frac{Nd}{2}\log(2\pi)-\frac{N}{2}\log|\frac{1}{N}(\boldsymbol{X}-\boldsymbol{\mu}\boldsymbol{1}^T)(\boldsymbol{X}-\boldsymbol{\mu}\boldsymbol{1}^T)^T|-\frac{N}{2}
$$
因为 $\boldsymbol{\mu}$ 是未知的,我们需要使用样本均值 $\overline{\boldsymbol{x}}=\frac{1}{N}\sum_{i=1}^{N}\boldsymbol{x}_i$ 来代替它。又因为 $\boldsymbol{\mu}\boldsymbol{1}^T$ 是一个 $d\times d$ 的矩阵,它的行向量都是 $\boldsymbol{\mu}$ 的重复,因此有:
$$
(\boldsymbol{X}-\boldsymbol{\mu}\boldsymbol{1}^T)(\boldsymbol{X}-\boldsymbol{\mu}\boldsymbol{1}^T)^T=\boldsymbol{XX}^T-\frac{1}{N}\boldsymbol{X1}^T\boldsymbol{X}-\frac{1}{N}\boldsymbol{X1}^T\boldsymbol{X}+\frac{1}{N^2}\boldsymbol{X1}^T\boldsymbol{X1}\boldsymbol{1}^T
$$
将上式代入目标函数,有:
$$
\log p(\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_N)=-\frac{Nd}{2}\log(2\pi)-\frac{N}{2}\log|\frac{1}{N}\boldsymbol{S}|-\frac{N}{2}
$$
其中,$\boldsymbol{S}=\boldsymbol{XX}^T-\frac{1}{N}\boldsymbol{X1}^T\boldsymbol{X}-\frac{1}{N}\boldsymbol{X1}^T\boldsymbol{X}+\frac{1}{N^2}\boldsymbol{X1}^T\boldsymbol{X1}\boldsymbol{1}^T$ 是样本协方差矩阵的估计量。将行列式展开,有:
$$
|\frac{1}{N}\boldsymbol{S}|=\frac{1}{N^d}|\boldsymbol{XX}^T-\frac{1}{N}\boldsymbol{X1}^T\boldsymbol{X}-\frac{1}{N}\boldsymbol{X1}^T\boldsymbol{X}+\frac{1}{N^2}\boldsymbol{X1}^T\boldsymbol{X1}\boldsymbol{1}^T|=\frac{1}{N^d}|\boldsymbol{XX}^T-\frac{1}{N}\boldsymbol{X1}^T\boldsymbol{X}|^2
$$
将上式代入目标函数,有:
$$
\log p(\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_N)=-\frac{Nd}{2}\log(2\pi)-\frac{1}{2}\log|\boldsymbol{XX}^T-\frac{1}{N}\boldsymbol{X1}^T\boldsymbol{X}|^2-\frac{N}{2}\log N
$$
将行列式转化为迹,有:
$$
\log p(\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_N)=-\frac{Nd}{2}\log(2\pi)-\frac{1}{2}\log\operatorname{tr}(\boldsymbol{XX}^T-\frac{1}{N}\boldsymbol{X1}^T\boldsymbol{X})-\frac{N}{2}\log N
$$
最后,我们可以将 $\frac{1}{N}\boldsymbol{X1}^T\boldsymbol{X}$ 看成是样本均值 $\overline{\boldsymbol{x}}$ 的外积,即 $\frac{1}{N}\boldsymbol{X1}^T\boldsymbol{X}=\overline{\boldsymbol{x}}\overline{\boldsymbol{x}}^T$,将这个式子代入目标函数,有:
$$
l=\log |\Sigma|+\frac{1}{N} \sum\limits_{i=1}^{N}\left(\boldsymbol{x}_{i}-\overline{\boldsymbol{x}}\right)^{T} \Sigma^{-1}\left(\boldsymbol{x}_{i}-\overline{\boldsymbol{x}}\right)
$$
其中,$l$ 是对数似然函数,$\Sigma=\frac{1}{N}\sum_{i=1}^{N}(\boldsymbol{x}_i-\overline{\boldsymbol{x}})(\boldsymbol{x}_i-\overline{\boldsymbol{x}})^T$ 是协方差矩阵的估计量。
阅读全文