讲清逻辑回归算法,剖析其作为广义线性模型的原因

embedded/2025/2/4 10:29:02/

1、逻辑回归算法介绍

逻辑回归(Logistic Regression)是一种广义线性回归分析模型。虽然名字里带有“回归”两字,但其实是分类模型,常用于二分类。既然逻辑回归模型是分类模型,为什么名字里会含有“回归”二字呢?这是因为其算法原理同样涉及线性回归模型中的线性回归方程。线性回归方程是用于预测连续变量的,其y的取值范围为(−∞,+∞),而逻辑回归模型是用于预测类别的,例如,用逻辑回归模型预测一个人是否会违约、客户是否会流失,在本质上预测的是一个人是否违约、是否流失的概率,而概率的取值范围是0~1,因此不能直接用线性回归方程来预测概率。

☀什么是连续型变量?

连续型变量是指在一定范围内可以取无限多个可能值的数据类型。这些值通常可以是任意小数,且在理论上没有间隔。例如,时间、温度、长度、重量等都是典型的连续型数据,因为它们可以在某个区间内无限细分。

关键特点:

①无限可分:在任意两个值之间,存在无数个中间值。

②小数可能性:可以精确到小数点后多位(如身高1.75米、温度36.8°C)。

③测量精度:实际应用中可能受限于测量工具,但理论上连续。

连续型与离散型数值的对比

特征

连续型数值

离散型数值

取值范围

无限细分(如0.1, 0.01, ...)

有限且可数(如1, 2, 3)

例子

温度、时间、价格、身高

人数、商品数量、考试题数

统计方法

线性回归、相关分析

计数模型(泊松回归)、卡方检验

那么,想将线性回归应用到分类问题中该怎么办呢?也就是如何把一个取值范围是(−∞,+∞)的回归方程变为取值范围是(0,1)的内容呢?

假设y=3,通过Sigmoid函数转换后,f(y)=1/(1+e^−3)=0.95,就可以作为一个概率值使用了。

Sigmoid函数的曲线如下图所示,从图上可知,当y值趋向负无穷(−∞)时,f(y)的值趋向于0;当y值趋向正无穷(+∞)时,f(y)的值趋向于1,且函数的值域为(0,1)。这样,就将线性回归

得到的取值范围为(−∞,+∞)的值,变成了取值范围为(0,1)之间的概率值。

将线性回归函数结果y放到Sigmoid函数中去,就构造了逻辑回归函数,函数表达式为:

逻辑回归模型本质就是将线性回归模型通过Sigmoid函数进行了一个非线性转换,将线性回归的结果(−∞,+∞)转换到一个介于0~1之间的概率值。逻辑回归带有“回归”却是分类问题就是因为Sigmoid函数,Sigmoid函数将数据压缩到[0, 1]之间,并经过一个重要的点(0, 0.5)。这样,可以将 0.5作为阈值,当值大于0.5作为一类,而小于0.5作为另一类。

2、为什么说逻辑回归是广义的线性模型

(1)公式角度

在Sigmoid函数的两边乘以(1+e^−y),则等式转换为:

整理可以得到:

等式两边同时取对数,整理可以得到:

把f(y)看成某个事件发生的概率,那么这个事件不发生的概率就是1−f(y),两者的比值称为比值比(Odds Ratio)。令f(y)=P,则可以得到逻辑回归模型的另一种表示方法,公式如下:

方程式的左边是对数比值比,右边是线性方回归。从这个角度看,逻辑回归就是广义的线性模型。

(2)核心要素和对应关系的角度

①广义线性模型(GLM)的核心要素

☛随机成分:响应变量Y服从指数分布族(如正态分布、二项分布、泊松分布等)。

☛系统成分:线性预测器

☛链接函数:将线性预测器η与响应变量的期望值连接起来。

②逻辑回归与GLM的对应关系

☛随机成分:伯努利分布

逻辑回归用于二分类问题(如成功/失败),响应变量服从伯努利分布,伯努利分布属于指数分布族,满足GLM对随机成分的要求。

☛链接函数:Logit函数

逻辑回归使用Logit函数作为链接函数,将线性预测器的值η映射到概率p,这一步骤将线性预测器的范围(−∞,+∞)转换为概率区间[0,1]

☛系统成分:线性预测器

与线性回归类似,逻辑回归的线性预测器是特征变量的线性组合:

至此,逻辑回归模型及其为什么是广义线性模型已学习完,下次学习其实现原理及应用场景。


http://www.ppmy.cn/embedded/159443.html

相关文章

Java中初步使用websocket(springBoot版本)

一、什么是websocket WebSocket是一种在Web应用程序中实现实时双向通信的协议。它为浏览器和服务器之间提供了一种持久连接,在一个连接上可以双向传输数据。相比传统的HTTP协议,WebSocket具有更低的延迟和更高的效率。 WebSocket使用了类似于握手的方式来…

MySQl的日期时间加

MySQL日期相关_mysql 日期加减-CSDN博客MySQL日期相关_mysql 日期加减-CSDN博客 raise notice 查询目标 site:% model:% date:% target:%,t_shipment_date.site,t_shipment_date.model,t_shipment_date.plant_date,v_date_shipment_qty_target;

Spring Boot - 数据库集成06 - 集成ElasticSearch

Spring boot 集成 ElasticSearch 文章目录 Spring boot 集成 ElasticSearch一:前置工作1:项目搭建和依赖导入2:客户端连接相关构建3:实体类相关注解配置说明 二:客户端client相关操作说明1:检索流程1.1&…

为什么命令“echo -e “\033[9;0]“ > /dev/tty0“能控制开发板上的LCD不熄屏?

为什么命令"echo -e “\033[9;0]” > /dev/tty0"能控制开发板上的LCD不熄屏? 在回答这个问题前请先阅读我之前写的与tty和终端有关的博文 https://blog.csdn.net/wenhao_ir/article/details/145431655 然后再来看这条命令的解释就要容易些了。 这条…

MySQL 9.2.0 的功能

MySQL 9.2.0 的功能 MySQL 9.2.0 的功能新增、弃用和删除内容如下: 新增功能 权限新增12:引入了CREATE_SPATIAL_REFERENCE_SYSTEM权限,拥有该权限的用户可执行CREATE SPATIAL REFERENCE SYSTEM、CREATE OR REPLACE SPATIAL REFERENCE SYSTEM…

【LeetCode 刷题】回溯算法-排列问题

此博客为《代码随想录》二叉树章节的学习笔记,主要内容为回溯算法排列问题相关的题目解析。 文章目录 46.全排列47.全排列 II 46.全排列 题目链接 class Solution:def permute(self, nums: List[int]) -> List[List[int]]:res, path [], []used [0] * len(n…

基于Docker以KRaft模式快速部署Kafka

参考文献 https://kafka.apache.org/37/documentation.html#uses https://spring.io/projects/spring-kafka#overview 获取Docker镜像 docker pull apache/kafka:3.7.1 创建一个目录来存储Kafka的配置文件 mkdir -p /home/user/kafka_config 启动Kafka容器 docker run …

OpenAI发布最新推理模型o3-mini

OpenAI于周五推出了新的AI"推理"模型o3-mini,这是该公司o系列推理模型家族的最新成员。 OpenAI此前在12月份就预告过这个模型,同时还展示了一个能力更强的系统o3。此次发布恰逢OpenAI面临诸多机遇与挑战的关键时刻。 目前,OpenAI…