ML——对数似然及其变分下界


似然函数是什么?

  • 似然函数(Likelihood Function) :描述在给定模型参数下,观测数据出现的概率。对于一组独立同分布的观测数据 \(x_1, x_2, \cdots, x_n\) ,其似然函数 \(L(\theta)\) 可以表示为每个观测数据的概率密度函数的乘积 ,即:
    $$L(\theta)=\prod_{i = 1}^{n}p(x_i|\theta)$$
    • 其中 \(\theta\) 是模型的参数, \(p(x_i|\theta)\) 是在参数 \(\theta\) 下观测数据 \(x_i\) 出现的概率
  • 理解:似然的本质可以理解为概率(更准确说是描述概率值的函数),但一般来说,似然函数是关于参数 \(\theta\) 的函数(不同于普通的概率)

对数似然是什么?

  • 对数似然(Log Likelihood) :就是对似然函数取自然对数,得到:
    $$ll(\theta)=\ln L(\theta)=\sum_{i = 1}^{n}\ln p(x_i|\theta)$$
    • 取对数的主要原因是将乘积转化为求和,方便计算和分析,尤其是在处理大量数据时,乘积的计算可能会导致数值下溢,而对数运算可以避免这种情况

对数似然可以用来做什么?

  • 模型参数估计 :在最大似然估计中,通过最大化对数似然函数来估计模型的参数;因为对数函数单调递增的,所以最大化似然函数等价于最大化对数似然函数

变分是什么?

  • 近似推断方法目标是在难以直接计算概率分布的情况下,对目标分布进行近似求解
  • 常见近似推断方法蒙特卡罗采样法(Monte Carlo Sampling)和变分推断法(Variational Inference, VI)两种
    • 蒙特卡罗采样法 :基于大数定律,通过从已知分布中进行大量随机采样,利用这些样本的统计特性来近似目标分布的期望、方差等统计量
      • 举例:要计算一个复杂函数在某个概率分布下的期望,可以通过从该分布中采样大量的点,计算函数在这些点上的值,然后求平均值来近似期望;
      • 方法:主要通过各种采样算法,如拒绝采样重要性采样马尔可夫链蒙特卡罗(MCMC)等方法来生成样本。以 MCMC 为例,它通过构建一个马尔可夫链,使其平稳分布为目标分布,然后从这个马尔可夫链中采样得到样本
    • 变分推断法 :一种基于优化的方法,通过定义一个分布族(比如高斯分布族),然后在这个分布族中寻找一个与目标分布最接近的分布(通常通过最小化两者之间的 KL 散度来实现)
      • 举例:对于一个难以直接处理的后验分布,我们可以假设一个具有特定形式(如高斯分布)的变分分布,然后通过调整变分分布的参数,使其尽可能接近真实的后验分布;
      • 方法:通过优化算法,如梯度下降、随机梯度下降等,来调整变分分布的参数,以最小化 KL 散度
  • 变分(Variational)这个词常常指隐含近似推断的思想,常常是通过优化函数(或分布)来近似复杂概率分布,解决复杂概率分布问题

对数似然的变分下界

  • 任意函数 \(F\) 的变分下界(Variational Lower Bound) :是一个用于估计函数 \(F\) 下界函数 ,最大化变分下界可以间接实现最大化原始目标函数 \(F\)
  • 对数似然变分下界(Variational Lower Bound) :是一个用于估计对数似然函数下界函数 ,最大化变分下界可以间接实现最大化原始目标对数似然函数
  • 假设我们有一个概率模型,其中观测数据为 \(x\) ,隐变量为 \(z\) ,模型的参数为 \(\theta\) 。对数似然函数 \(\log p(x|\theta)\) 可以通过对联合概率 \(p(x,z|\theta)\) 进行积分得到,即:
    $$\log p(x|\theta)=\log\int_z p(x,z|\theta)dz$$
  • 变分推断的基本思想是引入一个变分分布 \(q(z)\) ,然后通过优化这个变分分布来逼近真实的后验分布 \(p(z|x,\theta)\) 。对数似然的变分下界 \(L(q)\) 定义为:
    $$L(q)=\mathbb{E}_{q(z)}[\log p(x,z|\theta)]-\mathbb{E}_{q(z)}[\log q(z)]$$
    • 其中 \(\mathbb{E}_{q(z)}\) 表示关于分布 \(q(z)\) 的期望

变分下界的推导

  • 根据 Jensen’s 不等式,对于凹函数 \(f\) 和随机变量 \(Y\) ,有 \(f(\mathbb{E}[Y])\geq\mathbb{E}[f(Y)]\)
  • 对于对数似然函数,我们有:
    $$
    \color{red}{\log p(x|\theta)}=\log\int_z p(x,z|\theta)dz=\log\mathbb{E}_{q(z)}\left[\frac{p(x,z|\theta)}{q(z)}\right]\color{red}{\geq}\mathbb{E}_{q(z)}\left[\log\frac{p(x,z|\theta)}{q(z)}\right]=\color{red}{L(q)}$$
    • 所以 \(L(q)\) 是对数似然 \(\log p(x|\theta)\) 的一个下界

变分下界的作用与应用

  • 近似推断 :通过最大化变分下界 \(L(q)\) ,可以找到一个最优的变分分布 \(q^*(z)\) ,使得它尽可能接近真实的后验分布 \(p(z|x,\theta)\)
    • 这样就可以用 \(q^*(z)\) 来近似计算后验分布的各种统计量,如均值、方差等,从而实现对隐变量推断
  • 模型训练 :在一些基于概率模型的机器学习算法中,如变分自编码器(VAE),对数似然的变分下界用作优化目标
    • 通过最大化变分下界 ,可以最大化对数似然函数 ,可以学习到模型的参数 \(\theta\)
  • 评估模型性能 :变分下界的值可以作为模型性能的一个评估指标
    • 当变分下界的值越大,说明模型对数据的拟合程度越好,同时也意味着变分分布 \(q(z)\) 对真实后验分布 \(p(z|x,\theta)\) 的近似效果越好