逻辑回归模型(非回归问题,而是解决二分类问题)

news/2024/9/18 23:23:12/ 标签: 逻辑回归, 回归, 分类

目录:

  • 一、Sigmoid激活函数:
  • 二、回归>逻辑回归介绍:
  • 三、决策边界
  • 四、回归>逻辑回归模型训练过程:
    • 1.训练目标:
    • 2.梯度下降调整参数:

一、Sigmoid激活函数:

Sigmoid函数是构建回归>逻辑回归模型的重要激活函数,如下图所示。
在这里插入图片描述

  • 分类问题目标是将模型的输出结果控制在[0,1]的范围内,当模型输出结果<0.5,默认预测结果为0;当模型输出结果>0.5,默认预测结果为1。
  • 分类问题的解决思路是:通过构建回归>逻辑回归模型f将二分类问题的输入x映射到Sigmoid函数的输入z上计算输出g,再根据g的范围(是否大于0.5)获得回归>逻辑回归模型的结果(即二分类问题的结果)。
  • 函数的定义域∈R,值域∈[0,1],当输入z<0时,Sogmoid函数输出结果g<0.5,默认为结果是0,构成分类问题的第一个类别。当输入z>0时,Sogmoid函数输出结果g>0.5,默认为结果是1,构成分类问题的第二个类别

二、回归>逻辑回归介绍:

回归>逻辑回归用来解决分类问题分类问题即模型的输出结果只有有限个(回归问题则是无限个),分类问题即模型的输出结果只有两个。

回归问题的经典案例“肿瘤预测案例”中,使用肿瘤尺寸size特征预测该肿瘤是否是恶性肿瘤,输出结果只有两种:是(1)或否(0)。
在这里插入图片描述
这时使用线性回归模型就很难拟合训练集 (线性回归解决的是回归问题,而肿瘤预测案例是一个分类问题,准确说是二分类问题),因此提出了回归>逻辑回归思想。
在这里插入图片描述
回归>逻辑回归模型(解决分类问题):输入特征或特征集X并输出0~1之间的数字,其中拟合曲线通过Sogmoid函数来构造。具体构造流程如下图:
在这里插入图片描述
在这里插入图片描述

  • 第一行解释:回归>逻辑回归模型f的构造同线性回归,通过输入特征集X输出预测结果f,不同点在于f取值范围∈[0,1]
  • 第二三四行解释:之前我们介绍了Sigmoid函数的输出g可以很好的解决二分类问题,因此我们巧妙地使用了Sigmoid函数来构建回归>逻辑回归模型f解决二分类问题,通过将输入特征集X使用线性回归或多项式回归映射到Sigmoid函数的输入z实现Sigmoid函数的输出然后根据Sigmoid函数输出结果是否大于0.5来计算回归>逻辑回归模型的输出f(0或1),得到二分类问题的结果。
  • 第五行解释:上述思想整合一下即可得出回归>逻辑回归模型f,其中模型的输入是特征集X,输出是分类的预测结果0或1。
  • 第六行解释:当回归>逻辑回归模型的输出结果大于等于0.5时,预测值y^为1,用上文的例子来讲就是该肿瘤是恶性肿瘤;当回归>逻辑回归模型的输出结果小于等于0.5时,预测值为0,用上文的例子来讲就是该肿瘤不是恶性肿瘤。

三、决策边界

从上文不难得到,当Sigmoid函数的输入z大于等于0时,即特征集X到z的映射z=wx+b大于等于0时,模型的输出结果是1;当Sigmoid函数的输入z小于0时,即特征集X到z的映射z=wx+b小于0时,模型的输出结果是0。
这是我们可以提出决策边界的概念:使得模型输入X到Sigmoid函数输入z的映射等于0的方程叫做决策边界。

以上述肿瘤预测模型为例,模型输入X到Sigmoid函数输入z的映射为z=wx+b,那么决策边界就是wx+b=0。

