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

05 逻辑斯蒂回归(Logistic Regression)

核心问题:如何用回归的思路解决分类问题?
逻辑回归虽然名字里有“回归”,但它是一种分类算法,尤其擅长二分类(如是否欺诈、是否患病)。


一、为什么不能用线性回归做分类?

1.1 线性回归的输出范围问题

  • 线性回归:,输出范围是 (−∞,+∞)。

  • 分类问题需要输出概率,范围应该在 [0,1] 之间。

  • 直接用线性回归,预测结果可能大于1或小于0,没有概率意义。

1.2 解决方案:套上一个“压缩函数”

我们需要一个函数,能把线性回归的输出(任意实数)映射到 (0,1)区间。
这个函数就是Sigmoid 函数(也叫逻辑斯蒂函数)。

逻辑斯蒂回归 = 线性回归 + Sigmoid 函数


二、Sigmoid 函数(核心)

2.1 公式与图像

形状:S 形曲线,关于点 (0, 0.5) 中心对称。

2.2 导数性质(重要)

这个性质在梯度下降推导中非常有用。

2.3 为什么用它?

  • 输出天然是概率值

  • 光滑可导,适合梯度下降优化

  • 在 z=0附近变化最敏感,远离0时趋于饱和


三、逻辑斯蒂回归模型定义(二分类)

3.1 模型表达式

3.2 对数几率(Logit)

左边是“正类概率 / 负类概率”的对数,称为对数几率(log-odds)
这揭示了逻辑回归的本质:对数几率是输入特征的线性函数

3.3 预测规则


四、如何学习参数 w 和 b?—— 最大似然估计


五、梯度下降求解

5.1 梯度公式

5.2 参数更新(梯度下降)

5.3 学习率的选择

学习率表现问题
过小收敛极慢训练时间长
适中稳定收敛
过大震荡甚至发散无法收敛

常用策略:学习率衰减、自适应优化器(Adam、RMSprop)。


六、决策边界

6.1 线性决策边界

由预测规则决定。
在二维空间中是一条直线,在高维空间中是一个超平面。

例子:0.5x1+0.8x2−1=0 是一条直线,一侧预测为 1,另一侧为 0。

6.2 局限性

逻辑回归的决策边界始终是线性的。如果数据本身是非线性可分的(如圆形、螺旋形),原始逻辑回归无法正确分类。

6.3 如何实现非线性决策边界?


七、模型评估(分类标准指标)

7.1 混淆矩阵

真实\预测正类 (1)负类 (0)
正类 (1)TPFN
负类 (0)FPTN

7.2 核心指标

  • 准确率 (Accuracy)= (TP+TN) / 总样本 —— 整体正确率,但易受不平衡数据影响。

  • 精确率 (Precision)= TP / (TP+FP) —— 预测为正的样本中实际为正的比例。

  • 召回率 (Recall)= TP / (TP+FN) —— 实际为正的样本中被找出的比例。

  • F1 分数= 2 × (精确率×召回率) / (精确率+召回率) —— 两者的调和平均。

  • ROC 曲线与 AUC

    • ROC 横轴 FPR = FP/(FP+TN),纵轴 TPR = TP/(TP+FN)

    • AUC 是 ROC 曲线下面积,值越大模型排序能力越强,且对不平衡数据鲁棒。

详情可参考前一章《ROC曲线与AUC手动计算》。


八、正则化(防止过拟合)

8.1 为什么需要正则化?

逻辑回归中,如果特征很多或数据线性可分,权重会变得非常大,导致模型对输入微小变化极其敏感(过拟合)。正则化通过对权重施加惩罚,控制模型复杂度。

8.2 L1 与 L2 正则化

带有正则化的损失函数:

8.3 参数 C(scikit-learn 中的用法)

sklearn 中使用C而不是 λ,关系为 C=1/λ:

  • C 很大→ 正则化弱 → 模型复杂 → 可能过拟合

  • C 很小→ 正则化强 → 模型简单 → 可能欠拟合

实践中通过交叉验证(LogisticRegressionCV)选择最优 C。


九、多分类扩展

9.1 一对其他(One-vs-Rest, OvR)

  • 对 k 个类别训练 k 个二分类器。第 i 个分类器将类别 i 作为正类,其余所有类别作为负类。

  • 预测时,选择概率最高的分类器对应的类别。

  • 优点:只需 k 个分类器。

  • 缺点:训练集不平衡(负类样本远多于正类)。

9.2 一对一(One-vs-One, OvO)

  • 对每对类别训练一个二分类器,共 k(k−1)/2 个。

  • 预测时,所有分类器投票,得票最多的类别获胜。

  • 优点:每个分类器训练数据少,边界更精细。

  • 缺点:分类器数量随 k 平方增长,存储和预测开销大。

9.3 Softmax 回归(多类别逻辑回归)

