• 极大似然函数和似然函数的区别


    极大似然函数和似然函数

    "极大似然函数"和"似然函数"是统计学和机器学习中常见的两个概念,它们之间的区别在于它们在不同上下文中的使用方式:

    1. 似然函数(Likelihood Function)

      • 似然函数通常表示为 L ( θ   ∣   x ) L(\theta \,|\, \mathbf{x}) L(θx),其中 θ \theta θ 是模型参数, x \mathbf{x} x 是观测到的数据。
      • 似然函数衡量了在给定模型参数 θ \theta θ 下,观测到数据 x \mathbf{x} x的可能性。换句话说,它描述了数据在不同参数值下的分布情况。
      • 似然函数的值越大,表示在给定参数值下观测到数据的概率越高,这意味着参数值更可能是正确的。
      • 通常,在参数估计问题中,我们寻找能够最大化似然函数的参数值,因为这些参数值使数据出现的可能性最大。
    2. 极大似然函数(Maximum Likelihood Function)

      • 极大似然函数是似然函数的一种特殊情况,表示为 L max L_{\text{max}} Lmax或者 L ( θ ^ ) L(\hat{\theta}) L(θ^),其中 θ ^ \hat{\theta} θ^ 是使似然函数达到最大值的参数值。
      • 极大似然函数是一种估计参数的方法,目标是寻找最可能产生观测数据的参数值。
      • 在估计参数的过程中,通常采用极大似然估计(Maximum Likelihood Estimation, MLE)方法,即找到使似然函数最大化的参数值,以估计模型的参数。
      • MLE 非常常见,例如,用于线性回归、逻辑回归、朴素贝叶斯、高斯混合模型等等。

    总之,似然函数描述了数据在给定参数下的概率分布,而极大似然函数是似然函数中使其取得最大值的参数值,用于参数估计。估计参数是机器学习和统计推断中的常见任务,而似然函数和极大似然函数是在这些任务中起关键作用的概念。

    举例说明

    让我们通过一个简单的例子来说明似然函数和极大似然估计(Maximum Likelihood Estimation,MLE)的概念。

    假设我们有一个硬币,我们想知道它的正面出现的概率(通常用参数 p p p 表示),即我们想估计硬币是不是公平的。我们进行了一系列投掷,并记录了每次投掷的结果。

    我们的观测数据如下:

    • 投掷1:正面(H)
    • 投掷2:反面(T)
    • 投掷3:正面(H)
    • 投掷4:正面(H)
    • 投掷5:反面(T)

    现在,我们想使用似然函数和极大似然估计来估计硬币正面出现的概率 p p p

    1. 似然函数(Likelihood Function)

      似然函数表示在给定参数 p p p下,观测到数据的可能性。对于硬币投掷,似然函数可以表示为:

    L ( p   ∣   数据 ) = p ⋅ ( 1 − p ) ⋅ p ⋅ p ⋅ ( 1 − p ) L(p \,|\, \text{数据}) = p \cdot (1-p) \cdot p \cdot p \cdot (1-p) L(p数据)=p(1p)pp(1p)

    这里的 p p p 表示正面出现的概率, 1 − p 1-p 1p 表示反面出现的概率。似然函数描述了在不同 p p p 值下观测到数据的概率。在这个例子中,我们假设每次投掷都是独立的。

    1. 极大似然估计(Maximum Likelihood Estimation,MLE)

      我们的目标是找到使似然函数取得最大值的参数 p p p,即极大似然估计。为了找到这个参数值,我们可以对似然函数求导,然后令导数等于零,找到使似然函数最大化的 p p p值。

    d d p L ( p   ∣   数据 ) = 0 \frac{d}{dp} L(p \,|\, \text{数据}) = 0 dpdL(p数据)=0

    解这个方程,我们可以得到极大似然估计的结果。在这个例子中,通过求解,我们可以找到使似然函数最大化的 p p p 值,即硬币正面出现的概率的估计值。

    请注意,这个例子是一个简单的二项分布问题,但它演示了似然函数和极大似然估计的基本思想:似然函数用于描述数据在不同参数下的概率分布,而极大似然估计用于寻找最可能产生观测数据的参数值。

    计算

    我们来计算一下似然函数并找到使其最大化的参数值 p p p。在上面的例子中,似然函数表示为:

    L ( p   ∣   数据 ) = p ⋅ ( 1 − p ) ⋅ p ⋅ p ⋅ ( 1 − p ) L(p \,|\, \text{数据}) = p \cdot (1-p) \cdot p \cdot p \cdot (1-p) L(p数据)=p(1p)pp(1p)
    为了找到 (p) 的最大似然估计,我们需要求解以下方程:

    d d p L ( p   ∣   数据 ) = 0 \frac{d}{dp} L(p \,|\, \text{数据}) = 0 dpdL(p数据)=0

    首先,对似然函数求导:

    d d p L ( p   ∣   数据 ) = d d p [ p 3 ( 1 − p ) 2 ] \frac{d}{dp} L(p \,|\, \text{数据}) = \frac{d}{dp} [p^3 (1-p)^2] dpdL(p数据)=dpd[p3(1p)2]

    使用链式法则:

    d d p [ p 3 ( 1 − p ) 2 ] = 3 p 2 ( 1 − p ) 2 − 2 p 3 ( 1 − p ) \frac{d}{dp} [p^3 (1-p)^2] = 3p^2(1-p)^2 - 2p^3(1-p) dpd[p3(1p)2]=3p2(1p)22p3(1p)

    现在,我们将导数等于零,以找到使似然函数最大化的 (p) 值:

    3 p 2 ( 1 − p ) 2 − 2 p 3 ( 1 − p ) = 0 3p^2(1-p)^2 - 2p^3(1-p) = 0 3p2(1p)22p3(1p)=0

    我们可以继续化简这个方程,但它的解是复杂的,并且不容易用简单的代数方法求解。通常,我们会使用数值方法(如迭代或数值优化算法)来找到最大似然估计的数值解。

    在这个特定问题中,我们可以使用计算工具(如Python中的NumPy和SciPy库)来进行数值计算。让我使用Python来演示如何计算这个估计值:

    import numpy as np
    from scipy.optimize import minimize
    
    # 定义似然函数
    def likelihood_function(p):
        return -p**3 * (1-p)**2
    
    # 使用数值优化方法找到最大似然估计
    result = minimize(likelihood_function, x0=0.5, bounds=[(0, 1)])
    
    # 最大似然估计的结果
    mle_estimate = result.x[0]
    print("最大似然估计的结果 (p) =", mle_estimate)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    上述代码使用SciPy库的minimize函数来找到使似然函数最大化的 (p) 值。最终,得到的最大似然估计的结果 (p) 大约是 0.6 左右。这表示在我们的观测数据下,硬币正面出现的概率的估计值约为 0.6。请注意,这个值是一个估计值,因为我们在实际观测中可能会得到不同的结果。

    很棒的回答

    个人感觉解释得最通俗易懂的回答
    在这里插入图片描述

  • 相关阅读:
    nginx 日志改为json格式
    webpack常用配置(四)之ES6,图片,样式
    控制算法::速度前馈
    维纳滤波原理极其Python实现
    【数据分析】NumPy
    redis命令记录
    【Go语言】Go语言中的指针
    「我的AIGC咒语库:分享和AI对话交流的秘诀——如何利用Prompt和AI进行高效交流?」
    04.webpack中css的压缩和抽离
    xml文件中的standalone声明
  • 原文地址:https://blog.csdn.net/qq_44154915/article/details/133238759