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

线性模型 - Logistic 回归

Logistic 回归(Logistic Regression,LR)是一种常用的处理二分类问题的 线性模型。

Logistic 回归是一种用于二分类问题的统计模型,它通过将输入特征的线性组合映射到一个概率值来进行分类决策。

Logistic回归是机器学习中最经典的分类算法之一,尤其适用于二分类问题(如判断是否患病、是否点击广告)。它通过将线性回归的输出映射到概率空间,实现对类别的概率预测。

一、核心思想:从线性回归到概率映射

1. 与线性回归的区别

线性回归Logistic回归
预测连续值(如房价)预测概率(如点击广告的概率)
输出范围无限制(−∞,+∞)输出范围限制在[0,1](通过Sigmoid函数)

使用线性回归和 Logistic 回归来解决一维数据的二分类问题的 示例:

2. Sigmoid函数的作用

  • 当 z 越大时,σ(z)越接近 1;当 z 越小(负数且绝对值较大)时,σ(z)越接近 0。可结合其平滑的s曲线:

  • 通常我们将概率大于 0.5 的样本归为正类,低于 0.5 的归为负类。也可以根据具体应用调整这个阈值。

  • 关于sigmoid函数,请参考博文:机器学习 - 线性模型-CSDN博客

二、数学原理:模型训练与损失函数

1. 模型表达式

(1)使用 Logistic 函数来作为激活函数,增广特征向量和增广权重向量表示:

标签 𝑦 = 1 的后 验概率为:

为简单起见,这里𝒙 = [𝑥1,⋯,𝑥𝐷,1]^T 和𝒘 = [𝑤1,⋯,𝑤𝐷,𝑏]^T 分别为𝐷 + 1维 的增广特征向量和增广权重向量。

标签 𝑦 = 0 的后验概率为:

(2)Logistic 回归也称为对数几率回归(Logit Regression):

由标签 𝑦 = 1 的后验概率公式,进一步可以得出:

为样本 𝒙 为正反例后验概率的比值,称为几率(Odds),几率的对数称为对数几率(Log Odds,或 Logit).这样 Logistic 回归可以看作预测值为“标签的对数几率”的线性回归模型。因此,Logistic 回归也称为对数几率回归(Logit Regression).

(3)向量相乘展开:

Logistic 回归假设样本的标签 y(取值 0 或 1)服从伯努利分布,其概率为:

所以,由sigmoid函数推理得:

2. 损失函数(对数损失/交叉熵)

示例

  • 真实标签y=1,预测概率p=0.9 → 损失贡献:−log⁡(0.9)≈0.105

  • 真实标签y=0,预测概率p=0.2 → 损失贡献:−log⁡(0.8)≈0.223

三、logistic回归为什么把输入特征的线性组合映射到一个概率值来进行分类决策?

  1. 概率解释与不确定性表达
    在许多实际问题中,我们不仅需要一个明确的分类结果(正类或负类),还希望了解预测的置信度。通过将线性组合 z = w^T x + b 映射到 (0,1)的区间(使用 Sigmoid 函数),我们可以得到样本属于正类的概率。这种概率输出可以帮助决策者理解预测的不确定性,并在实际应用中进行风险控制。例如,在医疗诊断中,知道某病症的患病概率可以帮助医生决定是否进行进一步检测或治疗。

  2. 自然界事件的二项性质
    现实中的许多现象本质上是二项事件(例如,是否患病、是否为垃圾邮件、是否违约),这些事件可以用伯努利分布来描述。Logistic 回归通过概率模型来描述这些二项结果,使得模型输出的概率与真实世界中的发生概率相对应。

  3. 最大似然估计的数学框架
    Logistic 回归基于最大似然估计(MLE)的思想,将每个样本视为服从伯努利分布,其参数就是预测的概率。通过最大化数据的似然函数,我们可以得到一组最优参数。使用概率输出(即 σ(z))使得损失函数(如二元交叉熵)具有良好的数学性质(如凸性),便于求解和优化。

  4. 决策灵活性
    输出概率不仅允许我们进行简单的 0/1 分类(通常采用 0.5 为阈值),还可以根据具体应用调整决策阈值。例如,在某些场景中为了降低误报率或漏报率,可能会选择不同的阈值,从而使得决策更加灵活。

四、激活函数和联系函数:

(一)核心定义与目的对比