sklearn 逻辑回归默认使用 OvR,可通过multi_class='multinomial'切换为 Softmax。


十、Python 实战(鸢尾花分类)

10.1 基本代码

from sklearn.datasets import load_iris from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_split from sklearn.metrics import classification_report, confusion_matrix # 加载数据 iris = load_iris() X, y = iris.data, iris.target # 三分类 # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.3, random_state=42, stratify=y ) # 创建模型(Softmax 多分类) model = LogisticRegression(multi_class='multinomial', solver='lbfgs', max_iter=200) model.fit(X_train, y_train) # 预测与评估 y_pred = model.predict(X_test) print("准确率:", model.score(X_test, y_test)) print(confusion_matrix(y_test, y_pred)) print(classification_report(y_test, y_pred))

10.2 重要参数说明

参数说明常用值
penalty正则化类型'l2'(默认)、'l1''elasticnet'
C正则化强度的倒数正浮点数,默认 1.0,越小正则化越强
solver优化算法'lbfgs'(小数据)、'liblinear'(大数据)、'saga'(支持 L1)
multi_class多分类策略'ovr'(默认)、'multinomial'(Softmax)
max_iter最大迭代次数默认 100,复杂问题需增大
class_weight类别权重'balanced'自动平衡,或手动指定

十一、逻辑回归的优缺点总结

优点

  • 简单、高效、训练速度快

  • 输出具有概率意义,可解释性强(权重直接反映特征影响方向和大小)

  • 配合正则化不容易过拟合

  • 支持在线学习(增量更新)

缺点

  • 决策边界是线性的,对非线性数据需要手动做特征工程

  • 对异常值敏感

  • 特征之间存在多重共线性时,系数估计不稳定

  • 对类别不平衡数据敏感(需用class_weight或采样方法)


十二、核心公式速记卡

http://www.jsqmd.com/news/1019863/

相关文章:

  • B站视频怎么无水印保存?2026司马去水印免费下载B站视频到手机相册教程 - 科技大爆炸
  • Next.js App Router 实践:从页面路由到服务端组件,现代 Web 应用的架构演进
  • 20252919 2025-2026-2 《网络攻防实践》第十一次作业
  • MSC8251多核DSP引导程序与系统配置实战指南
  • 如何零配置部署Kimi AI免费API:解锁长文本处理与多模态对话能力
  • LabVIEW文件读写报错8?别慌,这5个常见原因和修复方法帮你搞定
  • 2026年6月全国APP开发公司综合实力排名 - IT老炮老刘
  • PXD10 ADC中断与DMA配置详解:从寄存器到实战应用
  • 别再到处找破解版了!手把手教你用Docker在Kali Linux上部署AWVS 14(附官方试用版获取指南)
  • 2026年全国铝板带材核心供应商评测:五大源头工厂实力与采购适配指南 - 互联网科技品牌测评
  • 2026论文隐藏级降AIGC软件大曝光:一键改写直达人工原创!
  • 如何快速掌握UEFITool:3步完成BIOS固件深度解析
  • MPC866 PCMCIA接口详解:从硬件信号到驱动开发的嵌入式系统扩展实践
  • 2026 AI简历优化平台怎么选:5款工具实测 + ATS/JD匹配“算法逻辑”拆解(首推鹅来面)
  • 2026年6月超声波流量计品牌好评榜:国产头部品牌技术突围与市场口碑全景分析 - 水质仪表品牌排行榜
  • QT连接达梦数据库DM8,为什么我总卡在UnixODBC这一步?
  • 华为eNSP模拟器BGP排错实战:这10个display命令帮你快速定位网络邻居和路由问题
  • 小红书视频怎么无水印保存?2026司马去水印免费下载小红书视频到手机相册教程 - 科技大爆炸
  • VLC播放器终极美化指南:5款VeLoCity皮肤让你的影音体验飙升500%
  • 6/15
  • Label Studio开源数据标注工具完全指南:多模态AI训练数据标注解决方案
  • 不损坏原画质的视频去字幕方法有哪些?2026司马去水印高清去字幕方案 - 科技大爆炸
  • 2026年6月乐清黄金回收市场深度调查:三家诚信商家排名与避坑指南 - 钦扬网络
  • 蒙特卡洛离策略强化学习:工业级落地实战指南
  • WorkshopDL:跨平台Steam创意工坊模组下载的技术实现方案
  • SPI通信协议与DSPI高级特性:从基础原理到工程实践
  • 给烽火HG680-MC盒子‘瘦身’并解锁:刷入当贝桌面纯净版,告别运营商限制
  • DAO 治理机制设计:从链上投票到委托治理,去中心化 AI 的决策架构
  • EasyExcel导出踩坑实录:从‘列宽255字符’报错到完整数据导出优化指南
  • MPC866 SCC模块BISYNC与以太网模式原理、配置与调试实战