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

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

目录:

  • 一、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.lryc.cn/news/395179.html

相关文章:

  • qt hasPendingDatagrams() 函数
  • 数据结构第08小节:双端队列
  • Python骨架肌体运动学数学模型
  • 二叉树的序列化和反序列化(Java)
  • Java中的泛型类
  • 57、Flink 的项目配置概述
  • 零基础自学爬虫技术该从哪里入手?
  • Vue.js 基础入门指南
  • 山泰科技集团陈玉东:争当数字化时代的知识产权卫士
  • WBCE CMS v1.5.2 远程命令执行漏洞(CVE-2022-25099)
  • 鸿蒙语言基础类库:【@ohos.url (URL字符串解析)】
  • 【AutoencoderKL】基于stable-diffusion-v1.4的vae对图像重构
  • 《警世贤文》摘抄:守法篇、惜时篇、修性篇、修身篇、待人篇、防人篇(建议多读书、多看报、少吃零食多睡觉)
  • vue2+element-ui新增编辑表格+删除行
  • Day05-组织架构-角色管理
  • 【LLM】二、python调用本地的ollama部署的大模型
  • 20240708 每日AI必读资讯
  • 为什么KV Cache只需缓存K矩阵和V矩阵,无需缓存Q矩阵?
  • VS code修改底部的行号的状态栏颜色
  • 【鸿蒙学习笔记】MVVM模式
  • 端、边、云三级算力网络
  • java —— JSP 技术
  • 【Python学习笔记】菜鸟教程Scrapy案例 + B站amazon案例视频
  • Pycharm的终端(Terminal)中切换到当前项目所在的虚拟环境
  • Nginx 高效加速策略:动静分离与缓存详解
  • Unity3D 游戏摇杆的制作与实现详解
  • 从nginx返回404来看http1.0和http1.1的区别
  • MySQL 代理层:ProxySQL
  • 异步主从复制
  • 论文解析——Full Stack Optimization of Transformer Inference: a Survey