如何理解「最大似然估计」?参数估计、似然函数、最大似然估计

文章目录

    • 引言
    • 参数估计
    • 最大似然估计
      • 似然函数
      • 求解最大似然估计问题
      • 为什么要对似然函数取对数?
      • “似然”与“概率”的区别
    • 机器学习中的应用
    • 参考资料

引言

最大似然估计,就是寻找一组模型参数,使得观测到现有样本出现的概率最大,即这组模型参数,可以使模型拟合的结果最接近实际数据分布。在机器学习领域中,很多求解参数的方法,都可以归结为最大似然估计问题。

最大似然估计是参数估计中点估计的一种,所以我们先复习下参数估计的定义。

参数估计

一般来说,我们假定模型结构是已知的,参数是未知的,数据是已知的
通过已知数据推出未知的参数,这个参数的点估计就是数据的函数。

如果要估计的不是参数,而是输入和目标变量之间关系,这种类型的点估计称为函数估计。函数估计和估计参数θ类似,函数估计可以看作函数空间中的一个点估计。

最大似然估计

最大似然估计(Maximum Likelihood Estimation, MLE)是一个概率论中常用的估计方法。

假设有一个数据集 X = { x 1 , x 2 , ⋅ ⋅ ⋅ , x n } X=\{x_1,x_2, ···,x_n\} X={x1,x2,,xn},其真实数据分布未知。数据的概率分布由参数θ确定,用 m o d e l ( x ; θ ) model(x;θ) model(x;θ) 表示,可以将任意输入x映射到概率 p ( x ) p(x) p(x)。当参数 θ \theta θ取不同值时,得到的似然函数值(详见下一小节)不同。当似然函数值最大时,此时的参数 θ \theta θ使样本X出现的概率最大,即找到了使概率最大的参数 θ \theta θ,这就是最大似然估计方法

对于一个似然函数 L ( θ ) = L ( x 1 , x 2 , . . . x n ; θ ) , θ ^ ∈ Θ L(\theta)=L(x_1,x_2,...x_n;\theta),\hat{\theta}∈\Theta L(θ)=L(x1,x2,...xn;θ)θ^Θ,如果存在一个参数值 θ ^ \hat{\theta} θ^,使得似然函数值达到最大值 L ( θ ^ ) = m a x θ ^ ∈ Θ L ( θ ) L(\hat{\theta})=max_{\hat{\theta}∈\Theta} {L(\theta)} L(θ^)=maxθ^ΘL(θ),那么这个 θ ^ \hat{\theta} θ^就称为参数 θ \theta θ最大似然估计量 θ ^ \hat{\theta} θ^ x 1 , x 2 , . . . x n x_1,x_2,...x_n x1,x2,...xn 有关,也可以记作 θ ^ ( x 1 , x 2 , . . . x n ) \hat{\theta}(x_1,x_2,...x_n) θ^(x1,x2,...xn)

最大似然估计在生活中的应用是,当人们观察到某种现象,想要判断是哪种原因导致这种现象,就会选择可能性最大的一种原因,这种思想就是最大似然估计。

似然函数

根据离散型、连续型随机变量的划分,似然函数一般定义为:

(1)对于离散型X,其分布律为事件 P ( X = x ) = p ( x , θ 1 , . . . , θ k ) P(X=x)=p(x,\theta_1,...,\theta_k) P(X=x)=p(x,θ1,...,θk),事件A = { X 1 = x 1 , X 2 = x 2 , . . . , X n = x n } =\{X_1=x_1,X_2=x_2,...,X_n=x_n\} ={X1=x1,X2=x2,...,Xn=xn},事件A发生的概率记为:
L ( x ; θ 1 , . . . , θ k ) = ∏ i = 1 n p ( x i , θ 1 , . . . , θ k ) L(x;\theta_1,...,\theta_k)=\prod_{i=1}^n{p(x_i,\theta_1,...,\theta_k)} L(x;θ1,...,θk)=i=1np(xi,θ1,...,θk)则称 L ( x ; θ 1 , . . . , θ k ) L(x;\theta_1,...,\theta_k) L(x;θ1,...,θk)为样本的似然函数。

