最大似然估计(Maximum Likelihood Estimation, MLE)详解

news2025/5/25 22:12:42
一、定义

最大似然估计 是一种参数估计方法,其核心思想是:
选择能使观测数据出现概率最大的参数值作为估计值
具体来说,假设数据 D = x 1 , x 2 , … , x n D={x_1,x_2,…,x_n} D=x1,x2,,xn独立且服从某个概率分布 P ( x ∣ θ ) P(x∣θ) P(xθ),则通过最大化似然函数 L ( θ ∣ D ) \mathcal{L}(\theta \mid \mathcal{D}) L(θD)来求解参数 θ θ θ

二、公式推导
  1. 似然函数
    数据独立时,似然函数为各数据点概率的乘积:
    L ( θ ∣ D ) = ∏ i = 1 n P ( x i ∣ θ ) \mathcal{L}(\theta \mid \mathcal{D})=\prod_{i=1}^{n} P\left(x_{i} \mid \theta\right) L(θD)=i=1nP(xiθ)

  2. 对数似然:
    为简化计算,取自然对数(乘积变加法):
    L ( θ ∣ D ) = ∏ i = 1 n P ( x i ∣ θ ) \mathcal{L}(\theta \mid \mathcal{D})=\prod_{i=1}^{n} P\left(x_{i} \mid \theta\right) L(θD)=i=1nP(xiθ)

  3. 最大化目标:
    求解使对数似然最大的参数 θ ∗ θ^∗ θ
    θ ∗ = arg ⁡ max ⁡ θ ∑ i = 1 n ln ⁡ P ( x i ∣ θ ) \theta^*=\arg \max _\theta \sum_{i=1}^n \ln P\left(x_i \mid \theta\right) θ=argmaxθi=1nlnP(xiθ)

  4. 求解方法:
    对 θ 求导并令导数为零,或使用梯度下降等优化算法。

三、经典例子
例1:估计正态分布的均值和方差

假设数据 D = x 1 ​ , x 2 ​ , … , x n ​ \mathcal{D}={x_1​,x_2​,…,x_n​} D=x1,x2,,xn服从正态分布 N ( μ , σ 2 ) \mathcal{N}\left(\mu, \sigma^2\right) N(μ,σ2),求 μ \mu μ σ 2 \sigma^2 σ2估计。

  1. 似然函数:
    L ( μ , σ 2 ) = ∏ i = 1 n 1 2 π σ 2 e − ( x i − μ ) 2 2 σ 2 \mathcal{L}\left(\mu, \sigma^2\right)=\prod_{i=1}^n \frac{1}{\sqrt{2 \pi \sigma^2}} e^{-\frac{\left(x_i-\mu\right)^2}{2\sigma^2}} L(μ,σ2)=i=1n2πσ2 1e2σ2(xiμ)2

  2. 对数似然:

ln ⁡ L = − n 2 ln ⁡ ( 2 π ) − n 2 ln ⁡ σ 2 − 1 2 σ 2 ∑ i = 1 n ( x i − μ ) 2 \ln \mathcal{L}=-\frac{n}{2} \ln (2 \pi)-\frac{n}{2} \ln \sigma^2-\frac{1}{2 \sigma^2} \sum_{i=1}^n(x_i-\mu)^2 lnL=2nln(2π)2nlnσ22σ21i=1n(xiμ)2
3. 求导解方程:
μ μ μ 求导:
∂ ln ⁡ L ∂ μ = 1 σ 2 ∑ i = 1 n ( x i − μ ) = 0 ⇒ μ ∗ = 1 n ∑ i = 1 n x i \frac{\partial \ln \mathcal{L}}{\partial \mu}=\frac{1}{\sigma^2} \sum_{i=1}^n\left(x_i-\mu\right)=0 \Rightarrow \quad \mu^*=\frac{1}{n} \sum_{i=1}^n x_i μlnL=σ21i=1n(xiμ)=0μ=n1i=1nxi
σ 2 \sigma^2 σ2求导:
∂ ln ⁡ L ∂ σ 2 = − n 2 σ 2 + 1 2 σ 4 ∑ i = 1 n ( x i − μ ) 2 = 0 ⇒ σ 2 ∗ = 1 n ∑ i = 1 n ( x i − μ ∗ ) 2 \frac{\partial \ln \mathcal{L}}{\partial \sigma^2}=-\frac{n}{2 \sigma^2}+\frac{1}{2 \sigma^4} \sum_{i=1}^n\left(x_i-\mu\right)^2=0 \Rightarrow \quad \sigma^{2 *}=\frac{1}{n} \sum_{i=1}^n\left(x_i-\mu^*\right)^2 σ2lnL=2σ2n+2σ41i=1n(xiμ)2=0σ2=n1i=1n(xiμ)2

  1. 结论
    μ ∗ \mu^* μ是样本均值, σ 2 ∗ \sigma^{2 *} σ2是样本方差(但分母为 n,有偏估计)。
