逻辑回归(解决分类问题)

定义:逻辑回归是一种用于解决分类问题的统计学习方法。它通过对数据进行建模,预测一个事件发生的概率。逻辑回归通常用于二元分类问题,即将数据分为两个类别。它基于线性回归模型,但使用了逻辑函数(也称为S形函数)来将输出限制在0到1之间,表示事件发生的概率。逻辑回归可以通过最大似然估计或梯度下降等方法来进行参数估计,从而得到一个可以用于分类的模型。

一、逻辑回归入门

在分类肿瘤的例子中,我们将肿瘤分为恶性肿瘤和良性肿瘤。 对于恶性肿瘤赋值1(yes),对良性肿瘤赋值0(no)。并在坐标系中表示出其数据集以及对应的拟合曲线如下:

  

二、逻辑函数(对数几率函数)

        沿用上面的例子,假设原始数据集有一个值为0.7,我们应该如何来在坐标系中表示呢? 我们需要引用一个逻辑函数来描述这些位于0~1中间的数据。

        在所有的二分类问题中,我们需要将实值Z准华为0/1的值,最理想的函数肯定是分段函数(单位阶跃函数):

y=\begin{cases} 0& z<0\\ 0.5& z=0 \\ 1& z>0 \end{cases}

        但是分段函数不连续,因此不能单调可微调函数g^{-}(\cdot )转化为线性模型。所以我们希望找到一个用于替代分段函数的“近似替代函数”,希望它能够单调可微。逻辑函数(Sigmoid function)正是这样一个函数:

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

当我们将逻辑函数作为g^{-}(\cdot )带入(1)式中可得:

y=\frac{1}{1+e^{-(wx^{T}+b)}}       (2)

 经过变换后得到:

ln\frac{y}{1-y}=w^{T}x+b   (3)

 若将y视作样本x为正例(恶性肿瘤)的可能性,则1-y是其反比的可能性,两者的比值\frac{y}{1-y}称为几率(odds),反映了x作为正例的相对可能性。按照通俗的话来说,我们可以视逻辑回归的输出结果为对于给定的输入x情况下输出y=1的概率。

        还是以肿瘤的例子说明:其中x为肿瘤尺寸,y为良性肿瘤0和恶性肿瘤1,如果从上述(2)中得到y=0.7,则说明对于x有70%的概率为恶性肿瘤。  

逻辑函数常见形式:

z=\vec{w}\cdot \vec{x}+b 

f_{\vec{w},b}(\vec{x})=g(\vec{w}\cdot \vec{x}+b)=\frac{1}{1+e^{-(\vec{w}\cdot \vec{x}+b)}}=P(y=1|x;\vec{w},b)

三、决策边界

在分类问题中,通过逻辑回归得到的输出只会是确定的整数;我们必须找到一个介于0~1之间的阈值flag作为决策边界。

判断的基本形式如下:通过样本值与flag进行比较来分类;

Is f_{\vec{w},b}(\vec{x})\geq flag?

Yes:\hat{y}=1    No:\hat{y}=0

因此,我们需要确定何时f_{\vec{w},b}(\vec{x})\geq flag的点;

有逻辑函数的基本变形形式可知在此时必有:

g(z)\geq flag\Rightarrow z>=flag\Rightarrow \vec{w}\cdot \vec{x}+b>=flag

因此我们可以将z=\vec{w}\cdot \vec{x}+b作为决策边界

 

 非线性的决策边界

分析决策边界的函数我们不难发现,对于非线性的决策边界我们可以综合多项式回归的知识进行求解。如下图中,使用w_{1}x_{1}^2+w_{2}x_{2}^2=1作为决策边界。

对于多元线性回归也可以同样推导 

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

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

相关文章

Android Studio下载gradle反复失败

