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

news2024/11/16 13:49:19

前言: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.coloradmin.cn/o/1133162.html

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

相关文章

waf绕过

1.市场Waf分类 硬件Waf:绿盟、安恒、启明、知道创宇等 需要选择模式 透明模式 反向代理分为反向代理(代理模式)与反向代理(牵引模式) 反向代理又分为两种模式,反向代理…

C++常见容器实现原理

引言 如果有一天!你骄傲离去!(抱歉搞错了)如果有一天,你在简历上写下了这段话: 那么你不得不在面试前实现一下STL常见的容器了。C的常用容器有:vector、string、deque、stack、queue、list、se…

合宙ESP32C3之Arduino、MicroPython上手

此处所说的ESP32C3,是合宙9.9元包邮的那一款,即所谓的“简约款”,无串口芯片。虽然有串口芯片的经典款版本兼容性更好,但随着各种IDE的不断升级,无串口使用起来也能游刃有余。 1.Arduino环境搭建 首先到Arduino.cc上下…

利用MATLAB创建栅格地图(代码可复制)

先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年…

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试 文章目录 CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试一、前言二、Windows运行时软plc配置编程1、安装Windows下的运行时扩展包(非必要)2、创建项目2.1、创建标准…

基于Java的新闻发布管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding) 代码参考数据库参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

爬虫进阶-反爬破解8(反爬的实战练习:爬虫文件的解析和数据的抓取+反爬措施的分析和突破+Scrapy接入Cookie池管理系统+分布式爬虫的架设)

目录 一、爬虫文件的解析和数据的抓取 (一)项目的知识点 (二)实践操作:新建项目抓取数据 (三)总结 二、反爬措施的分析和突破 (一)项目知识点补充 (二…

binutils 2.40 Linker (ld) 官方文档下载

前言 最近需要熟悉 elf 与 共享库 的链接与加载流程,需要先了解 elf 文件 是怎么链接的,链接脚本如何阅读 最有效的方式是查看 GNU 官方的 Linker (ld) 文档,通过查找,这个 Linker (ld) 属于 GNU binutils,当前的较新…

JS DataTable中导出PDF中文乱码

JS DataTable中导出PDF中文乱码 文章目录 JS DataTable中导出PDF中文乱码一. 问题二. 原因三. vfs_fonts.js四. pdfmake.js五. 解决六.参考资料 一. 问题 二. 原因 DataTable使用pdfmake,pdfmake默认字体为Roboto,不支持中文字体。添加自己的字体&#…

Shopee本土店与跨境店有何区别?如何入驻?

截止到目前,虾皮全球覆盖的站点已经有11个,其中东南亚站点依然是消费力强劲的大站点,包括马来西亚、泰国、印度尼西亚、菲律宾、越南、新加坡。到了2023,仍然有非常大的市场空间。 东南亚人口密度大,还是全球网络发展…

【项目管理】项目中如何进行风险管理

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

threejs(4)-纹理材质高级操作

一、纹理重复_缩放_旋转_位移操作 // 导入threejs import * as THREE from "three"; // 导入轨道控制器 import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js"; // 导入lil.gui import { GUI } from "three/examples/jsm/l…

基于5G网关的风力发电远程监测方案优势

风力发电是清洁能源的典型代表,是我国能源结构转型的重要组成。近年来我国大力发展风能、水能、光伏等清洁能源,加速双碳战略,长期致力于创造人与生态友好和谐的人居社会。 针对风力发电机组和厂区的运营和管理,5G技术、物联网技…

CrossOver23.6软件激活码怎么获取 CrossOver软件2023怎么激活

CrossOver一款类虚拟机,它的主要功能是在mac系统中安装windows应用程序。其工作原理是将exe格式的windows应用程序安装包安装至CrossOver容器中,并将运行该exe文件所需的配置文件下载至容器中,便能在mac正常运行windows应用程序了。下面就让我…

JavaSE介绍与第一个Java程序

JavaSE介绍与第一个Java程序 一、Java简介二、Java特点三、编译运行过程四、JDK、JRE和JVM的关系五、第一个Java程序1、HelloWorld2、注意事项 六、标识符与命名规范1、标识符(1)什么是标识符(2)标识符的命名规则 2、命名规范&…

C++初阶:C/C++内存管理

一.C/C内存分布 先来回顾一下C语言内存分区示意图如下: 代码区: 程序执行代码一般存放在代码区,字符串常量以及define定义的常量也可能存放在代码区。 常量区: 字符串,数字等常量以及const修饰的全局变量往往存放在…

【UE】UMG通信的三种方法

目录 前言 方法一:通过“获取类的所有控件”节点通信 方法二:当创建控件蓝图时传入其它控件蓝图的对象引用 *方法三:使用HUD类来管理UMG通信 前言 首先我们创建了三个控件蓝图,那么其中的一个控件蓝图如何与剩下的控件蓝图通…

网络编程进化史:Netty Channel 的崭新篇章

上篇文章(Netty 入门 — ByteBuf,Netty 数据传输的载体),我们了解了 Netty 的数据是以 ByteBuf 为单位进行传输的,但是有了数据,你没有通道,数据是无法传输的,所以今天我们来熟悉 Ne…

2023 年专业人士必须尝试的 15 款人工智能工具

在本文中,我们将看到一些人工智能驱动的工具,这些工具将在 2023 年彻底改变开发并使专业人士的生活变得轻松。我们将讨论旨在为专业人士提供支持的 15 种顶级人工智能和低代码工具。人工智能工具现在变得更加强大,使他们能够创造有影响力的产…