例2:二项分布的参数估计

假设抛硬币 n 次,正面朝上 k 次,估计正面概率 p。

  1. 似然函数:
    $\mathcal{L}§ = \binom{n}{k} p^k (1-p)^{n-k} $

  2. 对数似然:

$\ln \mathcal{L} = \ln \binom{n}{k} + k \ln p + (n - k) \ln (1 - p) $
3. 求导解方程:
$\frac{\partial \ln \mathcal{L}}{\partial p} = \frac{k}{p} - \frac{n-k}{1-p} = 0 \implies p^* = \frac{k}{n} $

结论:正面概率的 MLE 估计是观测频率 k n \frac{k}{n} nk

 

四、MLE 与大模型的关系

在大模型(如 GPT、BERT、ResNet)中,MLE 是训练目标的数学基础,但需结合工程技巧扩展:

  1. 损失函数设计

    • 交叉熵损失:分类任务中,最小化交叉熵等价于最大化对数似然。
      例如,语言模型预测下一个词的概率分布时,损失函数为:

      L = − ∑ t = 1 T ln ⁡ P ( w t ∣ w < t , θ ) \mathcal{L} = - \sum_{t=1}^{T} \ln P(w_t|w_{<t}, \theta) L=t=1TlnP(wtw<t,θ)

    • 均方误差(MSE):回归任务中,MSE 等价于假设数据服从高斯分布时的 MLE。

  2. 正则化与贝叶斯扩展

    • MLE 容易过拟合,大模型常加入正则化项(如 L2 正则),这等价于最大后验估计(MAP,贝叶斯框架下的 MLE 扩展)。

    • 贝叶斯神经网络将 MLE 推广为后验分布推断(如变分推断)。

  3. 优化算法

    • 大模型参数规模巨大(如 GPT-3 有 1750 亿参数),直接求解 MLE 不可行,需使用 随机梯度下降(SGD) 或其变体(如 Adam)近似优化。
  4. 生成模型中的应用

    • 生成对抗网络(GAN)和扩散模型中,生成器的训练隐式地最大化数据的似然。

    • 自回归模型(如 Transformer)显式地通过 MLE 学习序列数据的分布。

五、MLE 的局限性及应对
  1. 过拟合风险

    • 问题:MLE 倾向于拟合训练数据噪声。

    • 解决方案:加入正则化项,或使用贝叶斯方法引入先验。

  2. 数据稀疏性

    • 问题:小数据场景下,MLE 估计可能不准确。

    • 解决方案:数据增强、预训练(如 BERT 的 MLM 任务)。

  3. 非凸优化

    • 问题:复杂模型的似然函数可能非凸,陷入局部最优。

    • 解决方案:随机初始化、动量优化、学习率调度。


六、总结
  • 核心公式 θ ∗ = arg ⁡ max ⁡ θ ∑ i = 1 n ln ⁡ P ( x i ∣ θ ) \theta^*=\arg \max _\theta \sum_{i=1}^n \ln P\left(x_i \mid \theta\right) θ=argmaxθi=1nlnP(xiθ)

  • 应用场景:从经典统计到深度学习,MLE 是参数估计的基石。

  • 大模型中的角色

    • 直接指导损失函数设计(如交叉熵)。

    • 结合正则化和优化算法解决高维问题。

    • 生成模型和自回归模型的核心训练目标。

  • 哲学意义:MLE 体现了“让数据自己说话”的思想,但需通过技术手段平衡拟合与泛化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2385644.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

