【数学建模】逻辑回归算法(Logistic Resgression)

news2024/11/22 11:33:04

逻辑回归算法

  • 简介
  • 逻辑回归与条件概率
  • 绘制sigmoid函数

简介

逻辑回归算法是一种简单但功能强大的二元线性分类算法。需要注意的是,尽管"逻辑回归"名字带有“回归”二字,但逻辑回归是一个分类算法,而不是回归算法。
我认为,逻辑回归算法功能强大的原因,更在于,它不仅仅可以预测类别标签,而且还可以预测类别的概率。
比如说,使用逻辑回归预测天气,不仅仅可以预测某一天是否会下雨,还可以给出下雨的概率。类似地,也可以使用逻辑回归算法来预测症状给定的情况下患者患有某种疾病的概率,这也是逻辑回归在医学领域广受欢迎的原因。

逻辑回归与条件概率

逻辑回归是一个二元分类概率模型。下面我们主要了解一下逻辑回归背后的主要机制。
  p \ p  p:感兴趣事件发生的概率(所谓感兴趣,正是我们想要预测的事件,比如患者在出现某些症状时患病的概率。)
几率(odds):是一个事件发生可能性的度量。数学表达式为: p 1 − p \frac{p}{1-p} 1pp.
logit 函数:logit函数是几率(odds)的对数函数:
  l o g i t ( p ) = log ⁡ p 1 − p \ logit(p)=\log \frac{p}{1-p}  logit(p)=log1pp
这里的log是自然对数。logit函数的输入即p是一个介于0-1之间的正数,输出即logit§为任意实数。
那如何将这里的输出将我们的数据相联系起来呢?
我们假设我们的输出即logit§与每一个样本的特征值   x 1 x 2 x 3 . . . x m \ x_1 x_2 x_3...x_m  x1x2x3...xm的加权(   w T \ w^T  wT)和加偏置顶存在线性关系,即:
l o g i t ( p ) = w 1 x 1 + w 2 x 2 + . . . . . . + w m x m + b = ∑ j = 1 m w j x j + b = w T x + b logit(p)=w_1x_1+w_2x_2+......+w_mx_m+b=\sum_{j=1}^mw_jx_j+b=w^Tx+b logit(p)=w1x1+w2x2+......+wmxm+b=j=1mwjxj+b=wTx+b
当我们真正感兴趣的是条件概率 p p p,即在给定一个样本特征的前提下求解类别标签为1的概率。
通过logit函数,我们可以将条件概率p映射为一个实数。那反过来,我们要求p的话呢?所以,我们可以根据logit函数求解出它的逆函数。
logit函数的逆函数通常称为logistic sigmoid函数。由于这个函数具有S形状,因此有时也简称为sigmoid函数
σ ( z ) = 1 1 = e − z \sigma(z)=\frac{1}{1=e^{-z}} σ(z)=1=ez1
这里z是净输入,为样本的加权和加偏置顶:
z = w T x + b z=w^Tx+b z=wTx+b

绘制sigmoid函数

import matplotlib.pyplot as plt
import numpy as np
def sigmoid(z):
    return 1.0/(1.0+np.exp(-z))
z=np.arange(-7,7,0.1)
sigma_z=sigmoid(z)
plt.plot(z,sigma_z)
plt.axvline(0.0,color='k')
plt.ylim(-0.1,1.1)
plt.xlabel('z')
plt.ylabel('$\sigma(z)$')
plt.yticks([0.0,0.5,1.0])
ax=plt.gca()
ax.yaxis.grid(True)
plt.tight_layout()
plt.show()

