Whale's Blog

记录一下阶段所学(Machine Learning, Optimization, Mathematics, etc),吐槽一下生活

0%

KL散度视角下的极大似然估计

极大似然估计

假设数据集 $X = \{x^{(1)},x^{(2)} \ldots, x^{(m)}\}$,每个样本独立同分布地由未知的真实数据生成分布 $p_{\text{data}}(x)$ 生成.

设 $p_{\text{model}}(x; \theta)$ 是一个用来估计真实概率 $p_{\text{data}}(x)$ 的映射。

对参数 $\theta$ 的最大似然估计定义如下

由于乘积可能会导致数值溢出等问题,不便于计算。为了得到一个便于计算的等价优化问题,通过取对数转化成便于计算的求和形式:

假设每个数据等概率地从数据集 $X$ 中抽样得到, 除以 $m$ 得到训练数据经验分布 $\hat{p}_{\text{data}}$ 的期望形式:

另一种视角下的最大似然估计是将它看作最小化训练集上的经验分布 $\hat{p}_{\text{data}}$ 和模型分布 $p_{\text{model}}$ 之间的差异,两个概率分布之间的差异程度可以通过 KL 散度度量:

左边一项仅涉及到训练集上的数据抽样过程,和模型无关,故上式等价于最小化

显然这和极大似然估计得到的结果是相同的,同时从该式也可以看出最小化 KL 散度与最小化交叉熵等价。

实例

均方误差 $MSE$ 等价于经验分布和高斯模型之间的交叉熵,考虑下面这样一个线性回归模型:

将线性回归作为学习从输入 $x$ 映射到输出 $y$ 的算法,以最大似然估计的视角来看线性回归,现在希望我们的模型能够拟合得到条件概率分布 $p(y | x)$ ,而不是得到一个单独的预测 $\hat{y}$,定义 $p(y | x) = \mathcal{N}(y; \hat{y}(x), \sigma^2)$,即函数 $\hat{y}(x; w)$ 预测高斯的均值,方差是常量。假设样本是独立同分布的,条件对数似然如下:

其中 $\hat{y}^{(i)}$ 是线性回归在第 $i$ 个输入 $x^{(i)}$ 上的输出,$m$ 是训练样本的数目。对比 $MSE$ 和对数似然,

可以看出最大化关于 $w$ 的对数似然和最小化均方误差会得到相同的参数估计 $w$.

总结

理想情况下,我们希望用经验分布 $\hat{p}_{\text{data}}$ 匹配真实的数据生成分布 $p_{\text{data}}$,但由于我们没法直接知道这个分布,因此使用极大似然估计的思想,用经验分布 $\hat{p}_{\text{data}}$ 去匹配模型分布 $p_{\text{model}}$.