【数学建模】逻辑回归算法(Logistic Resgression)
逻辑回归算法
- 简介
- 逻辑回归与条件概率
- 绘制sigmoid函数
简介
逻辑回归算法是一种简单但功能强大的
二元线性分类算法。需要注意的是,尽管"逻辑回归"名字带有“回归”二字,但逻辑回归是一个分类算法,而不是回归算法。
我认为,逻辑回归算法功能强大的原因,更在于,它不仅仅可以预测类别标签,而且还可以预测类别的概率。
比如说,使用逻辑回归预测天气,不仅仅可以预测某一天是否会下雨,还可以给出下雨的概率。类似地,也可以使用逻辑回归算法来预测症状给定的情况下患者患有某种疾病的概率,这也是逻辑回归在医学领域广受欢迎的原因。
逻辑回归与条件概率
逻辑回归是一个二元分类概率模型。下面我们主要了解一下逻辑回归背后的主要机制。
p \ p p:感兴趣事件发生的概率(所谓感兴趣,正是我们想要预测的事件,比如患者在出现某些症状时患病的概率。)
几率(odds):是一个事件发生可能性的度量。数学表达式为: p 1 − p \frac{p}{1-p} 1−pp.
logit 函数:logit函数是几率(odds)的对数函数:
l o g i t ( p ) = log p 1 − p \ logit(p)=\log \frac{p}{1-p} logit(p)=log1−pp
这里的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=e−z1
这里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 z>0,那么p>0.5,可以判别是预测事件的发生。当 z < 0 z<0 z<0时,可以认为是预测事件的不发生。即对应的二值输出为:
y ^ = { 1 如果 σ ( z ) ≥ 0.5 0 其他 \widehat{y}=\begin{cases} 1 如果\sigma(z)≥0.5\\ 0 其他 \end{cases} y ={1如果σ(z)≥0.50其他
相关文章:
【数学建模】逻辑回归算法(Logistic Resgression)
逻辑回归算法 简介逻辑回归与条件概率绘制sigmoid函数 简介 逻辑回归算法是一种简单但功能强大的二元线性分类算法。需要注意的是,尽管"逻辑回归"名字带有“回归”二字,但逻辑回归是一个分类算法,而不是回归算法。 我认为ÿ…...
Hadoop HA集群两个NameNode都是standby或者主NameNode是standby,从NameNode是active的情况集锦
文章目录 背景架构HDFS HA配置错误原因解决方案方案一方案二方案三(首先查看自己各参数文件是否配置出错) 后记补充failovertransitionToActive 常用端口号及配置文件常用端口号hadoop3.xhadoop2.x 常用配置文件 这里说一下配置Hadoop HA集群可能出现的两…...
[Go版]算法通关村第十一关白银——位运算的高频算法题
目录 专题1:位移的妙用题目:位1的个数(也被称为汉明重量)解法1:遍历所有位,判断每个位的数字是否是1Go代码 解法2:依次消除每个1的位 numnum&(num-1)Go代码 题目:比特位计数思路…...
Swift 基础
工程目录 请点击下面工程名称,跳转到代码的仓库页面,将工程 下载下来 Demo Code 里有详细的注释 点击下载代码:swift-01...
IDEA的常用设置,让你更快速的编程
一、前言 在使用JetBrains的IntelliJ IDEA进行软件开发时,了解和正确配置一些常用设置是非常重要的。IDEA的强大功能和定制性使得开发过程更加高效和舒适。 在本文中,我们将介绍一些常用的IDEA设置,帮助您更好地利用IDEA进行开发。这些设置包…...
docker 镜像的导出与导入 save 与 load
一、镜像导出 docker save 导出 将系统中的镜像保存为压缩包,进行文件传输。使用 docker save --help 查看命令各参数,或者去docker官网查看.以 hello-world镜像为例。 A:将镜像保存为tar包 docker save image > package.tar docker sa…...
WPF显示初始界面--SplashScreen
WPF显示初始界面–SplashScreen 前言 WPF应用程序的运行速度快,但并不能在瞬间启动。当第一次启动应用程序时,会有一些延迟,因为公共语言运行时(CLR)首先需要初始化.NET环境,然后启动应用程序。 对于WPF中…...
08- AD/DA模/数转换
AD/DA模/数转换 8、AD/DA模/数转换8.1 AD转换注意 示例8.2 DA转换DAC转换原理: 8.3 PWM的DAC 8、AD/DA模/数转换 8.1 AD转换 通道引脚对照表: ADC的引脚: 规则通道和注入通道: 各个通道可以在单次、连续、扫描或者间断模式里…...
DTC服务(0x14 0x19 0x85)
DTC相关的服务有ReadDTCInformation (19) service,ControlDTCSetting (85) service和ReadDTCInformation (19) service ReadDTCInformation (19) service 该服务允许客户端从车辆内任意一台服务器或一组服务器中读取驻留在服务器中的诊断故障代码( DTC )信息的状态…...
【国护攻防场景下的沙箱技术对比】
目录 前言 沙箱技术分析 总结 前言 真高兴呀,又是受到红队大佬青睐的一天,今天下午很荣幸的收到了来自红队大佬的恶意投喂,把我们各位在座100年工作经验的蓝队师傅们吓得赶忙拔掉自己的电脑电源,断掉自己的网线,…...
springboot综合案例第三课
SpringSecurity入门 什么是SpringSecurity Spring Security 的前身是 Acegi Security ,是 Spring 项目组中用来提供安全认证服务的框架。 (https://projects.spring.io/spring-security/) Spring Security 为基于J2EE企业应用软件提供了全面安全服务。特别 是使…...
面试经典150题——罗马数字转整数
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如&#x…...
第三篇|金融人数据来源有哪些
数据对于金融行业真的很重要,那么金融人有哪些途径查数据呢? 国内: 1. 国家统计局 这个应该是无论什么行业都使用最频繁的网站,每个月都会固定发上个月资产投资数据 、工业增加值和利润数据等常规数据,其他数据也会…...
爬虫逆向实战(二)--某某观察城市排行榜
一、数据接口分析 主页地址:某某观察 1、抓包 通过抓包可以发现数据接口是multi 2、判断是否有加密参数 请求参数是否加密? 无请求头是否加密? 无cookie是否加密? 无响应数据是否加密? 通过查看“响应”板块可以…...
Grafana Prometheus 通过JMX监控kafka 【2023最新方式】
第三方kafka exporter方案 目前网上关于使用Prometheus 监控kafka的大部分资料都是使用一个第三方的 kafka exporter,他的原理大概就是启动一个kafka客户端,获取kafka服务器的信息,然后提供一些metric接口供Prometheus使用,随意它…...
发布游戏,进行打包。(Unity)
做到这里,我们的项目基本功能已经完成了,如果你还想使项目功能更加完善,可以自己思考如何补充,充分发挥并进行优化使效果达到更加美好。 首先呢,我们这里是说打包Window电脑游戏,我们直接点击菜单栏文件-&…...
我的C++待办事项
2023年8月17日 内存管理部分 学习智能指针 写一篇关于怎么在Linux中安装和使用vclgrind的博客(2023年8月17日下午完成) 拍一个关于在Linux中安装和使用vclgrind的视频 在Windows上怎么检测内存泄漏 怎么使用Address Sanitizer 在Linux上如何使用gc…...
浙大数据结构第七周之Saving James Bond - Hard Version
题目详情: This time let us consider the situation in the movie "Live and Let Die" in which James Bond, the worlds most famous spy, was captured by a group of drug dealers. He was sent to a small piece of land at the center of a lake f…...
线程同步条件变量
为何要线程同步 在线程互斥中外面解决了多线程访问共享资源所会造成的问题。 这篇文章主要是解决当多线程互斥后引发的新的问题:线程饥饿的问题。 什么是线程饥饿?互斥导致了多线程对临界区访问只能改变为串行,这样访问临界资源的代码只能…...
jeecgboot-vue3 查询区 label 文字居左实现
以系统管理中的系统角色界面为例 操作步骤 1. 通过路由或者工具找到当前代码所在的文件 src/views/system/role/index.vue 2. 找到 useListPage 调用,fromConfig 对象加入 labelWidth 和 rowProps 属性 formConfig: {labelWidth: 65, // 设置所有的label宽rowPr…...
抖音批量下载终极指南:5分钟掌握免费视频资源整合技巧
抖音批量下载终极指南:5分钟掌握免费视频资源整合技巧 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 你是不是经常看到精彩的抖音视频想保存下来,却苦于一个个手动下载太麻烦&#x…...
JAVA集成CAS客户端总结
一、依赖<dependency><groupId>org.jasig.cas.client</groupId><artifactId>cas-client-support-springboot</artifactId><version>3.6.4</version></dependency>二、yml配置cas:server-url-prefix: https://xxx.xxx:8443/cas…...
OpenClaw极简开发:用nanobot镜像快速验证自动化脚本
OpenClaw极简开发:用nanobot镜像快速验证自动化脚本 1. 为什么选择nanobot镜像进行OpenClaw开发 作为一名长期在本地折腾AI自动化脚本的开发者,我深知环境配置的痛。每次换机器重装OpenClaw,总要在Node.js版本、Python依赖和模型部署之间反…...
vue3-count-to避坑指南:数字增长动画的7个常见问题与解决方案
Vue3-Count-To深度避坑实战:数字动画7大疑难解析 数字动态增长效果在数据可视化、金融仪表盘和运营数据展示中扮演着关键角色。vue3-count-to作为Vue3生态中专精于此的轻量级库,虽然API简洁,但在真实业务场景中往往会遇到各种边界情况。本文将…...
避坑指南:Windows下OpenCV摄像头索引混乱问题的3种解决之道
避坑指南:Windows下OpenCV摄像头索引混乱问题的3种解决之道 在工业视觉和智能监控领域,多摄像头协同工作是常见需求。但当你在Windows平台上使用OpenCV的VideoCapture接口时,可能会遇到这样的困扰:每次重启系统后,原本…...
OpenCV图像预处理失效全解析,深度解读光照不均、反光伪影、亚像素抖动下的鲁棒代码实现
第一章:OpenCV图像预处理失效的典型工业场景综述在工业视觉检测系统中,OpenCV常被用作图像预处理的核心工具,但其默认参数与理想假设在真实产线环境中频繁失效。光照剧烈波动、镜头污损、金属反光、高速运动拖影以及低信噪比成像等物理约束&a…...
从Excel到Python:数据分析师必学的对数坐标绘制技巧(含Seaborn美化)
从Excel到Python:数据分析师必学的对数坐标绘制技巧(含Seaborn美化) 当市场报告中的用户增长曲线从缓慢爬升突然变成陡峭上升,或是竞品分析中的订单量横跨三个数量级时,Excel的默认线性坐标往往会让图表失去可读性。对…...
低功耗电源开关电路设计与MCU控制实现
1. 经典电源开关电路设计与分析1.1 系统架构概述该电源开关电路采用三级晶体管控制架构,实现以下核心功能:低功耗待机模式(静态电流<10μA)按键触发启动机制MCU控制的自锁功能软件可控的电源关断系统工作电压为9V输入ÿ…...
Undecimus革新性全流程越狱技术指南:从核心价值到实用工具
Undecimus革新性全流程越狱技术指南:从核心价值到实用工具 【免费下载链接】Undecimus unc0ver jailbreak for iOS 11.0 - 12.4 项目地址: https://gitcode.com/gh_mirrors/un/Undecimus 一、核心价值:破解iOS生态三大痛点 Undecimus作为针对iOS…...
GStreamer性能优化指南:在Jetson TX2上实现4K视频低延迟处理(基于NVMM内存)
GStreamer性能优化指南:在Jetson TX2上实现4K视频低延迟处理(基于NVMM内存) 在嵌入式视觉和实时视频处理领域,NVIDIA Jetson TX2凭借其强大的GPU和专用硬件加速单元,成为工业级应用的理想选择。但要将这块开发板的性能…...
