一文介绍回归和分类的本质区别 !!

文章目录

前言

1、回归和分类的本质

(1)回归(Regression)的本质

(2)分类(Classification)的本质

2、回归和分类的原理

(1)回归(Regression)的原理

(2)分类(Classification)的原理

3、回归和分类的算法

(1)回归(Regression)的算法

(2)分类(Classification)的算法


前言

本文将从回归和分类的本质、回归和分类的原理、回归和分类的算法三个方面,详细介绍回归和分类 (Regression And Classification)。


1、回归和分类的本质

回归和分类是机器学习中两种基本的预测方法,它们的本质区别在于输出变量的类型。回归问题输出的是连续的数值,分类问题输出的是有限的、离散的类别标签。两者都是监督学习的一部分,都依赖于带有标签的训练数据来学习模型。

(1)回归(Regression)的本质

回归的目的是预测数值型的目标值,本质是寻找自变量和因变量之间的关系,以便能够预测新的、未知的数据点的输出值。例如,根据房屋的面积、位置等特征预测其价格(房价预测、股票价价格预测、温度预测等)。

回归的本质

  • 自变量个数:

        一元回归:只涉及一个自变量和一个因变量的回归分析。

        多元回归:涉及两个或更多个自变量和一个因变量的回归分析。

  • 自变量与因变量的关系:

        线性回归:自变量与因变量之间的关系被假定为线性的,即因变量是自变量的线性组合。

        非线性回归:自变量与因变量之间的关系是非线性的,这通常需要通过非线性模型来描述。

  • 因变量个数:

        简单回归:只有一个因变量的回归分析,无论自变量的数量如何。

        多重回归:涉及多个因变量的回归分析。在这种情况下,模型试图同时预测多个因变量的值。

(2)分类(Classification)的本质

分类的目的是预测标签型的目标值,本质是根据输入数据的特征将其划分到预定义的类别中。例如,根据图片的内容判断其所属的类别(猫、狗、花等)(邮件是否为垃圾邮件、疾病诊断的患病与否)。

分类的本质

  • 二分类(Binary Classification):

        表示分类任务中有两个类别。在二分类中,我们通常使用一些常见的算法来进行分类,如逻辑回归、支持向量机等。例如,我们想要识别一些图片是不是猫,这就是一个二分类问题,因为答案只有是或不是两种可能。

  • 多分类(Multi-Class Classification):

        表示分类任务中有多个类别。多分类是假设每个样本都被设置了一个且仅有一个标签:一个水果可以是苹果或者梨,但是同时不可能是两者。在多分类中,我们可以使用一些常见的算法来进行分类,如决策树、随机森林等。例如,对一堆水果图片进行分类,它们可能是橘子、苹果、梨等,这就是一个多分类问题。

  • 多标签分类(Multi-Label Classification):

        给每个样本一系列的目标标签,可以想象成一个数据点的各属性不是相互排斥的。多标签分类的方法分为两种,一种是将问题转化为传统的分类问题,二是调整现有的算法来适应多标签的分类。例如,一个文本可能被同时认为是宗教、政治、金融或者教育相关的话题,这就是一个多标签分类问题,因为一个文本可以同时有多个标签。

2、回归和分类的原理

线性回归 vs 逻辑回归

(1)回归(Regression)的原理

通过建立自变量和因变量之间的数字模型来探究它们之间的关系。

线性回归

线性回归(Linear Regression):求解权重(w)和偏置(b)的主要步骤。

求解权重(w)和偏置(b)

  • 初始化权重和偏置:为权重w和偏置b选择初始值,并准备训练数据x和标签y
  • 定义损失函数:选择一个损失函数(如均方误差)来衡量模型预测与实际值之间的差距。
  • 应用梯度下降算法:使用梯度下降算法迭代更新wb,以最小化损失函数,直到满足停止条件。

梯度下降算法迭代更新 w 和 b

  • 获取并验证最终参数:当算法收敛时,得到wb,并在验证集上检查模型性能。
  • 构建最终模型:使用最终的wb构建线性回归模型,用于新数据预测。

新数据预测

(2)分类(Classification)的原理

根据事物或概念的共同特征将其划分为同一类别,而将具有不同特征的事物或概念划分为不同类别。

逻辑回归

逻辑回归(Logistic Regression):通过sigmoid函数将线性回归结果映射为概率的二分类算法。

  • 特征工程:转换和增强原始特征以更好地表示问题。
  • 模型建立:构建逻辑回归模型,使用sigmoid函数将线性组合映射为概率。
  • 模型训练:通过优化算法(如梯度下降)最小化损失函数来训练模型。
  • 模型评估:使用验证集或测试集评估模型的性能。
  • 预测:应用训练好的模型对新数据进行分类预测。