在这里插入图片描述
但输入的 z z z为0时,输出p为0.5。当输入的z趋近于 + ∞ + \infty +时,输出p接近于1。当输入的趋近于 − ∞ - \infty 时,输出p接近于1。
而且当输入的 z > 0 z>0 z0,那么p>0.5,可以判别是预测事件的发生。当 z < 0 z<0 z0时,可以认为是预测事件的不发生。即对应的二值输出为:
y ^ = { 1 如果 σ ( z ) ≥ 0.5 0 其他 \widehat{y}=\begin{cases} 1 如果\sigma(z)≥0.5\\ 0 其他 \end{cases} y ={1如果σ(z)0.50其他

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

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

相关文章

通达OA SQL注入漏洞【CVE-2023-4165】

通达OA SQL注入漏洞【CVE-2023-4165】 一、产品简介二、漏洞概述三、影响范围四、复现环境POC小龙POC检测工具: 五、修复建议 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损…

PHP最简单自定义自己的框架实现像TP链式sql语句(六)

1、实现效果,链式sql语句封装 order、where、group、limit等封装 2、数据表构造函数入参,ModelBase.php public $table NULL; public function __construct($table){$this->table$table;if(!$this->table){die("no table" );}$this-&…

C语言----输入scanf和输出printf详解

C语言编程中,输入输出是基本操作,printf和scanf并不是C语言中的唯一的输入输出选择,对于输入有scanf()、getchar()、getche()、getch()、gets();对于输出有printf()、puts()、putchar(),他们各有自己的使用场景&#x…

C语言案例 阶乘求和-12

题目:求1 2!3! … 20!的和。 程序分析 阶乘相关原理:一个正整数的阶乘是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!,任何大于1的自然数n阶乘表示方法:…

StarRocks入门部署

目录 一、StarRocks整体介绍 1.1、系统架构图: 1.2、FE相关 1.3、BE相关 1.4、数据管理特性 二、简单部署 2.1、部署前准备 2.2、手动部署 2.2.1、部署Leader FE节点 2.2.2、部署BE节点 2.2.3、关联FE、BE,搭建StarRocks集群 2.2.4、给root设…

【深度学习】日常笔记16

可以将pd.DataFrame数据结构理解为类似于Excel中的表格。pd.DataFrame是pandas库提供的一个二维数据结构,用于存储和操作具有行和列的数据。它类似于Excel中的工作表,其中每一列可以是不同的数据类型(例如整数、浮点数、字符串等)…

接口防护电路

一、接口电路是电路中与用户或者外界媒介进行交互的部分,是内部核心敏感电路和外部设备进行信息交互的桥梁。接口电路一般分为输入接口电路和输出接口电路两种。接口电路的防护设计就是为了隔离外部危险的信号,防止外部干扰信息进入系统内部核心敏感电路…

Linux系统USB转串口芯片 GPIO使用教程

一、简介 WCH的多款USB转单路/多路异步串口芯片,除串口接口以外,还提供独立的GPIO接口,各GPIO引脚支持独立的输出输入,GPIO功能的使用需要与计算机端厂商驱动程序和应用软件配合使用。各芯片的默认GPIO引脚状态有所区别&#xff…

Redis——常见数据结构与单线程模型

Redis中的数据结构 Redis中所有的数据都是基于key,value实现的,这里的数据结构指的是value有不同的类型。 当前版本Redis支持10种数据类型,下面介绍常用的五种数据类型 底层编码 Redis在实现上述数据结构时,会在源码有特定的…

RCNA——单臂路由

一,实验背景 之前的VLAN实现的很多都是相同部门互相访问,不同部门无法访问。不过这次整来了一个路由器,领导说大部分的部门虽说有保密信息需要互相隔离,但是这些部门和其它部门也应该互相连通以方便工作交流。因此要配置新的环境&…

2023-08-11 LeetCode每日一题(矩阵对角线元素的和)

2023-08-11每日一题 一、题目编号 1572. 矩阵对角线元素的和二、题目链接 点击跳转到题目位置 三、题目描述 给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1&#xff1…

linux安装ftp

一、安装 参考博客 https://blog.csdn.net/dafeigecsdn/article/details/126518069 rpm -qa |grep vsftpd # 查看是否安装ftp yum -y install vsftpd # 安装vsftpuseradd -d /home/lanren312 lanren312 # 指定在/home目录下创建用户 passwd lanren312 # 给用户设置密码 # 输…

2022年03月 C/C++(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536 输入 只有一行,一个双精度浮点数。 输出 一行,保留8位小数的浮点数。 样例输…

【Unity每日一记】让一个物体按余弦曲线移动—(三角函数的简单运用)

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

麻省理工学院利用水泥和炭黑制造出超级电容器

麻省理工学院的研究人员展示了一种使用低成本水泥和炭黑的制造的超级电容器,这一发明可能会彻底颠覆可再生能源的存储。 ​为了解决太阳能、风能和潮汐能等间歇性和非周期性电源的普及问题,实用并且廉价的电力储存技术一直是重要的环节。MIT的研究人员最…

从docker启动kali

前言: 偶然间在docker中发现有Linux的镜像,有了尝试的想法,于是有了本文 选了星星最多的那个,直接pull,或者命令行执行 docker run kalilinux/kali-rolling 介绍中说,没有任何工具,所以需要自己安装。 直接…

Jpa与Druid线程池及Spring Boot整合(二): spring-boot-starter-data-jpa 踏坑异常处理方案

Jpa与Druid线程池及Spring Boot整合(一) Jpa与Druid线程池及Spring Boot整合(二):几个坑 附录官网文档:core.domain-events域事件 从聚合根发布事件 存储库管理的实体是聚合根。在领域驱动设计应用程序中,这些聚合根通常会发布领域事件。Sp…

Golang函数以及函数和方法的区别

在接触到go之前,我认为函数和方法只是同一个东西的两个名字而已(在我熟悉的c/c,python,java中没有明显的区别),但是在golang中者完全是两个不同的东西。官方的解释是,方法是包含了接收者的函数。…

直播预告|EasyV全新倾斜摄影组件上线!提升大规模、高精度实景建模效率

倾斜摄影,也被称为斜摄影或倾斜摄影测量,是一种高精度、高分辨率的遥感技术,用于获取地表地貌、建筑物、自然环境等目标的三维信息。在城市级数字孪生可视化建设过程中,通常会使用倾斜摄影技术以增强地理信息分析和虚拟建模的能力…

【瑞吉外卖】Linux学习

Linux常用命令 Linux命令初体验 Linux的命令都是由一个或几个单词的缩写构成的 命令对应英文作用lslist查看当前目录下的内容pwdprint work directory查看当前所在目录cd [目录名]change directory切换目录touch [文件名]touch如果文件不存在,新建文件mkdir [目录…