概论与最大似然

概率模型是概率分布$p(x|\theta)$的集合。我们并不知道具体参数$\theta$是什么,需要进行推测。例如对于给定的数据$x$,我们想建立一个高斯分布模型$p(x|\theta), \theta = {\mu, \Sigma}$。注意这里隐含着一个重要的假设,即所有数据都是独立同分布的(iid),即
$$
x_i \mathop{\sim}^{iid} p(x|\theta),\ i = 1, \ldots, n
$$
所有这些数据$x$的联合概率分布可以写为
$$
p(x_1,\ldots,x_n|\theta) = \prod_{i=1}^n p(x_i|\theta)
$$

求解的过程是要设计一个目标函数。这个函数含有已知的数据和未知的变量,它会隐含地告诉我们什么样的参数是好的参数。常见的求解概率模型的方法就是最大似然(即寻找可以将似然函数最大化的未知数),即对找出能使$p$最大的$\theta$。形式化地,最优解$\hat{\theta}{\rm ML}$为
$$
\hat{\theta}
{\rm ML} = \mathop{\rm arg}\max_\theta p(x_1, \ldots, x_n|\theta)
$$
这个$\theta$是下式的解析解
$$
\nabla_\theta \prod_{i=1}^n p(x_i|\theta) = 0
$$
即该$\theta$使得联合概率分布的梯度为0

由于多项式乘法求导起来比较麻烦,可以使用“log trick”做一个转化。其原理在于,使得$f(x)$取得最大值的$\hat{x}$也能使$\log(f(x))$取得最大值。因此
$$
\hat{\theta}{\rm ML} = \mathop{\rm arg}\max\theta \prod_{i=1}^n p(x_i|\theta) = \mathop{\rm arg}\max_\theta \ln\left(\prod_{i=1}^n p(x_i|\theta)\right) = \mathop{\rm arg}\max_\theta \sum_{i=1}^n \ln p(x_i|\theta)
$$
即要求解下面的方程:
$$
\nabla_\theta \sum_{i=1}^n \ln p(x_i|\theta) = \sum_{i=1}^n \nabla_\theta \ln p(x_i | \theta) = 0
$$

求解方式有两种

  • 解析形式:通过一系列等式推导
  • 数值形式:迭代求解,等待收敛。如果收敛到了一个局部最优解,则只能看作是真正解的近似值

将最大似然用在求解多变量高斯分布上,有

  1. 求解$\mu$
    \begin{aligned}
    0 &= \nabla_\mu \sum_{i=1}^n \ln \frac{1}{\sqrt{(2\pi)^d|\Sigma|}}\exp\left(-\frac{1}{2}(x_i - \mu)T\Sigma{-1}(x_i - \mu)\right) \
    &= \nabla_\mu \sum_{i=1}^n -\ln \sqrt{(2\pi)^d|\Sigma|} + \ln \exp\left(-\frac{1}{2}(x_i - \mu)T\Sigma{-1}(x_i - \mu)\right) \
    &= \nabla_\mu \sum_{i=1}^n -\frac{1}{2} \ln(2\pi)^d |\Sigma| - \frac{1}{2}(x_i - \mu)^T \Sigma^{-1} (x_i - \mu)
    \end{aligned}
    第一项不带$\mu$,对$\mu$求导为0,所以只需要考虑第二项,即
    \begin{aligned}
    0 &= \frac{1}{2} \sum_{i=1}^n \nabla_\mu \left((x_i - \mu)^T \Sigma^{-1}(x_i - \mu)\right) \
    &= \frac{1}{2} \sum_{i=1}^n \nabla_\mu \left(x_iT\Sigma{-1}x_i - x_iT\Sigma{-1}\mu -\muT\Sigma{-1}x_i + \muT\Sigma{-1}\mu \right)
    \end{aligned}
    根据以下两条列向量求导法则
    $$
    \frac{\partial {\mathbf a}^T{\mathbf x}}{\partial {\mathbf x}} = \frac{\partial {\mathbf x}^T{\mathbf a}}{\partial {\mathbf x}} = {\mathbf a} \
    \frac{\partial {\mathbf x}^T{\mathbf A}{\mathbf x}}{\partial{\mathbf x}} = 2{\mathbf A}{\mathbf x}\ \ ({\mathbf A}不是{\mathbf x}的函数且为对称矩阵)
    $$
    上式可化简为
    $$
    0 = \frac{1}{2}\sum_{i=1}^n -2\Sigma^{-1}x_i + 2\Sigma^{-1}\mu
    $$
    由于$\Sigma$是正定矩阵,因此
    $$
    \sum_{i=1}^n (x_i - \mu) = 0 \Rightarrow \hat{\mu}{\rm ML} = \frac{1}{n}\sum{i=1}^n x_i
    $$

你可能感兴趣的:(概论与最大似然)