我的版本&#xff1a;gradle-5.1.1 首先检查设置路径是否正确&#xff0c;参考我的修改&#xff01; 解决方案 1.手动下载Gradle.bin Gradle Distributions 下载地址 注意根据编译器提示下载&#xff0c;我这要求下载的是bin 而不是all 2.把下载好的整个压缩包放在C:\Users\…

图像的初识

一、图像的数组表示 RGB能够构成人眼所能识别的所有颜色。 二、图像的变换 Example&#xff1a; img.shape Out[329]: (512, 768, 3) img.dtype Out[330]: dtype(uint8) #补值变换 shift_temp_img [255,255,255] - img shift_img Image.fromarray(shift_temp_img.astype(ui…

「 典型安全漏洞系列 」03.跨站请求伪造CSRF详解

引言&#xff1a;CSRF&#xff08;Cross-Site Request Forgery&#xff0c;跨站请求伪造&#xff09;是一种攻击技术&#xff0c;通过使用用户的身份进行不诚实地操作&#xff0c;恶意用户可以在受害者&#xff08;目标&#xff09;的机器上执行一些未授权的操作。这可能会危及…

Jenkins自动化部署docker

Jenkins自动化部署docker和普通方式构建 docker外挂目录 准备测试服务器docker环境准备jdk环境将上传jar包修改为app.jar对外暴露1000端口启动jar FROM openjdk:8-jdk-alpine ARG JAR_FILE COPY ${JAR_FILE} app.jar EXPOSE 1000 ENTRYPOINT ["java","-jar&q…

Effective Objective-C学习第一周

OC的起源 OC是一种消息型语言&#xff0c;使用的是“消息结构”而非“函数调用”&#xff0c;由smalltalk演化而来。使用消息结构的语言运行时执行的代码由运行环境来决定&#xff0c;而使用函数调用的语言由编译器决定。 什么是引用计数 OC将堆内存管理抽象出来了。不需要使…

Docker教程 Dockerfile 标签介绍

docker commit 也可以用来构建镜像&#xff0c;但是并不推荐。相反&#xff0c;更推荐使用dockerfile与docker build命令来构建镜像&#xff0c;Dockerfile使用基本的基于DSL(Domain Specific Language)语法的指令来构建Docker镜像。Dockerfile构建镜像更具备可重复性、透明性以…

MobaXterm连接服务器步骤

双击该软件 选择Session 点击SSH 填写服务器的IP地址、服务器的用户名称、Port这个端口号一般都是这个&#xff0c;但有些可能例外&#xff0c;自己注意一下&#xff0c;最后点击OK就行 这个五角星点击一下&#xff0c;就可以看到您自己刚才的配置。 鼠标左键双击&…

第 12 章 多路查找树

文章目录 12.1 二叉树与B 树12.1.1 二叉树的问题分析12.1.2 多叉树12.1.3 B 树的基本介绍 12.2 2-3 树12.2.1 2-3 树是最简单的 B 树结构, 具有如下特点:12.2.2 2-3 树应用案例12.2.3 其它说明 12.3 B 树、B树和 B*树12.3.1 B 树的介绍12.3.2 B 树的介绍12.3.3 B树的介绍12.3.4…

uniapp-x uts 介绍

uts 是什么 uts&#xff0c;全称 uni type script&#xff0c;是一门跨平台的、高性能的、强类型的现代编程语言。 它可以被编译为不同平台的编程语言&#xff0c;如&#xff1a; web平台&#xff0c;编译为JavaScriptAndroid平台&#xff0c;编译为KotliniOS平台&#xff0…

无root权限安装git-lfs(linux版)

首先给大家看一下官方链接&#xff1a;安装 Git Large File Storage - GitHub 文档 git-lfs/INSTALLING.md at main git-lfs/git-lfs (github.com) 直接用这个命令好啦~绕了一大圈 conda install git #yum install git 以下是手动安装 接下来是我的步骤&#xff1a; 首先在…

深入理解 Spark(四)Spark 内存管理模型

Spark 中的内存管理和资源管理模型 Executor 进程作为一个 JVM 进程&#xff0c;其内存管理建立在 JVM 的内存管理之上&#xff0c;整个大致包含两种方式&#xff1a;堆内内存和堆外内存。 一个 Executor 当中的所有 Task 是共享堆内内存的。一个 Work 中的多个 Executor 中的…

如何简单的使用文心一言(高级版)(中国版ChatGPT)

文心一言API高级版使用 一、百度文心一言API(高级版)二、使用步骤1、接口2、请求参数3、请求参数示例4、接口 返回示例5、智能生成API代码 三、 如何获取appKey和uid1、申请appKey:2、获取appKey和uid 四、重要说明 一、百度文心一言API(高级版) 基于百度文心一言语言大模型的…

[NAND Flash 5.4] QLC 闪存给SSD主控带来了很大的难题?

依公知及经验整理,原创保护,禁止转载。 专栏 《深入理解NAND Flash》 <<<< 返回总目录 <<<< 前言 世界各大主流闪存厂商,如美光、海力士、铠侠和长江存储积极致力于QLC的研发,并相继推出了QLC SSD产品。随着技术的不断进步,人们普遍担心的QLC擦…

Elasticsearch 快速入门指南【总结记录】

本文将介绍一些基本概念&#xff0c;帮助您快速入门使用Elasticsearch。 一、概述 ES用来解决什么问题&#xff1f;Elasticsearch是解决海量数据&#xff08;已经存在的数据&#xff09;全文检索的不二只选。 Elasticsearch是一个基于Java语言开发&#xff0c;建立在开源搜索…

cssip 第11章 : 安全网络架构和保护网络组件

11.1 OSI模型 协议&#xff1a;定义数据如何通过网络介质传输。 11.1.1 OSI模型的历史 开发 OSI 协议是为给所有计算机系统建立通用的通信结构或标准。 OSI模型表示&#xff1a;应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。 11.1.3 封装/解…

What does rpm do?

RPM 是 Red Hat Package Manager 的缩写&#xff0c;顾名思义是Red Hat 贡献出来的软件包管理工具&#xff0c;支持安装、更新、卸载、查询、验证和管理系统软件包。hheg [Ref] linux下的rpm是什么意思 [Ref] 20 个常用的 RPM 命令 RPM 将所有已安装软件包的信息 保存在 /v…

1944. 队列中可以看到的人数

1944. 队列中可以看到的人数 - 力扣&#xff08;LeetCode&#xff09; 1、一个人能看到的人要么比他自己高&#xff0c;要么比他自己矮 2、一个人最多只能看到一个比自己高的人 那可以倒序遍历height 数组&#xff0c;单调栈中降序&#xff0c;a若能弹出b说明b左边第一个比b…

「Vue3面试系列」Vue 3.0中Treeshaking特性有哪些?举例说明一下?

文章目录 一、是什么二、如何做Vue2 项目Vue3 项目 三、作用参考文献 一、是什么 Tree shaking 是一种通过清除多余代码方式来优化项目打包体积的技术&#xff0c;专业术语叫 Dead code elimination 简单来讲&#xff0c;就是在保持代码运行结果不变的前提下&#xff0c;去除…

k8s的存储卷(数据卷)

1、存储卷&#xff1a;容器内的目录和宿主机的目录进行挂载 2、容器在系统上的生命周期是短暂的&#xff0c;delete&#xff0c;k8s用控制器创建的pod&#xff0c;delete相当于重启&#xff0c;容器的状态也会恢复到初始状态&#xff0c;一旦回到初始状态&#xff0c;所有的后…

SpringBoot从数据库读取数据数据源配置信息,动态切换数据源

准备多个数据库 首先准备多个数据库&#xff0c;主库smiling-datasource&#xff0c;其它库test1、test2、test3 接下来&#xff0c;我们在主库smiling-datasource中&#xff0c;创建表databasesource&#xff0c;用于存储多数据源相关信息。表结构设计如下 创建好表之后&#…