(2)对于连续型X,若其概率密度为 f ( x , θ 1 , . . . , θ k ) f(x,\theta_1,...,\theta_k) f(x,θ1,...,θk),则样本的似然函数定义为: L ( x ; θ 1 , . . . , θ k ) = ∏ i = 1 n f ( x i , θ 1 , . . . , θ k ) L(x;\theta_1,...,\theta_k)=\prod_{i=1}^n{f(x_i,\theta_1,...,\theta_k)} L(x;θ1,...,θk)=i=1nf(xi,θ1,...,θk)

似然性是指在已知某些观测结果时,对有关参数进行估计,似然函数取得最大值表示相应的参数能够使统计模型最为合理。

求解最大似然估计问题

求解未知参数 θ \theta θ的最大似然估计问题,就是求似然函数 L ( x ; θ ) L(x;\theta) L(x;θ)的最大值点的问题。如果似然函数关于参数 θ \theta θ 可微时,就能利用微分中求最大值的方法进行求解。计算步骤如下:

  • (1)写出似然函数 L ( x ; θ ) = L ( x 1 , x 2 , . . . , x n ; θ ) L(x;\theta)=L(x_1,x_2,...,x_n;\theta) L(x;θ)=L(x1,x2,...,xn;θ)
  • (2)对似然函数或对数似然函数求导,令 d L ( x ; θ ) d θ = 0 \frac{dL(x;\theta)}{d\theta}=0 dθdL(x;θ)=0 d l n L ( x ; θ ) d θ = 0 \frac{dlnL(x;\theta)}{d\theta}=0 dθdlnL(x;θ)=0,求出 θ \theta θ的最大似然估计。

为什么要对似然函数取对数?

因为 l n L ( x ; θ ) lnL(x;\theta) lnL(x;θ) L ( x ; θ ) L(x;\theta) L(x;θ) 的单调递增函数,所以有相同的极值点。似然函数中的连乘会有丢失精度的缺点,取对数后乘法变成加法,可以规避该问题,更易于计算。

“似然”与“概率”的区别

从形式上看,似然函数也是一种条件概率函数 f ( x ∣ θ ) f(x|\theta) f(xθ),不同的是:

  • 概率密度函数是关于 x x x的函数:针对给定参数 θ \theta θ后,预测样本观测值 x x x发生的可能性。
  • 似然函数是关于 θ \theta θ的函数:已知数据样本x的情况下,希望知道参数 θ \theta θ是多少。

机器学习中的应用

最大似然估计很容易扩展到估计条件概率 P ( y ∣ x ; θ ) P(y|x;θ) P(yx;θ),从而给定 x 预测 y 。实际上这是最常见的情况,因为这构成了大多数监督学习的基础。如果X表示所有的输入,Y表示我们观测到的目标,那么条件最大似然估计是:
θ = arg max ⁡ θ ( Y ∣ X ; θ ) \theta = \argmax_{\theta}(Y|X;\theta) θ=θargmax(YX;θ)
如果假设样本是独立同分布的,那么上式可以分解成:
θ = arg max ⁡ θ ∑ i = 1 m l o g P ( y i ∣ x i ; θ ) \theta = \argmax_{\theta}\sum_{i=1}^m{logP(y_i|x_i;\theta)} θ=θargmaxi=1mlogP(yixi;θ)
机器学习的一个基本过程,就是通过更新模型参数来提高整个数据集的似然,其中缺失变量的值是通过后验分布来估计的。例如,使用梯度下降来最大化对数似然函数的方法也有相同的性质。计算对数似然函数的梯度需要对隐藏单元的后验分布求期望。

还有一种解释最大似然估计的观点,是将它看作最小化训练集上的经验分布和模型分布之间的差异,两者之间的差异程度可以通过KL散度度量。

参考资料

《人工智能数学基础》
《深度学习》

你可能感兴趣的