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

逻辑回归解释

一、介绍:

        逻辑回归主要是二分类的算法,给定一组(x1、x2...)输出该样本预测类别结果为1的概率值:y=P(y=1|x)。

二、原理:

        z=w1x1+w2x2+...wnxn+b

        1、x1、x2...是输入的特征

        2、w1、w2...是模型学习到的每个特征的权重

        3、b是偏置,模型学习的

        4、z是计算结果,属于(-∞,+∞)

        然后是sigmoid函数部分

        由于z属于(-∞,+∞),输出的不是离散的1和0,所以使用sigmoid函数把z压缩到(0,1)之间。

        公式:y = 1 / (1 + e^(-z))

        性质:

  •         无论 z 是多少,y 的输出值永远在 0 和 1 之间。

    • 当 z 为 0 时,y = 0.5

    • 当 z 非常大时,y 无限接近 1。

    • 当 z 非常小时,y 无限接近 0。

例子:

假设我们构建一个更完善的河流洪水预测模型,现在使用三个特征

  1. X₁: 过去24小时流域降雨量 (mm)

  2. X₂: 河流上游监测站的水位 (m)

  3. X₃: 土壤饱和指数 (0-1之间,1表示完全饱和)


第一步:训练好的模型

假设模型训练后,学到的参数如下:

  • 权重 W₁ (降雨量): 0.08

  • 权重 W₂ (水位): 1.5

  • 权重 W₃ (土壤饱和度): 4.0

  • 偏置项 b: -10

线性组合 z 的公式为:
z = (0.08 * X₁) + (1.5 * X₂) + (4.0 * X₃) - 10

概率 P 的公式(Sigmoid函数)不变:
P(洪水) = 1 / (1 + e^(-z))

这个模型可以理解为:

  • 土壤饱和度 (X₃) 的权重最大 (4.0),说明它是引发洪水的最关键因素。因为已经饱和的土壤无法再下渗,雨水会直接转化为径流。

  • 水位 (X₂) 的权重也很大 (1.5),表示当前河道的底水情况非常重要。

  • 降雨量 (X₁) 的权重相对较小 (0.08),但这不代表它不重要,只是因为它的数值通常远大于其他特征(比如降雨量是几十,水位是几,土壤饱和度是零点几)。


第二步:多场景分类决策(阈值仍设为0.5)

现在我们分析三种不同的气象水文组合。

场景一:台风过境,强降雨但底水低
  • X₁ (降雨量): 120 mm (很大)

  • X₂ (水位): 1.2 m (较低)

  • X₃ (土壤饱和度): 0.4 (因为前期干旱,土壤较干)

  1. 计算 z:
    z = (0.08 * 120) + (1.5 * 1.2) + (4.0 * 0.4) - 10
    z = 9.6 + 1.8 + 1.6 - 10 = 3.0

  2. 计算 P:
    P = 1 / (1 + e^(-3.0)) ≈ 1 / (1 + 0.05) ≈ 0.95

  3. 决策:
    P = 0.95 > 0.5 → 预测:发生洪水 (1)
    解读:尽管初始水位低、土壤不算饱和,但极端降雨量本身足以导致洪水。

场景二:持续阴雨,高水位且土壤饱和
  • X₁ (降雨量): 25 mm (小雨)

  • X₂ (水位): 3.0 m (已接近警戒水位)

  • X₃ (土壤饱和度): 0.95 (土壤已经完全饱和)

  1. 计算 z:
    z = (0.08 * 25) + (1.5 * 3.0) + (4.0 * 0.95) - 10
    z = 2.0 + 4.5 + 3.8 - 10 = 0.3

  2. 计算 P:
    P = 1 / (1 + e^(-0.3)) ≈ 1 / (1 + 0.74) ≈ 0.57

  3. 决策:
    P = 0.57 > 0.5 → 预测:发生洪水 (1)
    解读:这就是典型的“最后一根稻草” scenario。虽然雨不大,但河道底水高,加上土壤饱和,即使是少量降雨也会几乎全部汇入河道,导致水位超过临界点。