维度激活函数(Activation Function)联系函数(Link Function)
应用领域神经网络(深度学习)广义线性模型(GLM,如Logistic回归、泊松回归)
核心目的引入非线性,增强模型表达能力将线性预测结果映射到目标变量的自然参数空间
数学形式直接作用于神经元的输出(如ReLU, Sigmoid)连接线性预测器 ηη 和响应变量期望 E(y)E(y)
与分布的关系不依赖特定概率分布假设与响应变量的分布(如二项分布、泊松分布)紧密关联

(二)典型示例与数学表达

1. 激活函数(神经网络场景)

  • Sigmoid函数

    作用:用于二分类输出层,表示概率(如判断是否为猫)。

  • ReLU函数

    f(z)=max⁡(0,z)(解决梯度消失问题)

    作用:在隐藏层引入非线性,提升模型表达能力。

  • Softmax函数

    作用:多分类输出层,生成类别概率分布。

2. 联系函数(统计模型场景)

  • Logit函数(Logistic回归)

    作用:将线性预测值 η=β^T x 映射到概率 μ=P(y=1)。

  • Log函数(泊松回归)

    g(μ)=ln⁡(μ)(连接线性预测与泊松分布均值)

    作用:保证预测值 μ(计数均值)非负。

  • 恒等函数(线性回归)

    g(μ)=μ(直接映射到高斯分布均值)

    作用:无需非线性变换,直接预测连续值。

(三)核心区别与联系

   1. 核心区别

区别点激活函数联系函数
设计目标增加模型非线性,解决复杂模式学习问题将线性预测结果适配到特定分布的参数空间
模型背景神经网络(工程驱动,不依赖分布假设)广义线性模型(统计驱动,依赖明确的分布假设)
可解释性通常缺乏直接统计解释具有明确的统计意义(如Logit对应对数几率)
参数优化通过反向传播和梯度下降优化通过最大似然估计(MLE)优化

    2. 关键联系

  • 数学形式的相似性
    某些函数(如Sigmoid)既可作激活函数,也可作联系函数。
    示例

    • 在Logistic回归中,Sigmoid作为联系函数 g−1(η)=σ(η)。

    • 在神经网络中,Sigmoid作为激活函数用于输出层概率预测。

  • 连接不同空间
    两者均充当“桥梁”,将线性组合 z=β^T x 映射到目标空间:

    • 激活函数:a=f(z)(如ReLU输出激活值)。

    • 联系函数:μ=g−1(z)(如Logit的反函数为Sigmoid)。

(四)两者的核心角色

概念激活函数联系函数
本质模型工程的工具,增强非线性能力统计建模的桥梁,连接线性预测与分布参数
选择依据根据网络深度、梯度传播效果选择(如ReLU vs Sigmoid)根据响应变量分布选择(如Logit对应二项分布)
典型应用神经网络的隐藏层和输出层Logistic回归、泊松回归等广义线性模型

核心记忆点

  • 激活函数是神经网络的“开关”:决定神经元是否激活,并引入非线性。

  • 联系函数是统计模型的“翻译器”:将线性结果翻译为目标分布的语言。

  • 两者共性是“映射”:但激活函数面向模型能力,联系函数面向统计假设。


http://www.kler.cn/a/552326.html

相关文章:

  • 创建一个 JdbcService,并通过 Spring Boot 直接运行 SQL
  • ocr智能票据识别系统|自动化票据识别集成方案
  • 国密算法SM1、SM2、SM3和SM4 具体的使用和区别
  • PyTorch与TensorFlow的对比:哪个框架更适合你的项目?
  • 【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑬】
  • STM32 看门狗
  • 数据结构(3)——单链表
  • 路由器负载均衡配置
  • 优选算法《位运算》
  • Qt: 基础知识与应用
  • 模拟解决哈希表冲突
  • 思科、华为、H3C常用命令对照表
  • 【Java】泛型与集合篇(二)
  • C#的一种多线程实现:System.Threading.ThreadPool.QueueUserWorkItem
  • 【蓝桥杯集训·每日一题2025】 AcWing 6123. 哞叫时间 python
  • 在阿里云Linux主机上运行大模型deepseek r1
  • Go 模块管理工具 `go mod tidy` 和 `go.sum` 文件详解
  • Django 创建表 choices的妙用:get_<field_name>_display()
  • 【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析④】
  • python环境的yolov11.rknn物体检测