第2篇 机器学习基础 —(2)分类和回归

前言:Hello大家好,我是小哥谈。机器学习中的分类和回归都是监督学习的问题。分类问题的目标是将输入数据分为不同的类别,而回归问题的目标是预测一个连续的数值。分类问题输出的是物体所属的类别,而回归问题输出的是数值。本节课就简单介绍下分类和回归的基本概念以及常见的分类算法和回归算法!~🌈  

前期回顾:

          第2篇 机器学习基础 —(1)机器学习概念和方式

          目录

🚀1.基本概念

🚀2.常见的分类算法

🚀3.常见的回归算法

🚀4.分类回归术语表

🚀5.参考文章 

🚀1.基本概念

分类回归是机器学习中两个重要的问题类型。回归问题通常是用来预测一个值,例如根据房屋的面积、位置等特征预测房价。而分类问题则是将输入数据分为不同的类别,例如根据肿瘤的大小、形状等特征将其分为恶性或良性。分类问题通常建立在回归之上,分类的最后一层通常要使用softmax函数进行判断其所属类别。分类并没有逼近的概念,最终正确结果只有一个,错误的就是错误的,不会有相近的概念。而回归问题则可以有相近的概念,例如预测房价时,预测值可以与实际值相差一定的范围。离散与连续的差别是分类与回归的不同的表象,而非本质,本质在于损失函数的形式不同,结果也不同,回归问题的结果是一个连续的值,而分类问题的结果是一个离散的类别。

机器学习中的分类和回归,本质都是对输入做出预测,并且都是监督学习,简单来说就是,分析输入的内容,判断其类别或者预测其值。💯

分类和回归的区别:

A.预测种类不同

🍀(1)分类预测的是物体所属的种类,而回顾预测的是物体的具体数值。例如,最近北京天气变化大,为了能够对明天适宜的衣服以及是否携带雨伞做判断,我们需要根据过去已有的天气情况进行预测。天气可以分为:晴、阴、雨 三类,我们现在已知的是今天及以前的天气情况,预测明天及以后几天的天气情况,如明天阴,后天晴,就是分类。根据今天及前几天的温度,通过之前的气温来预测以后的气温,这就是回归。

🍀(2)分类输出的是离散值,回归输出的是连续值。离散就是规定好有有限个类别,而这些类别是离散的;连续就是理论上可以取某一范围内的任意数值。

🍀(3)分类输出的值是定性的,回归输出的值是定量的。定性是指确定某种东西的确切的组成有什么或者某种物质是什么,不需要测定该物质的各种确切的数值量。定量是指确定一种成分(某种物质)的确切的数值量,这种测定一般不需要关注测定的物质是什么。例如:这是一杯水,这是定性;这杯水有10毫升,这是定量。

B.目的不同

分类的目的是寻找决策边界,用于对数据集中的数据进行分类;回归的目的是找到最优拟合线,这条线可以最优的接近数据集中的各个点。

C.结果不同