猫狗识别

3、回归和分类的算法

(1)回归(Regression)的算法

主要用于预测数值型数据。

  1. 线性回归(Linear Regression):这是最基本和常见的回归算法,它假设因变量和自变量之间存在线性关系,并通过最小化预测值和实际值之间的平方差来拟合数据。
  2. 多项式回归(Polynomial Regression):当自变量和因变量之间的关系是线性的,可以使用多项式回归。它通过引入自变量的高次项来拟合数据,从而捕捉非线性关系。
  3. 决策树回归(Decision Tree Regression):决策树回归是一种基于树结构的回归方法,它通过构建决策树来划分数据空间,并在每个叶节点上拟合一个简单的模型(如常数或线性模型)。决策树回归易于理解和解释,能够处理非线性关系,并且对特征选择不敏感。
  4. 随机森林回归(Random Forest Regression):随机森林回归是一种集成学习方法,它通过构建多个决策树并将它们的预测结果组合起来来提高回归性能。随机森林回归能够处理高维数据和非线性关系,并且对噪声和异常值具有一定的鲁棒性。

(2)分类(Classification)的算法

主要用于发现类别规则并预测新数据的类别。

  1. 逻辑回归(Logistic Regression):尽管名字中有“回归”,但实际上逻辑回归是一种分类算法,常用于二分类问题。它通过逻辑函数将线性回归的输出映射到(0,1)之间,得到样本点属于某一类别的概率。在回归问题中,有时也使用逻辑回归来处理因变量是二元的情况,此时可以将问题看作是对概率的回归。
  2. 支持向量机(SVM):支持向量机是一种基于统计学习理论的分类算法。它通过寻找一个超平面来最大化不同类别之间的间隔,从而实现分类。SVM在高维空间和有限样本情况下表现出色,并且对于非线性问题也可以使用核函数进行扩展。
  3. K最近邻(KNN):K最近邻是一种基于实例的学习算法,它根据输入样本的K个最近邻样本的类别来确定输入样本的类别。KNN算法简单且无需训练阶段,但在处理大规模数据集时可能效率较低。
  4. 朴素贝叶斯分类器:朴素贝叶斯是一种基于贝叶斯定理的分类算法,它假设特征之间相互独立(即朴素假设)。尽管这个假设在实际应用中往往不成立,但朴素贝叶斯分类器在许多领域仍然表现出色,尤其是在文本分类和垃圾邮件过滤等方面。

参考:架构师带你玩转AI

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

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

相关文章

Vue3(学自尚硅谷)

一、基础准备工作 (一)过程 环境要求:有node.js环境、npm。执行命令: npm create vuelatest 而后选择: ✔ 请输入项目名称: … me_vue3 ✔ 是否使用 TypeScript 语法? … 否 / 是 ✔ 是否启用…

干货| 这篇电商数据分析案例一定要看!

主流电商商品数据采集API接口 直播带货行业在经历了高端玩家的“春秋争霸”之后,逐渐进入到了一种“网红化”的阶段。人们正在将注意力从原来凤毛麟角的直播巨头逐渐转移到一些小主播身上。但近短时间却出现了网红带货营销额放缓的现象。因此商家必须要调整直播策略…

【数据库】数据库的介绍、分类、作用和特点,AI人工智能数据如何存储

欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《数据库》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识…

互联网轻量级框架整合之JavaEE基础II

编写本篇代码并实际执行之前请仔细阅读前一篇互联网轻量级框架整合之JavaEE基础I Servlet 在Servlet容器中,Servlet是最基础的组件,也可以把JSP当做Servlet,JSP的存在意义只在于方便编写动态页面,使Java语言能和HTML相互结合&…

产品推荐 | 中科亿海微推出亿迅®A8000金融FPGA加速卡

01、产品概述 亿迅A8000金融加速卡,是中科亿海微联合金融证券领域的战略合作伙伴北京睿智融科,将可编程逻辑芯片与金融行业深度结合,通过可编程逻辑芯片对交易行情加速解码,实现低至纳秒级的解码引擎,端到端的处理时延…

Linux gcc day3

find命令(importance): 语法:find pathname -options find /root -name test.c which命令: which [指令] 只搜索指令,在什么位置下 为什么文件夹带有颜色呢? 科普补充alias命令: ali…

C++:赋值运算符(17)

赋值也就是将后面的值赋值给变量,这里最常用的就是 ,a1那么a就是1,此外还包含以下的赋值运算 等于int a 1; a10 a10加等于int a 1; a1;a2-减等于int a 1; a-1;a0*乘等于int a 2; a*5;a10/除等于int a 10; a/2;a5%模等于int a 10; a%…

