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

似然函数对数似然函数负对数似然函数

目录

  • 1. 似然函数的定义
  • 2. 对数似然函数的定义
  • 3. 负对数似然函数的定义
  • 4. 负对数似然函数的优化
  • 5. 具体应用示例
    • 5.1 逻辑回归中的负对数似然函数
    • 5.2 优化逻辑回归的负对数似然函数

1. 似然函数的定义

似然函数L(θ∣X)L(\theta | X)L(θX)是在给定参数θ\thetaθ 下,观测数据XXX出现的概率。它是统计推断中的一个核心概念,用于衡量在特定参数假设下,观测数据的合理性。

假设我们有一组观测数据X={x1,x2,…,xn}X = \{x_1, x_2, \dots, x_n\}X={x1,x2,,xn},并且假设这些数据是独立同分布的(i.i.d.)(i.i.d.)i.i.d.,那么似然函数可以表示为所有观测数据概率的乘积:

L(θ∣X)=∏i=1nP(xi∣θ)L(\theta | X) = \prod_{i=1}^{n} P(x_i | \theta) L(θX)=i=1nP(xiθ)

其中:

  • θ\thetaθ是模型的参数,例如线性回归中的权重和偏置,或者逻辑回归中的权重向量。
  • P(xi∣θ)P(x_i | \theta)P(xiθ)是在参数 θ\thetaθ下,第iii 个数据点 xix_ixi出现的概率。

示例:假设有一个简单的硬币抛掷实验,硬币正面朝上的概率为θ\thetaθ,反面朝上的概率为 1−θ1 - \theta1θ。如果进行了 nnn 次独立的抛掷,观察到正面朝上的次数为 kkk,那么似然函数可以表示为:

L(θ∣k,n)=θk(1−θ)n−kL(\theta | k, n) = \theta^k (1 - \theta)^{n - k} L(θk,n)=θk(1θ)nk



2. 对数似然函数的定义

对数似然函数 ℓ(θ∣X)\ell(\theta | X)(θX)是似然函数的自然对数。它将似然函数的乘积形式转换为求和形式,便于计算和优化。

ℓ(θ∣X)=log⁡L(θ∣X)=log⁡(∏i=1nP(xi∣θ))=∑i=1nlog⁡P(xi∣θ)\ell(\theta | X) = \log L(\theta | X) = \log \left( \prod_{i=1}^{n} P(x_i | \theta) \right) = \sum_{i=1}^{n} \log P(x_i | \theta) (θX)=logL(θX)=log(i=1nP(xiθ))=i=1nlogP(xiθ)

为什么要取对数?

  1. 简化计算:将乘积转换为求和,避免数值下溢或上溢问题。
  2. 数学性质:对数函数是单调递增的,因此最大化对数似然函数等价于最大化似然函数。
  3. 统计意义:对数似然函数在统计推断中具有良好的性质,例如渐近正态性。



3. 负对数似然函数的定义

负对数似然函数 NLL(θ∣X)\text{NLL}(\theta | X)NLL(θX)是对数似然函数的负值。它将最大化似然函数的问题转化为最小化损失函数的问题,便于在机器学习中使用优化算法。

NLL(θ∣X)=−ℓ(θ∣X)=−∑i=1nlog⁡P(xi∣θ)\text{NLL}(\theta | X) = -\ell(\theta | X) = -\sum_{i=1}^{n} \log P(x_i | \theta) NLL(θX)=(θX)=i=1nlogP(xiθ)

为什么要取负值?
在机器学习中,优化问题通常被表述为最小化某个损失函数。取负对数似然函数的目的是将最大化似然函数的问题转化为最小化损失函数的问题。具体来说:

  • 最大化似然函数max⁡θℓ(θ∣X)\max_{\theta} \ell(\theta | X)maxθ(θX)
  • 最小化负对数似然函数min⁡θNLL(θ∣X)\min_{\theta} \text{NLL}(\theta | X)minθNLL(θX)

这两个优化问题是等价的,因为对数函数是单调递增的。


4. 负对数似然函数的优化

