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

定义:逻辑回归是一种用于解决分类问题的统计学习方法。它通过对数据进行建模,预测一个事件发生的概率。逻辑回归通常用于二元分类问题,即将数据分为两个类别。它基于线性回归模型,但使用了逻辑函数(也称为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.hqwc.cn/news/409666.html

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

相关文章

BDD(Behavior-Driven Development)行为驱动开发介绍

为什么需要BDD&#xff1f; “开发软件系统最困难的部分就是准确说明开发什么” (“The hardest single part of building a software system is deciding precisely what to build” — No Silver Bullet, Fred Brooks) 。 看一下下面的开发场景&#xff1a; 场景一&#xf…

新书速览|数据科学技术:文本分析和知识图谱

图解数据科学&#xff0c;文本分析、知识图谱详解&#xff0c;实战案例呈现&#xff0c;助你深入理解技术原理&#xff0c;行业应用启发&#xff0c;助力创新发展。 本书内容 数据科学的关键技术包括数据存储计算、数据治理、结构化数据分析、语音分析、视觉分析、文本分析和知…

多维时序 | Matlab实现GRO-CNN-BiLSTM-Attention淘金算法优化卷积神经网络-双向长短期记忆网络结合注意力机制多变量时间序列预测

多维时序 | Matlab实现GRO-CNN-BiLSTM-Attention淘金算法优化卷积神经网络-双向长短期记忆网络结合注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现GRO-CNN-BiLSTM-Attention淘金算法优化卷积神经网络-双向长短期记忆网络结合注意力机制多变量时间序列预测效果一览基…

Go后端开发 -- 面向对象特征:结构体 继承 多态 interface

Go后端开发 – 面向对象特征&#xff1a;结构体 && 继承 && 多态 && interface 文章目录 Go后端开发 -- 面向对象特征&#xff1a;结构体 && 继承 && 多态 && interface一、Go的结构体1.结构体的声明和定义2.结构体传参 二、将…

【Docker】Dockerfile构建最小镜像

&#x1f973;&#x1f973;Welcome 的Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Docker的相关操作吧 目录 &#x1f973;&#x1f973;Welcome 的Huihuis Code World ! !&#x1f973;&#x1f973; 前言 一.Dockerfile是什么 二.Dock…

C盘满了,我用什么思路清理?

20240115 上周六同事传了一个很大的虚拟机给我&#xff0c;C盘就红了 虽然是飞秋选错了存储文件的路径&#xff0c;但后来忘了&#xff0c;就开始毫无目的删除文件&#xff0c;过程中会有没有权限删除的&#xff0c;这样还是没有改善。 咨询了公司IT技术人员&#xff0c; 告…

【开源】基于JAVA语言的网上药店系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 药品类型模块2.3 药品档案模块2.4 药品订单模块2.5 药品收藏模块2.6 药品资讯模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 角色表3.2.2 药品表3.2.3 药品订单表3.2.4 药品收藏表3.2.5 药品留言表…

布隆过滤器四种实现(Java,Guava,hutool,Redisson)

1.背景 为预防大量黑客故意发起非法的时间查询请求&#xff0c;造成缓存击穿&#xff0c;建议采用布隆过滤器的方法解决。布隆过滤器通过一个很长的二进制向量和一系列随机映射函数&#xff08;哈希函数&#xff09;来记录与识别某个数据是否在一个集合中。如果数据不在集合中…

DataXCloud部署与配置[智数通]

静态IP设置 # 修改网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33# 修改文件内容 TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic IPADDR192.168.18.130 NETMASK255.255.255.0 GATEWAY192.168.18.2 DEFROUTEyes IPV4_FAILURE_FATALno IPV6INIT…

瑞_Java开发手册_(七)设计规约

文章目录 设计规约的意义设计规约 &#x1f64a;前言&#xff1a;本文章为瑞_系列专栏之《Java开发手册》的设计规约篇。由于博主是从阿里的《Java开发手册》学习到Java的编程规约&#xff0c;所以本系列专栏主要以这本书进行讲解和拓展&#xff0c;有需要的小伙伴可以点击链接…

SpringBoot项目的两种发布方式(jar包和war包)

SpringBoot项目的两种发布方式&#xff08;jar包和war包&#xff09; 在springboot入门和项目示例这个项目和application.yml配置端口号和访问url路径基础上进行修改 1、使用jar包方式发布 1.1、在pom.xml中添加一个SpringBoot的构建的插件 <build><plugins>&l…

【MYSQL】事务隔离级别

脏读、幻读、不可重复读 脏读 一个事务正在对一条记录做修改&#xff0c;在这个事务完成并提交前&#xff0c;另一个事务也来读取同一条记录&#xff0c;读取了这些未提交的“脏”数据&#xff0c;并据此做进一步的处理&#xff0c;就会产生未提交的数据依赖关系。这种现象被形…