跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

机器学习:逻辑回归算法原理与实现

介绍逻辑回归算法,这是一种用于二分类问题的统计方法。内容涵盖数学原理(Sigmoid 函数)、梯度下降优化法、模型评价指标(混淆矩阵、准确率、精确率、召回率、F1 值)、过拟合与欠拟合问题以及正则化惩罚技术。最后通过交叉验证优化参数 C 值,并结合 Python scikit-learn 库展示了相关代码示例。

PgDevote发布于 2026/3/28更新于 2026/10/24111 浏览

1、概述

逻辑回归是一种用于解决二分类问题的统计方法,尽管名称中包含'回归',但实际上是一种分类算法。它通过将线性回归的输出映射到 Sigmoid 函数,将预测值转换为概率值(0 到 1 之间),从而进行分类决策。

逻辑回归的核心目标是: 预测一个样本属于某个类别的概率。

文章配图

2、数学原理和推导

1)假设函数(Sigmoid 函数)

文章配图

逻辑回归通过将线性回归的结果输入一个 S 型函数,将结果映射到 0 到 1 的区间:

其中: hθ(x) 是预测结果(属于类别 1 的概率) θ 是参数向量(权重) x 是输入特征向量

当 hθ(x) ≥ 0.5,预测为类别 1; 当 hθ(x) < 0.5,预测为类别 0。

文章配图

2)求解

文章配图

3、梯度下降法

文章配图

1)偏导数

我们知道一个多变量函数的偏导数,就是它关于一个变量的导数而保持其他变量恒定,该函数的整个求导。

2)梯度

梯度可以定义为一个函数的全部偏导数构成的向量,梯度向量的方向即为函数值增长最快的方向。

3)梯度下降法

是一个一阶最优化算法,通常也称为最陡下降法,要使用梯度下降法找到一个函数的局部极小值。 步长 (学习率): 梯度可以确定移动的方向。学习率将决定我们采取步长的大小。不易过小和过大。

4、评价方式

混淆矩阵:

文章配图

真阴性(TN):非 0 数字被正确预测的数量; 真阳性(TP):0 被正确预测的数量; 假阴性(FN):0 被误判为非 0 的数量; 假阳性(FP):非 0 被误判为 0 的数量。

1)准确率

适用于类别平衡的数据集,但对不平衡数据可能产生误导。

文章配图

2)精确率

适用于需要高置信度正类预测的场景(如垃圾邮件分类)。

文章配图

3)召回率

适用于漏报成本高的场景(如疾病检测)。

文章配图

4)F1 值

适用于需要平衡精确率和召回率的场景。

文章配图

5、欠拟合和过拟合

1)欠拟合

概念:就是模型没有训练好,一般训练的数据较少,会出现这种情况。

2)过拟合

概念:模型在训练集表现良好,但在测试集上的表现就不行。

原因: 1、训练集上为追求好的效果(包括损失小、准确率高等) 2、模型参数过于复杂

6、正则化惩罚

目的:防止过拟合。

概念:Minimize your error while regularizing your parameters.规则化参数的同时最小化误差。【被翻译为正则化】。

L1 正则(Lasso):鼓励稀疏解。 L2 正则(Ridge):平滑模型参数。

# 带正则化项的逻辑回归
LogisticRegression(penalty='l2', C=1.0, max_iter=100)

参数 Penalty:正则化方式,有 l1 和 l2 两种。用于指定惩罚项中使用的规范。

参数 C:正则化强度。为浮点型数据。正则化系数λ的倒数,float 类型,默认为 1.0。必须是正浮点型数。像 SVM 一样,越小的数值表示越强的正则化。

参数 max_iter:算法收敛最大迭代次数,int 类型,默认为 100。仅在正则化优化算法为 newtoncg, sag 和 lbfgs 才有用,算法收敛的最大迭代次数。

1)损失函数

逻辑回归使用最大似然估计来求解。 其对应的损失函数为:

文章配图

m:表示样本数量 y^(i):表示第 i 个样本的标签

2)正则化惩罚

文章配图

就是在损失函数的基础上加了

文章配图

7、交叉验证

在将数据进行标准化以及改变阈值后,得到的召回率不是很高时,我们就可以使用交叉验证,来得到一个最好的C的值。

文章配图

就是将要训练的数据按比例分割成 n 份,第一次训练 1 到 n-1 份,第二次训练 1 到 n-2 份加上第 n 份,一直按规律训练,一直到最后一次训练 2 到 n 份。

使用 cross_val_score 可以进行这个操作。 例如:

score = cross_val_score(lr, x_train, y_train, cv=10, scoring='recall')

代表正则化惩罚的基础上,训练将 x_train, y_train 分割成 10 份,求训练后召回率的平均值。

目录

  1. 1、概述
  2. 2、数学原理和推导
  3. 1)假设函数(Sigmoid 函数)
  4. 2)求解
  5. 3、梯度下降法
  6. 1)偏导数
  7. 2)梯度
  8. 3)梯度下降法
  9. 4、评价方式
  10. 1)准确率
  11. 2)精确率
  12. 3)召回率
  13. 4)F1 值
  14. 5、欠拟合和过拟合
  15. 1)欠拟合
  16. 2)过拟合
  17. 6、正则化惩罚
  18. 带正则化项的逻辑回归
  19. 1)损失函数
  20. 2)正则化惩罚
  21. 7、交叉验证

更多推荐文章

查看全部
  • 微信小程序 WebView 与内嵌网页双向通信实战
  • 微分动态规划 DDP 与迭代线性二次型调节器 iLQR 理论推导
  • Flutter 组件 tavily_dart 在鸿蒙系统的适配与进阶应用
  • RAG 技术深度解析:低成本解决大模型幻觉与知识更新难题
  • Google Stitch 工具简介、安装使用与案例应用指南
  • 在飞书中接入 OpenClaw 打造专属 AI 助手
  • 通义万相 2.1 文生视频模型部署与硬件性能实测
  • Python 实现 2025 中秋月相计算与月球数据可视化
  • Apache IoTDB 结果集排序与查询对齐模式:ORDER BY 与 ALIGN BY DEVICE 使用
  • MySQL 权限撤销(REVOKE)机制与语法安全实践
  • OpenClaw Skills 框架解析与开发实战
  • Flutter pathfinding 库的 OpenHarmony 适配实战
  • 大模型落地应用:企业智能化转型的策略与实践
  • 解决 AnythingLLM 文件定位问题:从错误分析到 Whisper 模型路径优化
  • Trae、Cursor、Copilot、Windsurf 深度对比评测
  • Flutter 组件 tavily_dart 适配鸿蒙系统:AI 聚合搜索与语义降噪方案
  • RV1106开发板实战:环境搭建与系统编译指南
  • Azure Bot Service 调用 LLM 实现问答功能
  • 国产数据库新机遇:电科金仓以融合技术同步全球竞争
  • 微软 Excel 原生支持 Python 功能详解与机器学习应用

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online