在实际应用中,通常通过最小化负对数似然函数来估计模型参数 θ\thetaθ。具体步骤如下:

  1. 定义模型:选择一个概率模型 P(x∣θ)P(x | \theta)P(xθ),例如高斯分布、伯努利分布等。
  2. 计算负对数似然函数:根据模型和数据,计算负对数似然函数 NLL(θ∣X)\text{NLL}(\theta | X)NLL(θX)
  3. 优化参数:通过梯度下降或其他优化算法,最小化负对数似然函数,找到最优参数 θ^\hat{\theta}θ^

梯度下降法:假设使用梯度下降法来优化参数θ\thetaθ。梯度下降的更新规则为:

θnew=θold−η∇θNLL(θ∣X)\theta_{\text{new}} = \theta_{\text{old}} - \eta \nabla_{\theta} \text{NLL}(\theta | X) θnew=θoldηθNLL(θX)

其中:

  • η\etaη 是学习率,控制每次迭代的步长。
  • ∇θNLL(θ∣X)\nabla_{\theta} \text{NLL}(\theta | X)θNLL(θX) 是负对数似然函数对参数θ\thetaθ 的梯度。



5. 具体应用示例

5.1 逻辑回归中的负对数似然函数

假设有一个二分类问题,使用逻辑回归模型。逻辑回归模型的输出是样本属于类别 1 的概率:

P(y=1∣x,θ)=σ(θTx)P(y = 1 | x, \theta) = \sigma(\theta^T x) P(y=1∣x,θ)=σ(θTx)

其中 σ(z)=11+e−z\sigma(z) = \frac{1}{1 + e^{-z}}σ(z)=1+ez1是 Sigmoid 函数。

对于二分类问题,似然函数可以表示为:

L(θ∣X,y)=∏i=1nP(yi∣xi,θ)L(\theta | X, y) = \prod_{i=1}^{n} P(y_i | x_i, \theta) L(θX,y)=i=1nP(yixi,θ)

其中yi∈{0,1}y_i \in \{0, 1\}yi{0,1}是第 iii个样本的标签。

对数似然函数为:

ℓ(θ∣X,y)=∑i=1nlog⁡P(yi∣xi,θ)=∑i=1n[yilog⁡σ(θTxi)+(1−yi)log⁡(1−σ(θTxi))]\ell(\theta | X, y) = \sum_{i=1}^{n} \log P(y_i | x_i, \theta) = \sum_{i=1}^{n} \left[ y_i \log \sigma(\theta^T x_i) + (1 - y_i) \log (1 - \sigma(\theta^T x_i)) \right] (θX,y)=i=1nlogP(yixi,θ)=i=1n[yilogσ(θTxi)+(1yi)log(1σ(θTxi))]

负对数似然函数为:

NLL(θ∣X,y)=−∑i=1n[yilog⁡σ(θTxi)+(1−yi)log⁡(1−σ(θTxi))]\text{NLL}(\theta | X, y) = -\sum_{i=1}^{n} \left[ y_i \log \sigma(\theta^T x_i) + (1 - y_i) \log (1 - \sigma(\theta^T x_i)) \right] NLL(θX,y)=i=1n[yilogσ(θTxi)+(1yi)log(1σ(θTxi))]

5.2 优化逻辑回归的负对数似然函数

为了优化逻辑回归模型的参数θ\thetaθ,需要计算负对数似然函数的梯度:

∇θNLL(θ∣X,y)=−∑i=1n[yi∂∂θlog⁡σ(θTxi)+(1−yi)∂∂θlog⁡(1−σ(θTxi))]\nabla_{\theta} \text{NLL}(\theta | X, y) = -\sum_{i=1}^{n} \left[ y_i \frac{\partial}{\partial \theta} \log \sigma(\theta^T x_i) + (1 - y_i) \frac{\partial}{\partial \theta} \log (1 - \sigma(\theta^T x_i)) \right] θNLL(θX,y)=i=1n[yiθlogσ(θTxi)+(1yi)θlog(1σ(θTxi))]

通过链式法则,可以得到:

