【机器学习300问】15、什么是逻辑回归模型?

news2025/1/12 8:08:49

一、逻辑回归模型是为了解决什么问题?

        逻辑回归(Logistic Regression)是一种广义线性回归分析模型,尤其适用于解决二分类问题(输出为两个类别)。

(1)二分类举例

  • 邮件过滤:判断一封电子邮件是否为垃圾邮件。结果为垃圾邮件(1)或非垃圾邮件(0);
  • 医疗诊断:判断病人是否患有某种疾病,如癌症。结果为患病(1)或健康(0);
  • 情感分析:针对一段文本评论,判断其情感倾向是积极(1)还是消极(0);
  • 用户点击预测:在广告推荐系统中,预测用户是否会点击展示的广告。结果为点击(1)或未点击(0)

        逻辑回归虽然最初是设计来处理二分类问题的,它其实是回归模型的一种,只不过它解决的是分类问题而不是预测问题。虽然后面他也可以使用“一对多”(One-vs-All)的策略来处理可以处理多分类问题,但我在这篇文章中只介绍逻辑回归模型处理二分类问题。

二、逻辑回归模型与sigmoid函数的关系

(1)首先我有一个线性函数

模型的核心部分是一个线性函数,即输入特征与模型参数(权重和偏置)的线性组合。

        f_{w,b}(x)=w_{1}x_{1}+w_{2}x_{2}+...+w_{n}x_{n}+b

        z = w_{1}x_{1}+w_{2}x_{2}+...+w_{n}x_{n}+b

        第一个式子是我们之前学过的多元线性回归模型,第二个式子中我用一个中间变量z来接收这个多项式。其中,z是线性组合的输出,x_{i}是特征变量,w_{i}是对应的特征权重,b是偏置项。

(2)其次我将线性函数与sigmoid函数结合

        为了将线性函数的输出转换为预测类别(通常是0或1)的概率,逻辑回归引入了sigmoid函数,它又叫做logistic函数。结合操作就是指将上面的z带入\sigma (z)中。

\sigma (z) = \frac{1}{1+e^{-z}}

其图像如下图:

        在逻辑回归模型中,Sigmoid函数用于将样本特征的线性组合转换为概率,这个转换过程实际上是一种“概率编码”。sigmoid函数将线性函数的输出压缩并平滑地映射到(0,1)区间内,从而可以解释为正类(例如1)的概率。当预测概率大于某预定阈值(通常取0.5)时,模型预测为正类;否则预测为负类。

(3)结合后的逻辑回归模型

逻辑回归模型的输出是这样的形式:

P(y=1|x;\theta )=\sigma (\widehat{w}x+b)

  • x 是输入特征向量,
  • θ=(w,b) 是模型参数,其中w 是权重向量,b 是偏置项,
  • σ 是sigmoid函数,
  • P(y=1∣x;θ) 表示给定特征 x 的条件下,样本属于正类的概率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1401661.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HarmonyOS鸿蒙应用开发(三、轻量级配置存储dataPreferences)

在应用开发中存储一些配置是很常见的需求。在android中有SharedPreferences,一个轻量级的存储类,用来保存应用的一些常用配置。在HarmonyOS鸿蒙应用开发中,实现类似功能的也叫首选项,dataPreferences。 相关概念 ohos.data.prefe…

zabbix监控扩展

目录 一、zabbix自动发现与自动注册 (一)理论定义 1.自动发现 2.自动注册 (二)实操部署 1.自动发现 (1)新增一台客户端命名为zbx-agent02 ① 配置时间同步 ② 在服务端和客户端上配置 hosts 解析 …

自定义注解与拦截器实现不规范sql拦截(拦截器实现篇)

最近考虑myBatis中sql语句使用规范的问题,如果漏下条件或者写一些不规范语句会对程序性能造成很大影响。最好的方法就是利用代码进行限制,通过拦截器进行sql格式的判断在自测环节就能找到问题。写了个简单情景下的demo,并通过idea插件来将myB…

JavaScript进阶:WebAPIs重点知识整理1

目录 1 DOM修改元素内容 2 DOM修改元素常见属性 3 修改元素样式属性 3.1 通过style修改元素样式 3.2 通过类名className修改元素样式 3.3 通过classList修改元素样式 4 操作表单元素属性 5 自定义属性 6 定时器 7 事件监听 7.1 点击事件 click 7.2 鼠mouseenter和移…

【数据结构】 双链表的基本操作 (C语言版)

目录 一、双链表 1、双链表的定义: 2、双链表表的优缺点: 二、双链表的基本操作算法(C语言) 1、宏定义 2、创建结构体 3、双链表的初始化 4、双链表表插入 5、双链表的查找 6、双链表的取值 7、求双链表长度 8、双链表…

华南理工大学数字信号处理实验实验一(薛y老师版本)matlab源码

一、实验目的 1、加深对离散信号频谱分析的理解; 2、分析不同加窗长度对信号频谱的影响; 3、理解频率分辨率的概念,并分析其对频谱的 影响; 4、窗长和补零对DFT的影响 实验源码: 第一题: % 定义离散信…