六、【前端启航篇】Vue3 项目初始化与基础布局:搭建美观易用的管理界面骨架

【前端启航篇】Vue3 项目初始化与基础布局&#xff1a;搭建美观易用的管理界面骨架 前言技术选型回顾与准备准备工作第一步&#xff1a;进入前端项目并安装 Element Plus第二步&#xff1a;在 Vue3 项目中引入并配置 Element Plus第三步&#xff1a;设计基础页面布局组件第四步…

C++ 前缀和数组

一. 一维数组前缀和 1.1. 定义 前缀和算法通过预处理数组&#xff0c;计算从起始位置到每个位置的和&#xff0c;生成一个新的数组&#xff08;前缀和数组&#xff09;。利用该数组&#xff0c;可以快速计算任意区间的和&#xff0c;快速求出数组中某一段连续区间的和。 1.2. …

细胞冻存的注意事项,细胞冻存试剂有哪些品牌推荐

细胞冻存的原理 细胞冻存的基本原理是利用低温环境抑制细胞的新陈代谢&#xff0c;使细胞进入一种“休眠”状态。在低温条件下&#xff0c;细胞的生物活动几乎停止&#xff0c;从而实现长期保存。然而&#xff0c;细胞在冷冻过程中可能会因为细胞内外水分结冰形成冰晶而受损。…

快速上手Linux火墙管理

实验网络环境&#xff1a; 主机IP网络f1192.168.42.129/24NATf2&#xff08;双网卡&#xff09; 192.168.42.128/24 192.168.127.20/24 NAT HOST-NOLY f3192.168.127.30/24HOST-ONLY 一、iptables服务 1.启用iptables服务 2.语法格式及常用参数 语法格式&#xff1a;参数&…

[创业之路-375]:企业战略管理案例分析 - 华为科技巨擘的崛起:重构全球数字化底座的超级生命体

在人类文明从工业时代&#xff08;机械、电气、自动化&#xff09;迈向数字智能&#xff08;硬件、软件、算法、虚拟、智能&#xff09;时代的临界点上&#xff0c;一家中国企业正以令人震撼的姿态重塑全球科技版图。从通信网络的底层架构到智能终端的生态闭环&#xff0c;从芯…

AI基础知识(05):模型提示词、核心设计、高阶应用、效果增强

目录 一、核心设计原则 二、高阶应用场景 三、突破性技巧 以下是针对DeepSeek模型的提示词设计思路及典型应用场景示例&#xff0c;帮助挖掘其潜在能力&#xff1a; 一、核心设计原则 1. 需求明确化&#xff1a;用「角色定位任务目标输出格式」明确边界 例&#xff1a;作为历…

推测解码算法在 MTT GPU 的应用实践

前言​ 目前主流的大模型自回归解码每一步都只生成一个token, 尽管kv cache等技术可以提升解码的效率&#xff0c;但是单个样本的解码速度依然受限于访存瓶颈&#xff0c;即模型需要频繁从内存中读取和写入数据&#xff0c;此时GPU的利用率有限。为了解决这种问题&#xff0c;…

Axure酒店管理系统原型

酒店管理系统通常被设计为包含多个模块或界面&#xff0c;以支持酒店运营的不同方面和参与者。其中&#xff0c;管理端和商户端是两个核心组成部分&#xff0c;它们各自承担着不同的职责和功能。 软件版本&#xff1a;Axure RP 9 预览地址&#xff1a;https://556i1e.axshare.…

写实交互数字人在AI招聘中的应用方案

随着科技的进步&#xff0c;越来越多的行业开始探索如何利用人工智能提升效率和服务质量。其中&#xff0c;写实交互数字人技术以其高度拟真的交互体验和丰富的情感表达能力&#xff0c;在人力资源领域特别是招聘环节中展现出了巨大潜力。本文将探讨写实交互数字人在AI招聘中的…

房贷利率计算前端小程序

利率计算前端小程序 视图效果展示如下&#xff1a; 在这里插入代码片 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0&qu…

