机器学习 - 关于逻辑回归的若干问题

ops/2025/2/12 21:47:21/

在《词袋模型(Bag of Words)实现文本情感分类的详细示例》一文中,对于为什么采用逻辑回归及相关操作,存在一些疑问,因而去做了了解和调研,整理后做个记录,加深对逻辑回归的理解。

一、机器学习逻辑回归,是判断概率大小的嘛?

逻辑回归主要用于二分类问题,其核心目标就是估计样本属于某一类别的概率。具体来说,逻辑回归通过以下步骤实现这一目标:

  1. 线性组合
    对输入特征 xx 进行线性组合,计算线性模型的输出:

    其中 w 是权重向量,b 是偏置项。

  2. Sigmoid 函数转换为概率
    将线性输出 z 输入到 sigmoid 函数中,得到一个位于 (0, 1) 区间的数值:

    这个数值表示样本属于正类别的概率 P(y=1∣x)。

  3. 判断概率大小
    根据计算得到的概率,可以设置一个阈值(通常为 0.5),如果 σ(z)≥0.5 则预测为正类,否则预测为负类。
    此外,概率输出还可以反映分类的置信度,概率越接近 0 或 1,分类器对该预测的信心越高。

因此,逻辑回归确实是通过判断输出概率的大小来进行分类决策。它不仅给出类别标签,同时提供了类别的概率估计,帮助我们理解模型的信心程度。

二、逻辑回归为什么不直接预测值?而是引入概率且设置一个阀值,之后再进行判断?

逻辑回归的核心目标是解决二分类问题,其输出需要表达样本属于某一类别的概率,而不是直接输出一个离散的类别标签。这样做有几个原因:

  1. 概率输出便于表达不确定性
    逻辑回归通过对输入特征做线性组合后,再用 sigmoid 函数将结果映射到 0 到 1 之间,从而得到一个概率值。这种概率输出不仅告诉我们最终分类结果,还反映了模型对该预测的信心。例如,一个预测概率为 0.95 表示模型非常确信样本属于正类别,而 0.55 则表示不确定性较高。

  2. 方便使用统计方法进行参数估计
    使用概率输出可以利用最大似然估计(MLE)来求解模型参数。MLE 的推导依赖于构建似然函数,并对参数进行优化,而对数似然函数的最大化能够简化推导过程。如果直接预测 0 或 1,模型的训练和参数优化将失去这种概率模型的统计基础。

  3. 灵活设置决策阈值
    将输出作为概率后,可以根据具体应用场景灵活设定阈值(例如常见的 0.5 阈值),以便更好地平衡假正例和假负例的风险。在某些情况下,可能希望调整阈值来适应不同的业务需求,而直接输出类别标签无法提供这种灵活性。

  4. 与回归方法的数学一致性
    如果直接输出 0 或 1,会使得模型看起来像是一个硬分类器,而逻辑回归实际上是在建构一个连续的概率函数,这使得优化过程和误差函数(如交叉熵损失)的构造更为自然和连续,从而便于使用梯度下降等连续优化算法。

总之,逻辑回归不直接预测离散的类别标签,而是通过预测概率,再结合预设的阈值来进行分类决策。这不仅能够表达模型的不确定性,还使得参数估计和模型训练过程更加科学和灵活。

三、那么对于逻辑回归,阀值一般怎么选取呢 ?

逻辑回归等概率模型中,我们通常会将模型输出的概率与一个阈值(阀值)比较,从而决定分类结果。阈值的选取没有绝对固定的数值,但常见的方法和考虑因素包括:

  1. 默认值 0.5

    • 当正负样本比例比较平衡时,通常默认将 0.5 作为阈值。如果模型预测的正类概率大于或等于 0.5,则分类为正例,否则为负例。
  2. 根据业务需求调整

    • 在实际应用中,不同场景对假正例和假负例的容忍度不同。例如:
      • 在医疗诊断中,为了降低漏诊率(假负例),可能会将阈值设定得较低,让模型更容易判断为正例;
      • 在垃圾邮件过滤中,为了避免误将正常邮件标为垃圾邮件(假正例),可能会将阈值设定得较高。
  3. 通过性能指标选择

    • 可以使用 ROC 曲线(接收器操作特征曲线)和 PR 曲线(精确率-召回率曲线)来评估不同阈值下的模型性能。
    • 寻找能使某个指标(例如 Youden 指数、F1-score)达到最优的阈值。
    • 交叉验证也常用于确定一个最优阈值,从而在训练数据和验证数据上取得较好的平衡。
  4. 数据分布和类别不平衡问题

    • 如果正负样本分布不平衡,直接采用 0.5 可能无法达到最佳效果,此时需要根据样本比例调整阈值,或通过调整类别权重来改善模型表现。