下面让我们用图像来展示决策边界的意义:

  • 例1:映射为线性函数
    在这里插入图片描述
    上图展示了训练集中特征x1、x2不同取值时标签的真实值,其中圈代表该样本分类结果为0,叉代表该样本分类结果为1。

    回归>逻辑回归模型如上图,其中模型输入X到Sigmoid函数输入z的映射为z=w1x1+w2x2+b,则决策边界为w1x1+w2x2+b=0。若模型训练结果为w1=1,w2=1,b=-3时,决策边界为x1+x2-3=0,决策边界的函数图像如上图所示,可以看到,如果样本的特征位于决策边界左侧,回归>逻辑回归预测时0,反之为1,这就是决策边界的图像意义。

  • 例2:映射为多项式函数
    在这里插入图片描述
    模型输入X到Sigmoid函数输入z的映射为多项式函数,决策边界如图,可以看到,模型训练完成后,参数值确定了,决策边界也立即就确定了,这时样本的特征相对决策边界的位置决定了该样本的预测结果。

四、回归>逻辑回归模型训练过程:

其实和线性回归训练过程一样,只不过是待训练模型(函数)不同而已。

1.训练目标:

在这里插入图片描述

2.梯度下降调整参数:

在这里插入图片描述


http://www.ppmy.cn/news/1474581.html

相关文章

容联云发布容犀大模型应用,重塑企业“营销服”|WAIC 2024

7月6日,在2024世界人工智能大会上,容联云成功举办主题为“数智聚合 产业向上”的生成式应用与大模型商业化实践论坛。 论坛上,容联云发布了容犀智能大模型应用升级,该系列应用包括容犀Agent Copilot、容犀Knowledge Copilot、容犀…

《C++设计模式》状态模式

文章目录 一、前言二、实现一、UML类图二、实现 一、前言 状态模式理解最基本上的我觉得应该也是够用了,实际用的话,也应该用的是Boost.MSM状态机。 相关代码可以在这里,如有帮助给个star!AidenYuanDev/design_patterns_in_mode…

嵌入式Qt开发C++编程基础部分万字总结

嵌入式Qt开发C基础编程 文章目录 嵌入式Qt开发C基础编程1、初识C2、数据类型、运算符和表达式数据类型运算符表达式 3、控制结构1. 条件语句if-elseswitch 2. 循环语句forwhiledo-while 3. 跳转语句breakcontinuegoto(不推荐使用) 4、数组、指针、引用和…

网络协议 | 计算机网络基础学习笔记

一、网络硬件 关于计算机网络,没有一种被普遍接受的分类方法,但有两个因素非常重要:传输技术和距离尺度 目前普遍使用的传输技术有两种: (1)广播式连接 (2)点到点连接 广播式网络…

Hadoop-16-Hive HiveServer2 HS2 允许客户端远程执行HiveHQL HCatalog 集群规划 实机配置运行

章节内容 上一节我们完成了: Metastore的基础概念配置模式:内嵌模式、本地模式、远程模式实机配置远程模式 并测试 背景介绍 这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。 之前已经在 V…

python工作中遇到的坑

