最大似然估计

我们希望有些准则可以让我们从不同模型中得到特定函数作为好的估计,而不是猜测某些函数可能是好的估计,然后分析其偏差和方差。最常用的准则是最大似然估计。

接下来是较为枯燥的数学推导,耐心看下去!公式看起来很复杂,其实本身并不复杂。

考虑一组含有 mmm 个样本的数据集 X={x(1),...,x(m)}\mathbb{X}=\{\textbf{\textit{x}}^{(1)},...,\textbf{\textit{x}}^{(m)}\}X={x(1),...,x(m)},独立的由未知的真实数据生成分布 pdata(x)p_{data}(\textbf{x})pdata(x) 生成。

pmodel(x;θ)p_{model}(\textbf{x}; \boldsymbol{\theta})pmodel(x;θ) 是一族由 θ\boldsymbol{\theta}θ 确定在相同空间上的概率分布,即 pmodel(x;θ)p_{model}(\textbf{x}; \boldsymbol{\theta})pmodel(x;θ) 将任意输入 x\textbf{\textit{x}}x 映射到实数来估计真实概率 pdata(x)p_{data}(\textbf{x})pdata(x)

θ\boldsymbol{\theta}θ 的最大似然估计被定义为:
θML=arg⁡max⁡θpmodel (X;θ)=arg⁡max⁡θ∏i=1mpmodel (x(i);θ) \begin{aligned} \boldsymbol{\theta}_{\mathrm{ML}} &=\underset{\boldsymbol{\theta}}{\arg \max } p_{\text {model }}(\mathbb{X} ; \boldsymbol{\theta}) \\ &=\underset{\boldsymbol{\theta}}{\arg \max } \prod_{i=1}^m p_{\text {model }}\left(\boldsymbol{x}^{(i)} ; \boldsymbol{\theta}\right) \end{aligned} θML=θargmaxpmodel (X;θ)=θargmaxi=1mpmodel (x(i);θ)

为了计算简便,利用对数将乘积改为求和形式:
θML=arg⁡max⁡θ∑i=1mlog⁡pmodel (x(i);θ) \boldsymbol{\theta}_{\mathrm{ML}}=\underset{\boldsymbol{\theta}}{\arg \max } \sum_{i=1}^m \log p_{\text {model }}\left(\boldsymbol{x}^{(i)} ; \boldsymbol{\theta}\right) θML=θargmaxi=1mlogpmodel (x(i);θ)

重新缩放以上函数不会影响最终的结果,我们除以 mmm 得到和训练数据经验分布 p^data\hat{p}_{data}p^data 相关的期望作为准则:
θML=arg⁡max⁡θEx∼p^data log⁡pmodel (x;θ) \boldsymbol{\theta}_{\mathrm{ML}}=\underset{\boldsymbol{\theta}}{\arg \max } \mathbb{E}_{\mathrm{x} \sim \hat{p}_{\text {data }}} \log p_{\text {model }}(\boldsymbol{x} ; \boldsymbol{\theta}) θML=θargmaxExp^data logpmodel (x;θ)

一种解释最大似然估计的观点是将它看作最小化训练集上的经验分布 p^data\hat{p}_{data}p^data 和模型分布之间的差异,两者之间的差异程度可以通过 KL 散度度量:
DKL (p^data ∥pmodel )=Ex∼p^data [log⁡p^data (x)−log⁡pmodel (x)] D_{\text {KL }}\left(\hat{p}_{\text {data }} \| p_{\text {model }}\right)=\mathbb{E}_{\mathbf{x} \sim \hat{p}_{\text {data }}}\left[\log \hat{p}_{\text {data }}(x)-\log p_{\text {model }}(x)\right] DKL (p^data pmodel )=Exp^data [logp^data (x)logpmodel (x)]

左边一项仅涉及到数据生成过程,和模型无关。因此我们只需要最小化
−Ex∼p^data log⁡pmodel (x) -\mathbb{E}_{\mathbf{x} \sim \hat{p}_{\text {data }}}\log p_{\text {model }}(x) Exp^data logpmodel (x)

最小化 KL 散度其实就是在最小化分布之间的交叉熵,我们可以将最大似然看作是使模型分布尽可能地和经验分布 p^data\hat{p}_{data}p^data 相匹配的尝试。

经过以上推导,最大化似然变成了最小化负对数似然

最大似然的性质

最大似然最吸引人的地方在于,它被证明当样本数目 m→∞m \to \inftym 时,就收敛率而言是最好的渐近估计。

在合适的条件下,最大似然估计具有一致性,意味着训练样本数目趋向于无穷大时,参数的最大似然估计会收敛到参数的真实值。这些条件是:

  • 真实分布 pdatap_{data}pdata 必须在模型族 pmodelp_{model}pmodel 中。否则,没有估计可以还原 pdatap_{data}pdata
  • 真实分布 pdatap_{data}pdata 必须刚好对应一个 θ\boldsymbol{\theta}θ 值。否则,最大似然估计恢复出真实分布后,也不能决定数据生成过程使用的是哪个 θ\boldsymbol{\theta}θ

当样本数目小到会发生过拟合时,正则化策略如权重衰减可用于获得训练数据有限时方差较小的最大似然有偏版本。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