总之,阈值的选取通常结合数据特点、任务需求和性能指标。虽然 0.5 是常见的默认值,但在实际应用中,往往需要通过试验、评估(如 ROC、PR 曲线分析)以及业务背景来确定最合适的阈值。


http://www.ppmy.cn/ops/157871.html

相关文章

深度卷积神经网络实战海洋动物图像识别

本文采用深度卷积神经网络作为核心算法框架,结合PyQt5构建用户界面,使用Python3进行开发。YOLOv11以其高效的特征提取能力,在多个图像分类任务中展现出卓越性能。本研究针对5种海洋动物数据集进行训练和优化,该数据集包含丰富的海…

二叉树的遍历方式和子问题思路

目录 二叉树的遍历: 前序遍历: 中序遍历: 后序遍历: 二叉树的基本操作: 求树的结点个数(递归遍历思路): 求树的结点个数(子问题思路): 求树的…

Expo运行模拟器失败错误解决(xcrun simctl )

根据你的描述,问题主要涉及两个方面:xcrun simctl 错误和 Expo 依赖版本不兼容。以下是针对这两个问题的解决方案: 解决 xcrun simctl 错误 错误代码 72 通常表明 simctl 工具未正确配置或路径未正确设置。以下是解决步骤: 确保 …

2.11-背包问题

Code-2.11-背包问题 LCR 101. 分割等和子集 分析&#xff1a;经典背包问题。 class Solution { public:bool canPartition(vector<int>& nums) {int n nums.size();int sum 0;for (auto e : nums) sum e;if (sum % 2 1) return false;int half sum / 2;vecto…

寒假集训思维训练6

A - Humidifier 1 首先要知道&#xff0c;题目是按时间线的顺序给出了每一次加水操作的 加湿器每分钟会消耗1升水 对于这种要记录时间线的题目&#xff0c;通常我们应该自己记录一个 T T T 一开始时间 T 0 &#xff0c;答案剩余水 a n s 0 T0&#xff0c;答案剩余水ans0 T0&a…

食品饮料生产瓶颈?富唯智能协作机器人来 “破壁”

在食品和饮料行业的发展进程中&#xff0c;诸多生产瓶颈如重复性劳动负担、复杂环境作业难题、季节性产能波动等&#xff0c;长期制约着企业的高效运营与进一步发展。如今&#xff0c;富唯智能协作机器人的出现&#xff0c;为这些难题提供了完美的解决方案&#xff0c;正逐步改…

ESP32S3基于espidf ADC使用

ESP32S3基于espidf ADC使用 官方在线文档介绍模数转换器&#xff1a;https://docs.espressif.com/projects/esp-idf/zh_CN/stable/esp32s3/api-reference/peripherals/adc_oneshot.html&#x1f516;espidf版本&#xff1a;v5.4 模数转换器 (ADC)转换方式&#xff1a; 模数转换…

【STM32系列】利用MATLAB配合ARM-DSP库设计FIR数字滤波器(保姆级教程)

ps.源码放在最后面 设计IIR数字滤波器可以看这里&#xff1a;利用MATLAB配合ARM-DSP库设计IIR数字滤波器&#xff08;保姆级教程&#xff09; 前言 本篇文章将介绍如何利用MATLAB与STM32的ARM-DSP库相结合&#xff0c;简明易懂地实现FIR低通滤波器的设计与应用。文章重点不在…