概率模型是概率分布$p(x|\theta)$的集合贯涎。我們并不知道具體參數(shù)$\theta$是什么听哭,需要進行推測。例如對于給定的數(shù)據(jù)$x$塘雳,我們想建立一個高斯分布模型$p(x|\theta), \theta = {\mu, \Sigma}$陆盘。注意這里隱含著一個重要的假設,即所有數(shù)據(jù)都是獨立同分布的(iid)败明,即
$$
x_i \mathop{\sim}^{iid} p(x|\theta),\ i = 1, \ldots, n
$$
所有這些數(shù)據(jù)$x$的聯(lián)合概率分布可以寫為
$$
p(x_1,\ldots,x_n|\theta) = \prod_{i=1}^n p(x_i|\theta)
$$
求解的過程是要設計一個目標函數(shù)隘马。這個函數(shù)含有已知的數(shù)據(jù)和未知的變量,它會隱含地告訴我們什么樣的參數(shù)是好的參數(shù)妻顶。常見的求解概率模型的方法就是最大似然(即尋找可以將似然函數(shù)最大化的未知數(shù))酸员,即對找出能使$p$最大的$\theta$蜒车。形式化地,最優(yōu)解$\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$使得聯(lián)合概率分布的梯度為0
由于多項式乘法求導起來比較麻煩幔嗦,可以使用“l(fā)og 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
$$
求解方式有兩種
- 解析形式:通過一系列等式推導
- 數(shù)值形式:迭代求解嬉挡,等待收斂。如果收斂到了一個局部最優(yōu)解汇恤,則只能看作是真正解的近似值
將最大似然用在求解多變量高斯分布上庞钢,有
- 求解$\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}
根據(jù)以下兩條列向量求導法則
$$
\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}的函數(shù)且為對稱矩陣)
$$
上式可化簡為
$$
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
$$