当前位置: 首页 > news >正文

极大似然估计与机器学习

复习概统的时候突然发现好像极大似然估计MLE与机器学习的数据驱动非常相似,都是采样样本然后估计模型参数。貌似,后知后觉的才意识到极大似然估计就是机器学习有效的数学保证

下面以拟合线性分布的最小二乘与分类问题为例推到以下如何从似然函数推导出MSE损失与交叉熵损失

一、线性回归的最小二乘法

1. 概率模型设定

假设数据由线性模型生成,且观测噪声服从 正态分布:
y = w T x + ϵ , ϵ ∼ N ( 0 , σ 2 ) y = \mathbf{w}^T \mathbf{x} + \epsilon, \quad \epsilon \sim \mathcal{N}(0, \sigma^2) y=wTx+ϵ,ϵN(0,σ2)
则给定输入 x \mathbf{x} x 时, y y y 的条件概率密度为:
p ( y ∣ x ; w ) = 1 2 π σ 2 exp ⁡ ( − ( y − w T x ) 2 2 σ 2 ) p(y | \mathbf{x}; \mathbf{w}) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left( -\frac{(y - \mathbf{w}^T \mathbf{x})^2}{2\sigma^2} \right) p(yx;w)=2πσ2 1exp(2σ2(ywTx)2)
均值即为 ( y − w T x ) 2 (y - \mathbf{w}^T \mathbf{x})^2 (ywTx)2

2. 似然函数与对数似然

对于独立同分布的 N N N 个样本 { ( x i , y i ) } i = 1 N \{(\mathbf{x}_i, y_i)\}_{i=1}^N {(xi,yi)}i=1N,似然函数为:
L ( w ) = ∏ i = 1 N p ( y i ∣ x i ; w ) L(\mathbf{w}) = \prod_{i=1}^N p(y_i | \mathbf{x}_i; \mathbf{w}) L(w)=i=1Np(yixi;w)
取对数得 对数似然函数:
ln ⁡ L ( w ) = − N 2 ln ⁡ ( 2 π σ 2 ) − 1 2 σ 2 ∑ i = 1 N ( y i − w T x i ) 2 \ln L(\mathbf{w}) = -\frac{N}{2} \ln(2\pi\sigma^2) - \frac{1}{2\sigma^2} \sum_{i=1}^N (y_i - \mathbf{w}^T \mathbf{x}_i)^2 lnL(w)=2Nln(2πσ2)2σ21i=1N(yiwTxi)2

3. 极大似然估计等价于最小二乘法

• 最大化对数似然等价于最小化 负对数似然。

• 忽略与 w \mathbf{w} w 无关的常数项,优化目标简化为:

min ⁡ w ∑ i = 1 N ( y i − w T x i ) 2 \min_{\mathbf{w}} \sum_{i=1}^N (y_i - \mathbf{w}^T \mathbf{x}_i)^2 wmini=1N(yiwTxi)2
结论:最小二乘法的损失函数是高斯噪声假设下的极大似然估计结果。


二、分类问题的交叉熵损失

1. 概率模型设定(以二分类为例)

假设标签 y ∈ { 0 , 1 } y \in \{0,1\} y{0,1}服从 伯努利分布,其概率由逻辑函数(sigmoid)给出:
p ( y ∣ x ; w ) = y ^ y ( 1 − y ^ ) 1 − y , y ^ = σ ( w T x ) = 1 1 + e − w T x p(y | \mathbf{x}; \mathbf{w}) = \hat{y}^y (1 - \hat{y})^{1-y}, \quad \hat{y} = \sigma(\mathbf{w}^T \mathbf{x}) = \frac{1}{1 + e^{-\mathbf{w}^T \mathbf{x}}} p(yx;w)=y^y(1y^)1y,y^=σ(wTx)=1+ewTx1
其中 y ^ \hat{y} y^ 是模型预测的 y = 1 y=1 y=1 的概率。

2. 似然函数与对数似然

对于 N N N个独立样本,似然函数为:
L ( w ) = ∏ i = 1 N y ^ i y i ( 1 − y ^ i ) 1 − y i L(\mathbf{w}) = \prod_{i=1}^N \hat{y}_i^{y_i} (1 - \hat{y}_i)^{1-y_i} L(w)=i=1Ny^iyi(1y^i)1yi
取对数得 对数似然函数:
ln ⁡ L ( w ) = ∑ i = 1 N [ y i ln ⁡ y ^ i + ( 1 − y i ) ln ⁡ ( 1 − y ^ i ) ] \ln L(\mathbf{w}) = \sum_{i=1}^N \left[ y_i \ln \hat{y}_i + (1-y_i) \ln (1 - \hat{y}_i) \right] lnL(w)=i=1N[yilny^i+(1yi)ln(1y^i)]

