Zheng Chu's Blog

让希望永驻


  • 主页

  • 所有专栏

  • 历史文章

  • 标签

  • 关于我

KL散度与负对数似然函数

Posted on 2020-06-13 Edited on 2020-12-06 In 深度学习 Views:

[toc]

更新时间:20.06.16

上次时间:date: 2019-09-08 17:17:10

最小负对数似然

先给出似然函数:

为什么对上面的似然函数取对数的原因:

1、数值分析:因为似然都很好,是小数的积,$\log$可以降低计算时发生潜在的下溢;

2、积分方面:$\log$ 变换使得乘性计算变为加性计算,更加方便;

3、积分方面:$\log$ 是单调变换函数,自变量与因变量同时保持增减;

因此取对数似然函数:

最大似然估计值(maximum likelihood estimator)定义为:

根据:

得到负对数似然估计值 (NLL: negative log-likelihood):

最大似然 = 最小KL散度

KL散度的计算公式,我们有:

其中$\theta^{\ast}$是我们的真实数据分布的参数,$\theta$是我们对由训练数据得到的估计参数。

左边是分布$P(x|\theta^{\ast})$的熵,是与估计$\theta$无关的常量,因此可以忽略;

在分布 $P(x|\theta^{\ast})$的数据中采样$n$个样本,由强大数定理可知,当$n$趋于无穷的时候:

也就是说最小化真实数据的分布与采样分布间的KL散度等于最小化负对数似然函数。


EMBO

给定数据$X$,数据自身形成数据分布$p(X)$(称为prior),据此可以计算最大似然估计$p(X|z)$(即likelihood),其中$z$是需要估计的模型参数。

但更普遍的情况是,我们知道模型的参数服从分布$p(z)$,所以更合理的做法是考虑上参数的分布,据此可以计算最大后验估计$p(z|X)$(即posterior),有:

但问题是$p(X)$一般求不了:(要求在可能的所有参数$z$上求导)

解决这个问题的办法:如变分推断(即Variational Inference),做法比较直观,取一个被$\lambda$参数化的分布族$q(z;\lambda)$ 去近似$p(z|X)$。

由此考虑优化参数$\lambda $,使得分布$q(z)$与$p(z|X)$之间的KL散度降低,记为$D_\text{KL}(q||p)$:

为了最小化$D_\text{KL}(q||p)$,等价于最大化$\text{ELBO}$。

怎么求$\text{ELBO}$?

方法一、在平均场变分推断中(即Mean field variational inference)的做法,选取一个分布族$q(z;\lambda)$和参数先验$q(z)$ 去简化 $\text{ELBO}$.

方法二、可以利用类似EM算法的迭代方式去做,该方法称为黑盒随机变分推断(即Black box stochastic variational inference),做法:每次从$q$分布中采样一些样本,然后估计$\text{ELBO}$函数中对于$\lambda$的的梯度,然后随机梯度上升最大化$\text{ELBO}$。



Reference:

https://wiseodd.github.io/techblog/2017/01/26/kl-mle/

https://quantivity.wordpress.com/2011/05/23/why-minimize-negative-log-likelihood/

github/ageron/handson-ml2

# DeepLearning
GMM
Tensorfow2复习--技巧
  • Table of Contents
  • Overview
Zheng Chu

Zheng Chu

90 posts
20 categories
25 tags
GitHub 简书 CSDN E-Mail
  1. 1. 最小负对数似然
  2. 2. 最大似然 = 最小KL散度
  3. 3. EMBO
© 2021 Zheng Chu
Powered by Hexo v4.2.1
|
Theme – NexT.Pisces v7.3.0
|