kafka集群介绍+部署Filebeat+Kafka+ELK

一、消息队列 1、为什么需要消息队列(MQ) 主要原因是由于在高并发环境下,同步请求来不及处理,请求往往会发生阻塞。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过多,从而触…

Mac电脑清理垃圾软件 Mac电脑清理垃圾的文件在哪 cleanMyMac X 4.8.0激活号码

Mac用户经常会有这样一些烦恼,比如软件之间的管理,应用生成的缓冲文件怎样删除,还有软件的卸载等等... 如何有效清理Mac中的垃圾文件,删除多余的软件成为Mac用户迫切的需求。本文就为大家介绍几款好用的Mac电脑清理垃圾软件&#…

在线考试|基于Springboot的在线考试管理系统设计与实现(源码+数据库+文档)

在线考试管理系统目录 目录 基于Springboot的在线考试管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、前台: 2、后台 管理员功能 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主…

Redis中的Sentinel(二)

Sentinel 初始化Sentinel状态。 在应用了Sentinel的专用代码之后,接下来,服务器会初始化一个sentinel.c/sentinelState结构(简称Sentinel状态),这个结构 保存了服务器中所有和Sentinel功能有关的状态(服务器的一般状态仍然由redis.h/redisServer保存);…

SaaS 电商设计 (十) 记一次 5000kw 商品数据ES迁移 (详细的集群搭建以及线上灰度过程设计)

目录 一.背景二.技术目标三.技术方案3.1 整体流程3.2 ES 切换前:完成整体新集群的搭建.i:拓扑结构设计ii: 如何选择整体的 **ES** 集群配置. 3.3 **ES** 版本切换中3.3.1 多client版本兼容3.3.2 Router的设计 3.4 ES 切换后3.5 开箱即用3.5.1 开箱使用 demo 演示3.5.2 使用过程…

团体程序设计天梯赛-练习集 01

天梯赛题解合集 团体程序设计天梯赛-练习集 (L1-001 - L1-012) 团体程序设计天梯赛-练习集 (L1-013 - L1-024) 团体程序设计天梯赛-练习集 (L1-025 - L1-036) 团体程序设计天梯赛-练习集 (L1-037 - L1-048) L1-001 Hello World 输出题 样例 输入 输出 Hello World!思…

图像处理ASIC设计方法 笔记13 图像旋转ASIC的输入输出电路

文章目录 1 DPRAM:双端口 RAM2 IDT Integrated Device Technology, Inc. 公司介绍3 IDT70T633S10DDI4 TMS320C64145 旋转ASIC的输入输出框图图像旋转ASIC的输入输出电路案例用到的芯片相关介绍如下。 1 DPRAM:双端口 RAM DPRAM 的特点是可以通过两个端口同时访问,具有两套完全…

数据结构入门系列-栈的结构及栈的实现

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 栈 栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一段进行插入和删除元素操作,进行数据输入和删除操作的一端称为栈顶,另…

InternLM2-Chat-1.8B 模型测试

在interStudio进行InternLM2-Chat-1.8B模型访问,进入开发机后 配置基础环境 新建conda环境并且进入 conda create -n demo python3.10 -y conda activate demo 下载pytorch等相关包 conda install pytorch2.0.1 torchvision0.15.2 torchaudio2.0.2 pytorch-cuda11.…

ChernoCPP 2

视频链接&#xff1a;【62】【Cherno C】【中字】C的线程_哔哩哔哩_bilibili 参考文章&#xff1a;TheChernoCppTutorial_the cherno-CSDN博客 Cherno的C教学视频笔记&#xff08;已完结&#xff09; - 知乎 (zhihu.com) C 的线程 #include<iostream> #include<th…

四、MySQL读写分离之MyCAT

一、读写分离概述 1、什么是读写分离&#xff1a; 读写分离&#xff1a;就是将读写操作分发到不同的服务器&#xff0c;读操作分发到对应的服务器 &#xff08;slave&#xff09;&#xff0c;写操作分发到对应的服务器&#xff08;master&#xff09; ① M-S (主从) 架构下&…

Java设计模式:外观模式之优雅门面(九)

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 在软件工程中&#xff0c;设计模式是解决常见设计问题的经验总结&#xff0c;它为开发者提供了一种通用的、可复用的解决方案。外…

书生浦语训练营2期-第二节课笔记作业

目录 一、前置准备 1.1 电脑操作系统&#xff1a;windows 11 1.2 前置服务安装&#xff08;避免访问127.0.0.1被拒绝&#xff09; 1.2.1 iis安装并重启 1.2.2 openssh安装 1.2.3 openssh服务更改为自动模式 1.2.4 书生浦语平台 ssh配置 1.3 补充&#xff08;前置服务ok…