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

在《词袋模型(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 曲线分析)以及业务背景来确定最合适的阈值。

相关推荐
霍格沃兹测试开发学社测试人社区39 分钟前
人工智能丨Deepseek vs 传统测试工具:谁将主导软件质量保障?
软件测试·人工智能·测试开发·测试工具·deepseek
AI-智能41 分钟前
DeepSeek入门到精通!(清华大学104页ppt下载)
人工智能·程序员·langchain·编程·llama·milvus·deepseek
Francek Chen1 小时前
【DeepSeek】在本地计算机上部署DeepSeek-R1大模型实战(完整版)
人工智能·深度学习·语言模型·ai编程·deepseek
coderlin_1 小时前
前端到AI,LangChain.Js(二)
前端·人工智能·langchain
2401_897605652 小时前
星动纪元ERA-42:端到端原生机器人大模型的里程碑式突破
前端·人工智能·机器人
FIT2CLOUD飞致云2 小时前
重要发布 | MaxKB开源知识库问答系统发布首个LTS版本
人工智能·开源
金融OG2 小时前
100.13 AI量化面试题:支持向量机(SVM)如何处理高维和复杂数据集?
人工智能·python·算法·机器学习·支持向量机·数学建模·金融
FF-Studio2 小时前
读 DeepSeek-R1 论文笔记
论文阅读·人工智能·深度学习·机器学习·语言模型·自然语言处理·deepseek
羑悻的小杀马特2 小时前
蓝耘智算平台硬核部署 DeepSeek, 解锁 AI 内在的无限潜能
人工智能·ai大模型·deepseek
AuGuSt_812 小时前
N-Beats:一种用于时间序列预测的纯前馈神经网络模型
人工智能·深度学习·神经网络