分类的结果没有逼近,只有对错,什么类别就是什么类别,最终结果只有一个。回归是对真实值的一种逼近预测,值不确定,当预测值与真实值相近时,即误差较小时,我们认为这是一个好的回归。(例如一个产品的实际价格为5000元,通过回归分析预测值为4999元,我们认为这是一个比较好的回归分析。


🚀2.常见的分类算法

常用的分类算法有决策树分类法基于规则的分类算法神经网络支持向量机朴素贝叶斯分类法

下面主要介绍各个算法的一些特点:

🍀(1)决策树

  1. 决策树归纳是一种构建分类模型的非参数方法。换句话说,它不要求任何先验假设,不假定类和其他的属性服从一定的概率分布。
  2. 找到最佳的决策树是NP问题。许多决策苏算法采取启发式的方法指导对假设空间的搜索。
  3. 即使训练集很大,构建决策树的代价也较小。
  4. 决策树相对容易解释。
  5. 决策树算法对于噪声的干扰具有相当好的鲁棒性。
  6. 冗余属性不会对决策树的准确率造成不利的影响。
  7. 由于大多数的决策树算法都采用自顶向下的递归划分方法,因此沿着树向下,记录会越来越小。在叶节点,记录可能更少,对于叶节点代表的类,不能做出具有统计意义的判决,产生所谓的数据碎片。
  8. 子树可能在决策树中重复多次,使得决策树过于复杂,并且更难解释。

🍀(2)基于规则的分类算法

  1. 规则集的表达能力几乎等价于决策树,因为决策树可以用互斥和穷觉的规则集表示。基于规则的分类器和决策树分类器都对属性空间进行直线划分,并将类指派到每个划分。
  2. 基于规则的分类器通常用来产生更易于解释的描述性模型,而模型的性能却可与决策树分类器相媲美。
  3. 被很多基于规则的分类器(如RIPPER)所采用的基于类的规则排序方法非常适用于处理类分布不均衡的数据集。

🍀(3)最近邻分类器

  1. 最近邻分类器是一种基于实例的学习技术,它使用具体的训练实例进行预测,而不必维护源自数据的抽象。
  2. 最近邻分类器是一种消极学习方法,它不需要建立模型,然而测试样例的开销很大,因为需要逐个计算测试样例和训练样例之间的相似度。相反,积极学习方法通过花费大量计算资源来建立模型,模型一旦建立,分类测试样例就会非常快。
  3. 最近邻分类器对噪声非常敏感。因为,最近邻分类器基于局部信息进行预测,而决策树和基于规则的分类器则是在拟合在整个输入空间上的全局模型。
  4. 最近邻分类器的可以生成任意形状的决策边界,这样的决策边界与决策树和基于规则的分类器通常局限的直线决策边界相比,能够提供更加灵活的模型表示。
  5. 除非采用适当的邻近性度量和数据预处理,否则最近邻分类可能做出错误的预测。

🍀(4)朴素贝叶斯分类器

  1. 面对孤立的噪声点,朴素贝叶斯分类器是健壮的。因为在从数据中估计条件概率时,这些点被平均。通过在建模和分类时忽略样例,朴素贝叶斯分类器也可以处理属性值遗漏问题。
  2. 面对无关属性,该分类器是健壮的。
  3. 相关属性可能会降低朴素贝叶斯分类器的性能。

🍀(5)贝叶斯信念网络(BBN)

  1. BBN提供了一种用图形模型来捕获特定领域的先验知识的方法。
  2. 构造网络可能既费时又费力,然而,一旦网络结构确定下来,添加新变量就十分容易。
  3. 贝叶斯网络很适合处理不完整的数据。对有属性遗漏的实例可以通过对该属性的所有可能取值的概率求和或求积分来加以处理。
  4. 因为数据和先验知识以概率的方式结合起来了,所以该方法对模型的过分拟合问题是非常鲁棒的。

🍀(6)人工网络

  1. 至少含有一个隐藏层的多层神经网络是一种普适近似,即可以用来近似任何目标函数。
  2. ANN可以处理冗余特征,因为权值在训练过程中自动学习。
  3. 神经网络对训练数据中的噪声非常敏感。
  4. ANN权值学习使用的梯度下降方法经常会收敛到局部极小值。避免局部极小值的方法是在权值更新公式中加上一个动量项。
  5. 训练ANN是一个很耗时的过程,特别是当隐藏结点数量很大时。然而,测试样例分类时非常快

🍀(7)支持向量机的特征(SVM)

  1. SVM学习问题可以表示为凸优化问题,因此可以利用已知的有效算法发现目标函数的全局最小值。而其他的分类方法都采用一种基于贪心学习的策略来搜索假设空间,这种方法一般只能获得局部最优解。
  2. SVM通过最大化决策边界边缘来控制模型能力。
  3. 通过对数据中每个分类属性引入一个哑变量,SVM可以应用于分类数据。

🚀3.常见的回归算法

根据不同的特点和应用场景,回归算法可以分为多个类型,下面介绍一些常见的回归算法的分类。

🍀(1)线性回归

  1. 线性回归是最基本的回归算法之一,其目标是拟合一个线性函数来预测连续的数值型输出。
  2. 常见的线性回归包括简单线性回归和多元线性回归。

🍀(2)决策树回归

  1. 决策树回归是一个基于决策树的回归算法。
  2. 其目标是构建一颗决策树来预测连续的数值型输出。

🍀(3)支持向量回归

  1. 支持向量回归是一种基于支持向量机的回归算法。
  2. 其目标是找到一个最大化预测精度的边界,以预测连续的数值型输出。

🍀(4)随机森林回归

  1. 随机森林回归是一种基于随机森林的回归算法。
  2. 其目标是使用多个随机树来预测连续的数值型输出。

🍀(5)神经网络回归

  1. 神经网络回归是一种基于神经网络的回归算法。
  2. 其目标是通过多个神经元来预测连续的数值型输出。

以上是常见的回归算法分类,除此之外,还有一些其他的回归算法,如岭回归、lasso回归、弹性网络回归等等,每种算法都有其适用的场景和特点。在实际应用中,需要根据具体的问题和数据特征来选择最合适的回归算法。📚


🚀4.分类回归术语表

样本(sample)或输入(input):进入模型的数据点。

预测(prediction)或输出(output):从模型出来的结果

目标(target):真实值。对外部数据源,理想情况下,模型应该能够预测出目标。

预测误差(perdiction error)或损失值(loss value):模型预测与目标之间的距离。

类别(class):分类问题中供选择的一组标签。例如,对猫狗图像进行分类时,“狗”和“猫”就是两个类别。

标签(label):分类问题中类别标注的具体例子。比如,如果1,2,3,4号图像被标注为包含类别”狗”,那么“”狗”就是1,2,3,4号图像的标签。

真值(ground-truth)或标注(annotation):数据集的所有目标,通常由人工收集。

二分类(binary calssification):一种分类任务,每个输入样本都应该被划分到两个互斥的类别中。

多分类(multiclass classification): 一种分类任务,每个输入样本都应该划分到两个以上的类别中,比如手写数字分类。

多标签分类(multilabel calssiication):一种分类任务,每个输入样本都可以分配多个标签。举个例子,如果一幅图像里可能既有猫又有狗,那么应该同时标注“猫”标签和“狗”标签。每幅图像的标签个数通常是可变的。

标量回归(scalar regression):目标是连续标量值的任务。预测房价就是一个很好的例子,不同的目标价格形成一个连续的空间。

向量回归(vector reression):目标是一组连续值(比如一个连续向量)的任务。如果对多个值(比如图像边界框的坐标)进行回归,那就是向量回归。

小批量(mini-batch)或批量(batch):模型同时处理的一小部分样本(样本数通常为8-128)。样本数通常取2的幂,这样便于GPU上的内存分配。训练时,小批量用来为模型权重计算一次梯度下降更新。

优化(optimization):指调节模型以在训练数据上得到最佳性能(即机器学习中的学习)。

泛化(generalization):指训练好的模型在前所未见的数据上的性能好坏。机器学习的目的就是得到更好的泛化。


🚀5.参考文章

作者:水亦心;文章:【机器学习小常识】“分类” 与 “回归”的概念及区别详解

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

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

相关文章

【Matlab2016】Matlab中文版的下载、安装、激活(不建议安装过高版本!!)

这里写目录标题 首先双击R2016_win64.iso加载镜像文件双击setup.exe开始安装选择使用文件密钥安装填入密钥修改安装路径并记住此路径建议全部勾选等待安装完成 激活复制补丁到matlab路径下 创建快捷方式进入bin目录,找到matlab.exe 安装包 首先双击R2016_win64.iso加…

网络搭建和运维的基础题目

服务部分(linux) 实操部分 1.在任意文件夹下面创建形如 A/B/C/D 格式的文件夹系列。 [rootlocalhost ~]# mkdir -p A/B/C/D 2.在创建好的文件夹下面,A/B/C/D ,里面创建文本文件 mkdir.txt [rootlocalhost ~]# cd A/B/C/D [r…

[17]JAVAEE-HTTP协议

目录 一、什么是HTTP协议 什么时候会用到HTTP协议? HTTP协议的工作流程 二、HTTP的报文格式 抓包 HTTP请求报文格式 1.首行 2.header 常见键值对: 3.空行 4.正文(body)(有的时候可以没有) HTTP…

Python爬虫防止被封的方法:动态代理ip

目录 前言 一、为什么需要使用动态IP代理 1.网站反爬虫机制 2.突破本地IP限制 3.获取更多数据 二、Python爬虫动态IP代理的实现方法 1.使用第三方库 2.使用爬虫框架 三、预防被封的方法 1.代理池管理 2.请求间隔设置 3.使用多个代理 总结 前言 在进行网站爬取时&…

网络基础-3

路由开销 一条路由的开销时指到达这条路由的目的地/掩码需要付出的带价值。同一种路由协议发现有多条路由可以到达同一目的地/掩码时,将优选开销最小的路由,即只把开销最小的路由加入进本协议的路由表中。 路由协议 内部网关协议(IGP&…

网络协议--TFTP:简单文件传送协议

15.1 引言 TFTP(Trivial File Transfer Protocol)即简单文件传送协议,最初打算用于引导无盘系统(通常是工作站或X终端)。和将在第27章介绍的使用TCP的文件传送协议(FTP)不同,为了保持简单和短小&#xff0…

C++STL----list的模拟实现

文章目录 list模拟实现的大致框架节点类的模拟实现迭代器类的模拟实现迭代器类存在的意义迭代器类的模板参数说明运算符的重载--运算符的重载!与运算符的重载*运算符的重载->运算符的重载 list的模拟实现默认成员函数迭代器相关函数元素修改相关函数front和backi…

莫名其妙el-table不显示问题

完全复制element-ui中table代码,发现表格仍然不显示,看别人都说让降低版本,可我不想降低啊,不然其他组件有可能用不了,后来发现可以通过配置vite.config.js alias: {: path.resolve(__dirname, src),vue: vue/dist/vue…

Python实现双目标定、畸变矫正、立体矫正

一,双目标定、畸变矫正、立体矫正的作用 双目目标定: 3D重建和测距:通过双目目标定,您可以确定两个摄像头之间的相对位置和朝向,从而能够根据视差信息计算物体的深度,进行三维重建和测距。姿态估计&#xf…

CVE-2022-22963 Spring Cloud Function SpEL命令注入

一、简介 Spring Cloud Function 是基于 Spring Boot的函数计算框架。该项目致力于促进函数为主的开发单元,它抽象出所有传输细节和基础架构,并提供一个通用的模型,用于在各种平台上部署基于函数的软件。在Spring Cloud Function相关版本&am…

京东平台数据分析:2023年9月京东空气净化器行业品牌销售排行榜

鲸参谋监测的京东平台9月份空气净化器市场销售数据已出炉! 9月份,空气净化器的销售同比上年增长。根据鲸参谋平台的数据显示,今年9月,京东平台空气净化器的销量将近15万,同比增长约1%;销售额将近2亿元&…

Mac版好用的Git客户端 Fork 免激活

Fork是一款强大的Git客户端软件,在Mac和Windows操作系统上都可以使用。汇集了众多先进的功能和工具,可以帮助用户更方便地管理和控制Git仓库。 Fork的界面简洁直观,易于使用。它提供了许多高级的Git功能,如分支管理、合并、提交、…

NTRU 加密方案

参考文献: [Rivest97] Rivest R L. All-or-nothing encryption and the package transform[C]//Fast Software Encryption: 4th International Workshop, FSE’97 Haifa, Israel, January 20–22 1997 Proceedings 4. Springer Berlin Heidelberg, 1997: 210-218.[…

每日一题 2558. 从数量最多的堆取走礼物(简单,heapq)

怎么这么多天都是简单题,不多说了 class Solution:def pickGifts(self, gifts: List[int], k: int) -> int:gifts [-gift for gift in gifts]heapify(gifts)for i in range(k):heappush(gifts, -int(sqrt(-heappop(gifts))))return -sum(gifts)

多线程---线程安全问题及解决

文章目录 一个线程不安全的案例造成线程不安全的原因抢占式执行多个线程修改同一个变量修改操作不是原子的内存可见性问题指令重排序问题 如何让线程变得安全?加锁synchronized volatile 一个线程不安全的案例 题目:有较短时间让变量count从0加到10_000…

行业追踪,2023-10-26

自动复盘 2023-10-26 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…

分享一波操作系统、谢希仁版本计算机网络学习笔记【思维导图】

操作系统复习笔记 - 幕布第一章引论第二章处理器管理进程同步与通信https://www.mubu.com/doc/58qrnf20ndg 大纲 - 幕布物理层数据链路层网络层https://www.mubu.com/doc/1eo9_8TyUdg计算机网络-语雀https://www.yuque.com/yuqueyonghu6nc56e/dgg1dl/wx34gx72xpgmt598?singleD…

HackTheBox-Starting Point--Tier 1---Crocodile

文章目录 一 题目二 实验过程 一 题目 Tags Web、Network、Custom Applications、Protocols、Apache、FTP、Reconnaissance、Web Site Structure Discovery、Clear Text Credentials、Anonymous/Guest Access译文:Web、网络、定制应用程序、协议、Apache、FTP、侦…

华为eNSP配置专题-策略路由的配置

文章目录 华为eNSP配置专题-策略路由的配置0、概要介绍1、前置环境1.1、宿主机1.2、eNSP模拟器 2、基本环境搭建2.1、终端构成和连接2.2、终端的基本配置 3、配置接入交换机上的VLAN4、配置核心交换机为网关和DHCP服务器5、配置核心交换机和出口路由器互通6、配置PC和出口路由器…

【软件安装环境配置】vscode 安装界面没有出现安装路径的选择 的解决,以及vscode的删除的问题

由于vscode 没有删除干净,就会出现vscode 安装的时候,没有出现安装路径的界面,所以可以来到vscode的安装路径,点击 unins000.exe 文件就可以 实现将vscode 相关的文件删除, 如果是删除了整个vscode 安装下的文件&…