第3章 分布密度估计的优化法
by jiyang_wang@yahoo.com
在上一章我们说过,用采样法估计分布密度需要比较长的时间,这在一些实时应用中无法被接受。这时,我们采取近似求解的方法,以牺牲精度换取时间。这就是第二个途径,即优化法的思路。
假设我们的目标分布是参数型的,最常用的参数估计方法是最大似然法(Maximum Likelihood, 简称ML。“机器学习”的英文缩写也是ML,看文献时别搞混了)。最大似然法的数学表述是:
这是一个point estimate,即求的是
而前面介绍的Bayesian Inference(贝叶斯推理),求得的是
我们先介绍优化法里的EM(Expectation-Maximization)算法,然后再介绍VI/VB( Variational Inference or Variational Bayesian Infefernce)算法。
3.1 隐藏变量
首先,除了我们把目标,即数据集D的分布参数,当作确定量外,我们还引入latent variables(也称为hidden variables,隐藏变量),记作z。为什么要引入z呢?
因为如果我们只观察整个数据集D的样本,我们只能假设每个样本的各个维度之间或所有随机变量之间都有某种联系,亦即如果我们画一个D的概率图模型,那么图中所有节点之间都有连线,这是个全连接图。这个关系实在是太复杂了。回想我们介绍概率图模型时举的例子:
P(D, I, G, S, L) = P(I) P(D|I) P(G|D, I) P(S|D, I, G) P(L|D, I, G, S)
这是5个变量的联合概率用链式法则展开后的情形。我们说过,如果变量之间的关系并非这么复杂,我们可以把这个联合概率简化成:
P(D, I, G, S, L) = P(I) P(D) P(G|D, I) P(S|I) P(L|G)
在很多实际问题中,随机变量之间的关系可能被未观察到的但却真实存在的因素所左右。
再拷贝一张图说明一下。右图是增加了一个latent variable(Heart Disease)后的情形,变量之间的关系由于这个latent variable的中介而变得简单了。
![175bca368d5bf84ab3eac5075d186489.png](https://i-blog.csdnimg.cn/blog_migrate/ec1899ea57000d70d8c645e85340f854.jpeg)
再比如房价极受房子所在区域的影响。假想你知道每个房子的价格和区域,那么你就可以在一张地图上画出房价的分布图。你会发现,房价大致以某些地点为中心,在这些中心点,房价是其周围房价中最高的(局部最大)。如果你画个房价的二维曲面图,图上就是一个个“山包”。这就是数据集D的分布图。要画这个分布图,只有房价信息是不够的,我们还得知道每个房价处于哪个区域。如果缺少区域信息呢?我们人为引进“区域”这个变量并用之约束房价之间的关系,因为我们知道房价的分布会因为区域的存在而变得更简单,更容易扑捉。比如,单独看一个区域内的房价而不考虑其它区域的影响,这个区域的房价很可能呈高斯分布。而任意一个地方的房价则受其相邻区域的房价的共同影响,即多个高斯分布之加权和(Mixture of Gaussians)。
下面是一个一维的房价图,横坐标是区域,纵坐标是房价,实际观察到的是红线,它受三个区域(z的取值)的呈高斯分布的房价(蓝线)共同影响,或者说是三个区域的房价分布之和。如果我们选择一个数据点
![05d0712c737a78803e79c0fe2964b7d4.png](https://i-blog.csdnimg.cn/blog_migrate/f9e5527fd620c0274a0432cb4d6ddd56.jpeg)