3. 极大似然估计等价于最小化交叉熵

• 最大化对数似然等价于最小化 负对数似然:

min ⁡ w − ∑ i = 1 N [ y i ln ⁡ y ^ i + ( 1 − y i ) ln ⁡ ( 1 − y ^ i ) ] \min_{\mathbf{w}} -\sum_{i=1}^N \left[ y_i \ln \hat{y}_i + (1-y_i) \ln (1 - \hat{y}_i) \right] wmini=1N[yilny^i+(1yi)ln(1y^i)]
• 这正是 二元交叉熵损失(Binary Cross-Entropy Loss)。

结论:交叉熵损失是伯努利分布假设下的极大似然估计结果。


三、通用框架与扩展

1. 核心思想

• 概率建模:根据问题类型选择合适的概率分布:

• 回归问题 → 高斯分布(连续输出)。

• 分类问题 → 伯努利/多项分布(离散输出)。

• 损失函数 = 负对数似然:

L ( w ) = − ln ⁡ L ( w ) \mathcal{L}(\mathbf{w}) = -\ln L(\mathbf{w}) L(w)=lnL(w)

2. 其他常见例子

问题类型分布假设损失函数
多分类(K类)多项分布(Softmax)交叉熵损失
泊松回归泊松分布负对数泊松似然
鲁棒回归拉普拉斯分布绝对误差(L1损失)

3. 代码实现示例

(1) 最小二乘法(PyTorch)

import torch# 定义模型和损失
model = torch.nn.Linear(in_features=2, out_features=1)
criterion = torch.nn.MSELoss()  # 等价于高斯MLE# 前向计算
y_pred = model(X)
loss = criterion(y_pred, y)

(2) 交叉熵损失(逻辑回归)

import torch# 定义模型和损失
model = torch.nn.Linear(in_features=2, out_features=1)
criterion = torch.nn.BCEWithLogitsLoss()  # 等价于伯努利MLE# 前向计算
logits = model(X)
loss = criterion(logits, y)

四、总结

• 最小二乘法和交叉熵损失的本质:

它们都是通过假设数据的生成分布(高斯/伯努利),然后对参数进行极大似然估计导出的。
• 机器学习与概率论的桥梁:

损失函数的设计可以统一理解为对数据分布假设的统计推断,这使得概率论成为理解算法背后原理的有力工具。

理解这一框架后,你可以轻松推广到其他分布假设(如泊松回归、鲁棒回归等),并设计新的损失函数来匹配具体问题。

http://www.xdnf.cn/news/573067.html

相关文章:

  • python查询elasticsearch 获取指定字段的值的list
  • 操作系统期末复习(一)
  • 淘宝扭蛋机小程序开发:开启电商娱乐新玩法
  • 工程项目交付质量低?如何构建标准化管理体系?
  • C++网络编程入门学习(四)-- GDB 调试 学习 笔记
  • 第9.1讲、Tiny Encoder Transformer:极简文本分类与注意力可视化实战
  • 计算机操作系统(十)调度的概念与层次,进程调度的时机与进程的调度方式
  • LVLM-AFAH论文精读
  • GitHub SSH Key 配置详细教程(适合初学者,Windows版)-学习记录4
  • CESM2.0 全流程解析:从环境搭建到多模块耦合模拟
  • 打开小程序提示请求失败(小程序页面空白)
  • Python实现蛋白质结构RMSD计算
  • RAG 挑战赛冠军方案解析:从数据解析到多路由器检索的工程实践,推荐阅读!
  • Android Framework开发环境搭建
  • 【Linux庖换现象丁解牛】—进程程序替换!
  • python训练营打卡第30天
  • C++--string类对象
  • 【ffmpeg】ffprobe基本用法
  • 想解决内容同质化难题?运营该从哪入手?
  • linux系统查看硬盘序列号
  • 129.在 Vue3 中使用 OpenLayers 实现点击获取重叠要素信息(支持多 Feature)
  • Spring Boot 登录实现:JWT 与 Session 全面对比与实战讲解
  • ES的倒排索引和正排索引的区别及适用场景?为什么倒排索引适合全文搜索?
  • 目标检测基础知识
  • 使用 electron-builder 打包与发布 Electron 应用
  • Prometheus+Grafana实现对服务的监控
  • 黑色矩形大于6识别
  • RTMP协议解析【二】
  • RTMP协议解析[一]
  • lcd气压表研发方案芯片——用于胎压检测