∂∂θlog⁡σ(θTxi)=σ′(θTxi)σ(θTxi)xi\frac{\partial}{\partial \theta} \log \sigma(\theta^T x_i) = \frac{\sigma'(\theta^T x_i)}{\sigma(\theta^T x_i)} x_i θlogσ(θTxi)=σ(θTxi)σ(θTxi)xi

∂∂θlog⁡(1−σ(θTxi))=−σ′(θTxi)1−σ(θTxi)xi\frac{\partial}{\partial \theta} \log (1 - \sigma(\theta^T x_i)) = \frac{-\sigma'(\theta^T x_i)}{1 - \sigma(\theta^T x_i)} x_i θlog(1σ(θTxi))=1σ(θTxi)σ(θTxi)xi

其中 σ′(z)=σ(z)(1−σ(z))\sigma'(z) = \sigma(z)(1 - \sigma(z))σ(z)=σ(z)(1σ(z))是 Sigmoid 函数的导数。

因此,负对数似然函数的梯度可以简化为:

∇θNLL(θ∣X,y)=−∑i=1n[yiσ(θTxi)(1−σ(θTxi))σ(θTxi)xi−(1−yi)σ(θTxi)(1−σ(θTxi))1−σ(θTxi)xi]\nabla_{\theta} \text{NLL}(\theta | X, y) = -\sum_{i=1}^{n} \left[ y_i \frac{\sigma(\theta^T x_i)(1 - \sigma(\theta^T x_i))}{\sigma(\theta^T x_i)} x_i - (1 - y_i) \frac{\sigma(\theta^T x_i)(1 - \sigma(\theta^T x_i))}{1 - \sigma(\theta^T x_i)} x_i \right] θNLL(θX,y)=i=1n[yiσ(θTxi)σ(θTxi)(1σ(θTxi))xi(1yi)1σ(θTxi)σ(θTxi)(1σ(θTxi))xi]

进一步简化为:

∇θNLL(θ∣X,y)=−∑i=1n[yi(1−σ(θTxi))−(1−yi)σ(θTxi)]xi\nabla_{\theta} \text{NLL}(\theta | X, y) = -\sum_{i=1}^{n} \left[ y_i (1 - \sigma(\theta^T x_i)) - (1 - y_i) \sigma(\theta^T x_i) \right] x_i θNLL(θX,y)=i=1n[yi(1σ(θTxi))(1yi)σ(θTxi)]xi

最终得到:

∇θNLL(θ∣X,y)=−∑i=1n[yi−σ(θTxi)]xi\nabla_{\theta} \text{NLL}(\theta | X, y) = -\sum_{i=1}^{n} \left[ y_i - \sigma(\theta^T x_i) \right] x_i θNLL(θX,y)=i=1n[yiσ(θTxi)]xi

这个公式是逻辑回归模型中负对数似然函数的梯度,它在模型训练中用于参数的优化。



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

相关文章:

  • Ant Design for UI 选择下拉框
  • BIO、NIO 和 AIO
  • 2025.8.25回溯算法-集合
  • Typora + PicList + Gitee 图床完整配置教程
  • 【ElasticSearch】json查询语法和可用的客户端
  • ESP32开发WSL_VSCODE环境搭建
  • Mysql系列--8、索引
  • Java延迟任务实现方案详解:从DelayQueue到实际应用
  • 2.3零基础玩转uni-app轮播图:从入门到精通 (咸虾米总结)
  • 【Docker基础】Docker-compose进阶配置:健康检查与服务就绪
  • K8s Pod驱逐机制详解与实战
  • C++ extern 关键字面试深度解析
  • 开源 C++ QT Widget 开发(六)通讯--TCP调试
  • 安全合规:AC(上网行为安全)--下
  • vue 一键打包上传
  • Genymotion 虚拟机如何安装 APK?(ARM 插件安装教程)
  • ICCV 2025|TRACE:无需标注,用3D高斯直接学习物理参数,从视频“预知”未来!
  • 二、添加3D形状
  • More Effective C++ 条款07:不要重载、和,操作符
  • 【系统架构设计师】数据库设计(一):数据库技术的发展、数据模型、数据库管理系统、数据库三级模式
  • 审核问题——首次进入APP展示隐私政策弹窗
  • 大模型(一)什么是 MCP?如何使用 Charry Studio 集成 MCP?
  • 深分页实战
  • 计算机网络:HTTP、抓包、TCP和UDP报文及重要概念
  • GPT5的Test-time compute(测试时计算)是什么?
  • Legion Y7000P IRX9 DriveList
  • HTTP 与 HTTPS 深度解析:从原理到实际应用
  • 链表OJ习题(1)
  • 1. 并发产生背景 并发解决原理
  • pytest 并发执行用例(基于受限的测试资源)