C++函数对象-函数包装器-调用空的 std::function 时抛出的异常(std::bad_function_call)

任何定义了函数调用操作符的对象都是函数对象。C 支持创建、操作新的函数对象,同时也提供了许多内置的函数对象。 函数包装器 std::function 提供存储任意类型函数对象的支持。 用空的 std::function 时抛出的异常 std::bad_function_call class bad_function_cal…

【C++】命名空间(namespace)

文章目录 1. 为什么要有命名空间?2. 命名空间介绍3.命名空间三种使用方式4. 注意 1. 为什么要有命名空间? 在C语言中,局部变量和全局变量如果同名,在使用时可能会造成冲突。这并不是想避免就能避免的,在程序中,不仅仅是变量&…

《WebKit 技术内幕》之八(2):硬件加速机制

2 Chromium的硬件加速机制 2.1 GraphicsLayer的支持 GraphicsLayer对象是对一个渲染后端存储中某一层的抽象,同众多其他WebKit所定义的抽象类一样,在WebKit移植中,它还需要具体的实现类来支持该类所要提供的功能。为了完成这一功能&#x…

系统架构设计师教程(十三)层次式架构设计理论与实践

层次式架构设计理论与实践 13.1 层次式体系结构概述13.2 表现层框架设计13.2.1 表现层设计模式13.2.2 使用XML设计表现层,统一Web Form与Windows Form的外观13.2.3表现层中UIP设计思想13.2.4 表现层动态生成设计思想 13.3 中间层架构设计13.3.1 业务逻辑层组件设计1…

【Elasticsearch】索引恢复(recovery)流程梳理之副本分片数据恢复

replica shard重启具体流程 replica shard node (generic threadpool) 也是因为应用新的集群状态触发recovery,进入index阶段进入translog 阶段。先尝试重放本地的translog到global checkpoint向primary shard发起start recovery的请求&…

JVM对象创建与内存回收机制

对象的创建过程有如下步骤: 1.类加载检查: 虚拟机遇到一个new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过,如果没…

【golang】Context超时控制与原理

Context 在Go语言圈子中流行着一句话: Never start a goroutine without knowing how it will stop。 翻译:如果你不知道协程如何退出,就不要使用它。 在创建协程时,我们可能还会再创建一些别的子协程,那么这些协程的…

【书籍】强化学习第二版(英文版电子版下载、github源码)-附copilot翻译的中英文目录...

Python代码:https://github.com/ShangtongZhang/reinforcement-learning-an-introduction 英文原版书籍下载:http://incompleteideas.net/book/the-book-2nd.html 作者: 理查德S萨顿是阿尔伯塔大学计算机科学教授和强化学习与人工智能 AITF 主…

1.6万字全面掌握 BERT:自然语言处理(NLP)从初学到高级的全面指南

BERT(双向编码器表示来自Transformer的模型)是由Google开发的一种革命性的自然语言处理(NLP)模型。它改变了语言理解任务的格局,使机器能够理解语言中的上下文和细微差异。 在本博客中,我们将带您从 BERT …

信息安全概述

信息安全:防止任何对数据进行未授权访问的措施,或者防止造成信息有意无意泄漏、破坏、丢失等问题的发生,让数据处于远离危险、免于威胁的状态或特性。 网络安全:计算机网络环境下的信息安全。 信息安全现状及挑战 数字化时代威…

什么是VUE 创建第一个VUE实例

一、什么是Vue 概念:Vue (读音 /vjuː/,类似于 view) 是一套 构建用户界面 的 渐进式 框架 Vue2官网:Vue.js 1.什么是构建用户界面 基于数据渲染出用户可以看到的界面 2.什么是渐进式 所谓渐进式就是循序渐进,不一定非得把Vu…

Docker编译多平台文件、构建多平台镜像并运行

参考官方文档: Multi-stageMulti-platformMulti-platform images 文章目录 方法Buildx 设置使用QEMU仿真编译文件构建镜像 使用交叉编译(cross-compilation)编译文件构建镜像 在x86_64上运行arm64容器 方法 如果在 x86_64/amd64 的平台上&am…

Docker 操作之数据卷挂载【云原生】

文章目录 1. 镜像1.1 基本命令1.2 案例练习 2. 容器2.1 基本命令2.2 Nginx 案例2.3 Redis 案例 3. 数据卷3.1 基本命令3.2 Nginx 案例3.3 MySQL 案例 1. 镜像 镜像命令一般分两部分组成:repository:tag。比如 mysql:5.7,表示名称加版本。 在没有指定 t…

一文掌握Python所有常见的循环用法

更多资料获取 📚 个人网站:ipengtao.com 循环是编程中的重要概念,它允许我们重复执行一组操作,直到满足某个条件。Python提供了多种类型的循环,以适应不同的需求和场景。本文将详细介绍Python中所有常见的循环用法&am…