1. 字典拷贝 有些场景下,需要对字典拷贝一个副本。这个副本用于保存原始数据,然后原来的字典去参与其他运算,或者作为参数传递给一些函数。 例如, >>> dict_a {"name": "John", "address&q…

vue使用 “xlsx-style“: “^0.8.13“ 报错

关于jszip not a constructor报错配置config.js文件后可能还报错的问题: 在node_modules处找到node_modules\xlsx-style\xlsx.js 文件。 将 if(typeof jszip undefined) jszip require(./jszip).JSZip;(应该在xlsx.js文件1339行左右) 替换成 if(typeof jszip und…

黑马点评商户缓存查询作业——Redis中查询商户类型

记录下自己在gpt帮助下完成的第一个需求~~~ 1. ShopTypeController 2. IShopTypeService 3. ShopTypeServiceImpl(模仿ShopServiceImpl来写的) 一共分为“1.redis中查询缓存”→“2.判断缓存是否存在,存在直接返回”→“3.缓存不存在则去查数…

在Windows环境下安装Python 3.11的步骤

在Windows环境下安装Python 3.11的步骤相对直接。下面是详细的安装教程: 第一步:下载Python 3.11安装程序 访问Python官方网站的下载页面:https://www.python.org/downloads/在页面中找到适用于Windows的Python 3.11版本,点击下…

《基于 Kafka + Flink + ES 实现危急值处理措施推荐和范围校准》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 近期刚转战 CSDN,会严格把控文章质量,绝不滥竽充数,欢迎多多交流。&am…

了解安全端口

安全端口的定义和重要性 安全端口是指在网络通信中,用于特定服务或应用程序的端口,这些端口通常被设计为在网络层面提供额外的安全性。安全端口的选择和配置对于保护网络资源免受未经授权的访问和攻击至关重要。 常见的安全端口及其用途 以下是一些常见…

【Java]认识泛型

包装类 在Java中,由于基本类型不是继承自Object,为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了一个包装类型。 除了 Integer 和 Character, 其余基本类型的包装类都是首字母大写。 泛型 泛型是在JDK1.5引入的…

python操作SQLite3数据库进行增删改查

python操作SQLite3数据库进行增删改查 1、创建SQLite3数据库 可以通过Navicat图形化软件来创建: 2、创建表 利用Navicat图形化软件来创建: 存储在 SQLite 数据库中的每个值(或是由数据库引擎所操作的值)都有一个以下的存储类型: NULL. 值是空值。 INTEGER. 值是有符…

数据库语言 GQL

什么是数据库语言 GQL? 一种针对属性图数据库语言的新标准,ISO/IEC 39075 信息技术—数据库语言—GQL,刚刚发布1。但GQL是什么?这个标准包含哪些内容? 这个新标准由国际标准委员会ISO/IEC JTC1 SC32 WG3 数据库语言小…

传言称 iPhone 16 Pro 将支持 40W 快速充电和 20W MagSafe

目前,iPhone 15 和 iPhone 15 Pro 机型使用合适的 USB-C 电源适配器可实现高达 27W 的峰值充电速度,而 Apple 和授权第三方的官方 MagSafe 充电器可以高达 15W 的功率为 iPhone 15 机型进行无线充电。所有四款 iPhone 15 机型均可使用 20W 或更高功率的电…

什么是区块链的“智能合约”

区块链的“智能合约”是一种存储在区块链上的计算机协议,它能够自动执行合约条款,并在满足预设条件时自动执行相关操作。智能合约通过编程语言(如Solidity)编写,可以在去中心化的环境中运行,无需人工干预。…

frameworks 之Zygote

frameworks 之Zygote Zygote.rc 解析Zygote 启动ZygoteInit.javaZygote.cppLiunx fork Zygote 中文意思为受精卵。 和其意思一样,该功能负责android系统孵化service 和 app 进程。 本文讲解Zygote的大概流程。涉及的相同的类,如下所示 system/core/rootd…

Python图形用户界面的文本文件加密工具

Python图形用户界面的文本文件加密工具 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x5oEvdLE-1720676762602)(https://i-blog.csdnimg.cn/direct/ddf0cd975b2d48a9a2f3b35c55e00add.png)] 设计方案 DES.py DESAlgorithm 类负责管理密钥并提供…

FlutterWeb渲染模式及提速

背景 在使用Flutter Web开发的网站过程中,常常会遇到不同浏览器之间的兼容性问题。例如,在Google浏览器中动画和交互都非常流畅,但在360浏览器中却会出现卡顿现象;在Google浏览器中动态设置图标颜色正常显示,而在Safa…

Linux下解压.tar.gz文件

.tar.gz 是一种常用的压缩包格式,尤其在Unix、Linux以及macOS系统中非常普遍。这个格式结合了两种不同的功能: Tar (.tar): “Tar” 是“Tape Archive”的缩写,最初是为了将数据备份到磁带上而设计的。Tar命令可以将多个文件和目录打包成一个…