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

【机器学习笔记Ⅰ】12 逻辑回归

逻辑回归是机器学习中经典的分类算法,主要用于解决二分类问题(如预测是否患病、是否点击广告)。虽然名字含“回归”,但它实际是一种分类模型,通过概率输出(0到1之间)判断类别。


1. 核心思想

  • 输入:特征向量 X(如年龄、收入)。
  • 输出:属于正类( y=1 )的概率 P(y=1 | X)。
  • 关键工具Sigmoid函数,将线性回归的输出映射到 [0,1] 区间。

2. 数学模型

(1) Sigmoid函数

在这里插入图片描述

  • 特性

    • 阈值通常设为0.5(概率≥0.5判为正类)。

Sigmoid函数

(2) 逻辑回归方程

在这里插入图片描述


3. 训练与损失函数

(1) 最大似然估计(MLE)

逻辑回归通过最大化对数似然函数学习参数:
在这里插入图片描述

(2) 交叉熵损失(Cross-Entropy Loss)

上式即二元交叉熵损失,衡量预测概率与真实分布的差距:

  • 梯度下降优化:通过求导更新参数(类似线性回归,但梯度不同)。

4. 代码实现(Python)

from sklearn.linear_model import LogisticRegression
import numpy as np# 示例数据
X = np.array([[1], [2], [3], [4]])  # 特征
y = np.array([0, 0, 1, 1])          # 标签(二分类)# 训练模型
model = LogisticRegression()
model.fit(X, y)# 预测概率
print(model.predict_proba([[1.5]]))  # 输出 [[0.85, 0.15]](属于0类的概率85%)
print(model.predict([[1.5]]))        # 输出 [0](类别标签)

5. 关键特性

(1) 决策边界

  • 线性边界:逻辑回归的决策边界是线性的(在特征空间中的超平面)。
  • 非线性扩展:可通过多项式特征或核方法处理非线性问题(类似多项式回归)。

(2) 概率解释

  • 输出是校准后的概率(可直接用于风险评估)。
  • 需注意:概率准确性依赖特征质量和模型校准。

(3) 正则化

  • 防止过拟合:添加L1/L2惩罚项(如 penalty='l2')。
  • 超参数 C:控制正则化强度(C越小,惩罚越强)。

6. 多分类扩展

  • OvR(One-vs-Rest):训练K个二分类器(K为类别数),选择概率最高的类别。
  • Softmax回归:直接输出多类概率分布(需用 multi_class='multinomial')。
# 多分类示例
X_multi = np.array([[1], [2], [3], [4], [5]])
y_multi = np.array([0, 0, 1, 1, 2])  # 3个类别model_multi = LogisticRegression(multi_class='ovr')
model_multi.fit(X_multi, y_multi)

7. 应用场景

  • 医学:疾病预测(如癌症诊断)。
  • 金融:信用评分(是否违约)。
  • 营销:用户行为预测(是否购买)。

8. 优缺点

优点缺点
输出概率,可解释性强。仅能处理线性可分或适度非线性数据。
计算高效,适合大规模数据。对特征相关性和异常值敏感。
支持正则化,防止过拟合。需特征工程(如缩放、处理共线性)。

9. 常见问题

Q1:逻辑回归为什么用交叉熵损失而非MSE?

  • MSE的缺陷:非凸优化,易陷入局部最优;梯度在概率极端值时消失。
  • 交叉熵的优势:凸函数,梯度更合理。

Q2:如何评估逻辑回归性能?

  • 指标:准确率、精确率、召回率、AUC-ROC曲线。
  • 代码
    from sklearn.metrics import classification_report
    print(classification_report(y_true, y_pred))
    

10. 总结

  • 逻辑回归 = 线性回归 + Sigmoid激活 + 交叉熵损失
  • 核心输出:概率(需设定阈值转为类别)。
  • 适用场景:二分类、概率预测、线性决策边界问题。

它是分类任务的“瑞士军刀”,理解其原理是掌握更复杂模型(如神经网络)的基础!


http://www.dtcms.com/a/268270.html

相关文章:

  • 《Redis》缓存与分布式锁
  • usrp b210 亚克力外壳
  • 【机器学习笔记Ⅰ】11 多项式回归
  • hp开关机
  • CICD[导航]、docker+gitlab+harbor+jenkins从安装到部署
  • vuex 和持久化 vuex-persistedstate
  • macOS虚拟机登录AppleID,全版本,成功率高
  • 深度学习篇---简单果实分类网络
  • 群晖 DS3617xs DSM 6.1.7 解决 PhotoStation 安装失败问题 PHP7.0
  • 企业智脑:智能营销新纪元——自动化品牌建设与智能化营销的技术革命
  • Unreal Engine 5中的AI知识
  • Yocto项目:嵌入式Linux开发的“万能烹饪手册”
  • 力扣 hot100 Day36
  • C++学习之STL学习:list的模拟实现
  • 【CSS-16】深入理解CSS Transform:从基础到高级应用
  • 条件渲染 v-show与v-if
  • 《自然》发布机器人技术路线图
  • 铸造软件交付的“自动驾驶”系统——AI大模型如何引爆DevOps革命
  • 分布式压测
  • Linux驱动学习day18(I2C设备ap3216c驱动编写)
  • Mybatis----留言板
  • python实战项目81:ZeoDB多线程数据爬取程序(最新稳定好用)
  • Node中Unexpected end of form 错误
  • 【大模型入门】访问GPT_API实战案例
  • 从LLM和MCP的协同过程看如何做优化
  • webUI平替应用,安装简单,功能齐全
  • 基于Java+springboot 的车险理赔信息管理系统
  • 基于udev规则固定相机名称
  • 计算机网络:(七)网络层(上)网络层中重要的概念与网际协议 IP
  • 深度学习图像分类数据集—濒危动物识别分类