在Visual Studio中进行cuda编程

首先下载与CUDA Toolkit匹配的Visual Studio版本 比如我的CUDA Toolkit版本是12.6&#xff0c;那么我可以使用2022的Visual Studio。 查看Toolkit版本 nvcc -V 配置 ok&#xff0c;让我们开始Visual Studio的nvcc编译器配置 参考例文https://github.com/apachecn/succinc…

Fastrace:Rust 中分布式追踪的现代化方案

原文链接&#xff1a;Fastrace: A Modern Approach to Distributed Tracing in Rust | FastLabs / Blog 摘要 在微服务架构中&#xff0c;分布式追踪对于理解应用程序的行为至关重要。虽然 tokio-rs/tracing 在 Rust 中被广泛使用&#xff0c;但它存在一些显著的挑战&#xf…

Linux云计算训练营笔记day13【CentOS 7 find、vim、vimdiff、ping、wget、curl、RPM、YUM】

Linux云计算训练营笔记day13[CentOS 7 find、vim、vimdiff、ping、wget、curl、RPM、YUM]] 目录 Linux云计算训练营笔记day13[CentOS 7 find、vim、vimdiff、ping、wget、curl、RPM、YUM]]1.find练习2.vim高级使用2.1 命令模式:2.2 插入模式:2.3 末行模式: 3. vimdiff4. ping5.…

黑马Java基础笔记-15

Set 无索引&#xff0c;无序&#xff0c;不可重复 HashSet object类中默认hashCode的方法是根据地址值。 如果集合中存储的是自定义对象&#xff0c;必须要重写hashCode和equals方法。 底层原理 jdk8以前&#xff1a;数组 链表 jdk8及以后&#xff1a;数组 链表 红黑…

软件设计师“排序算法”真题考点分析——求三连

一、考点分值占比与趋势分析 综合知识题分值统计表 年份考题数量总分值分值占比考察重点2018222.67%时间复杂度/稳定性判断2019334.00%算法特性对比分析2020222.67%空间复杂度要求2021111.33%算法稳定性判断2022334.00%综合特性应用2023222.67%时间复杂度计算2024222.67%分治…

Visual Studio 2019/2022:当前不会命中断点,还没有为该文档加载任何符号。

1、打开调试的模块窗口&#xff0c;该窗口一定要在调试状态下才会显示。 vs2019打开调试的模块窗口 2、Visual Studio 2019提示未使用调试信息生成二进制文件 未使用调试信息生成二进制文件 3、然后到debug目录下看下确实未生成CoreCms.Net.Web.WebApi.pdb文件。 那下面的…

vue--ofd/pdf预览实现

背景 实现预览ofd/pdf超链接功能 业务实现 pdf的预览 实现方式&#xff1a; 直接使用 <iframe :src"${url}#navpanes0&toolbar0" /> 实现pdf的预览。 navpanes0 隐藏侧边栏toolbar0 隐藏顶部工具栏 使用pdf.js&#xff0c;代码先行&#xff1a; <tem…

Python 爬虫之requests 模块的应用

requests 是用 python 语言编写的一个开源的HTTP库&#xff0c;可以通过 requests 库编写 python 代码发送网络请求&#xff0c;其简单易用&#xff0c;是编写爬虫程序时必知必会的一个模块。 requests 模块的作用 发送网络请求&#xff0c;获取响应数据。 中文文档&#xf…

【MySQL】CRUD

CRUD 简介 CRUD是对数据库中的记录进行基本的增删改查操作 Create&#xff08;创建&#xff09;Retrieve&#xff08;读取&#xff09;Update&#xff08;更新&#xff09;Delete&#xff08;删除&#xff09; 一、新增&#xff08;Create&#xff09; 语法&#xff1a; I…

Spring Boot微服务架构(三):Spring Initializr创建CRM项目

使用Spring Initializr创建CRM项目 一、创建项目前的准备 访问Spring Initializr网站&#xff1a; 打开浏览器访问 https://start.spring.io/或者直接使用IDE&#xff08;如IntelliJ IDEA或Eclipse&#xff09;内置的Spring Initializr功能 项目基本信息配置&#xff1a; Proj…