场景三:普通降雨,各项指标正常
  • X₁ (降雨量): 15 mm

  • X₂ (水位): 1.5 m

  • X₃ (土壤饱和度): 0.6

  1. 计算 z:
    z = (0.08 * 15) + (1.5 * 1.5) + (4.0 * 0.6) - 10
    z = 1.2 + 2.25 + 2.4 - 10 = -4.15

  2. 计算 P:
    P = 1 / (1 + e^(-(-4.15)))) ≈ 1 / (1 + 63.5) ≈ 0.015

  3. 决策:
    P = 0.015 < 0.5 → 预测:不发生洪水 (0)
    解读:所有指标都在安全范围内,系统综合判断风险极低。


第三步:引入更精细的决策阈值(多级预警)

在实际水文预警中,单一的“是/否”决策太粗糙了。我们会使用多个阈值来建立多级预警系统,这更能体现逻辑回归输出概率的优势。

  • 蓝色预警 (关注级)P >= 0.3

    • 通知水务部门和相关人员保持警惕,加强监测。

  • 黄色预警 (警示级)P >= 0.6

    • 向公众发布预警信息,提醒远离河道。

  • 橙色预警 (行动级)P >= 0.8

    • 启动应急响应预案,准备疏散低洼地区人员。

  • 红色预警 (紧急级)P >= 0.95

    • 立即执行疏散命令,采取一切必要措施。

现在,我们用这个多级预警系统重新审视上面的场景:

  • 场景一 (P=0.95): 直接触发红色预警。模型非常有把握,需要立即采取最高级别的应急行动。

  • 场景二 (P=0.57): 触发黄色预警。模型认为风险显著,需要提醒公众注意,但尚未达到需要大规模疏散的程度。

  • 场景三 (P=0.015): 无预警。一切正常

三、逻辑回归的损失函数

        平方差损失函数:不适用--产生多个局部最小值

        这里的损失函数:

         如果 y=1,损失为 -log(ŷ),那么要想损失越小,ŷ 的值必须越大,即越趋近于或者等于 1
如果 y=0,损失为 -log(1-ŷ),那么要想损失越小,那么 ŷ 的值越小,即趋近于或者等于 0

        这个损失函数关注单个样本的预测误差

        而多个样本的预测误差的算数平均为代价函数:

四、梯度下降

        通过损失函数找到了预测值与目标值之间的误差,那么我们怎么优化呢,找到最合适的参数配置使损失达到最低。因此这里需要使用梯度下降算法:使损失函数达到最小值。

        参数w和b的更新公式:

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

相关文章:

  • B038基于博途西门子1200PLC物料分拣控制系统仿真
  • 第十二章认识Ajax(三)
  • Spring Boot3零基础教程,安装 docker,笔记67
  • FLOW翻译
  • 第十六章jQuery中的Ajax
  • 实现 AI 流式响应:从等待到实时交互的技术解析
  • 东莞站福公司工资室内设计手绘图 基础入门
  • HTTPS 加密原理介绍
  • 小白python入门 - 9. Python 列表2 ——从基础操作到高级应用
  • 日本生活-东京新干线乘车经验-流程介绍
  • 实现用户角色权限的动态注册路由
  • 推荐几个安全没封的网站网站搭建的人
  • 数据结构:顺序表讲解(总)
  • 1. 简单回顾Numpy神经网络
  • ArkTS 中 @State 底层原理详解
  • Post-training-of-llms TASK05
  • 项目实战复盘:基于仓颉语言的鸿蒙智能导航助手(HarmonyNav)
  • Datawhale AI秋训营|RAG 多模态相关 TASK1 /Task 2 Baseline笔记(待优化)
  • 龙华新区城市建设局网站网页布局是指什么
  • 【系统分析师】高分论文:论需求分析在项目中的应用(智慧市场监管项目)
  • LeetCode128. 最长连续序列
  • go-stream(一些常用命令介绍,以及在go-tcp中使用)
  • 中职 网站建设与管理海口快速建站公司推荐
  • Qt TCP 网络通信详解(笔记)
  • RandLA-net-pytorch 复现
  • Rocky 9 安装 Elasticsearch分布式集群基于非安全特性
  • 使用现代C++构建高效日志系统的分步指南
  • Nacos 环境搭建:从单机开发到集群生产部署
  • OpenWrt | 实现限制只有指定设备才能访问 luci 和 使用 SSH 等方式管理设备的方法
  • 数据库圣经-----最终章JDBC