机器学习:什么是分类/回归/聚类/降维/决策

news2024/11/14 14:05:59

目录

学习模式分为三大类:监督,无监督,强化学习

监督学习基本问题

分类问题

回归问题

无监督学习基本问题

聚类问题

降维问题

强化学习基本问题

决策问题

如何选择合适的算法


我们将涵盖目前「五大」最常见机器学习任务:

  • 回归

  • 分类

  • 聚类

  • 降维

  • 决策

学习模式分为三大类:监督,无监督,强化学习

图片

监督学习基本问题

分类问题

  • 分类是监督学习的一个核心问题。

  • 在监督学习中,当输出变量Y取有限个离散值时,预测问题变成为分类问题。

  • 这时,输入变量X可以是离散的,也可以是连续的。

  • 监督学习从数据中学习一个分类模型或分类决策函数,称为分类器(classifier)。

  • 分类器对新的输入进行输出的预测,成为分类(classification)。

  • 可能的输出成为类别(class)。

  • 分类的类别为多个时,称为多分类问题。

图片

分类问题包括学习和分类两个过程,也就是训练和测试的过程。在学习过程中,根据已知的训练数据集利用有效的学习方法学习一个分类器;在分类过程中,利用学习的分类器对新的输入实例进行分类。

分类问题可以通过下图来描述。图中是训练数据集,学习系统由训练数据学习一个分类器或;分类系统通过学到的分类器或对新的输入实例进行分类,即预测其输出的类标记。

图片

分类问题

评价分类器性能的指标有分类精度(accuracy)、查准率(precision)和召回率(recall)等,

许多机器学习算法可以用于分类问题,包括k近邻法、感知机、朴素贝叶斯、决策树、逻辑斯蒂回归、支持向量机、提升方法、贝叶斯网络、神经网络等等。

分类任务根据其特性将数据“分门别类”,所以在许多领域都有广泛的应用。例如,在银行业务中,可以构建一个客户分类模型,对客户按照贷款风险的大小进行分类;在网络安全领域,可以利用日志数据的分类对非法入侵进行检测;在图像处理中,分类可以用来检测图像中是否有人脸出现;在手写识别中,分类可以用于识别手写的数字;在互联网搜索中,网页的分类可以帮助网页的抓取、索引与排序。

回归问题

  • 回归(regression)是监督学习的另一个重要问题。

  • 回归用于预测输入变量(自变量)和输出变量(因变量)之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生的变化。

  • 回归模型正是表示从输入变量到输出变量的之间映射的函数。

  • 回归问题的学习等价于函数拟合:选择一条函数曲线使其很好地拟合已知数据且很好地预测未知数据。

图片

回归问题也分为学习和预测两个过程。首先给定一个训练数据集,其中是输入,是对应的输出,。学习系统基于训练数据构建一个模型,即函数;对新的输入,预测系统根据学习的模型确定相应的输出。

回归问题按照输入变量的个数,分为一元回归和多元回归;按照输入变量和输出变量之间关系的类型即模型的类型,分为线性回归和非线性回归。

回归学习最常用的损失函数是平方损失函数

许多领域的任务都可以形式化为回归问题,比如,回归可以用于商务领域,作为市场趋势预测、产品质量管理、客户满意度调查、投资风险分析的工具。

无监督学习基本问题

聚类问题

  • 聚类(clustering)是将样本集合中相似的样本(实例)分配到相同的类,不相似的样本分配到不同的类。

  • 聚类时,样本通常是欧式空间中的向量,类别不是事先给定,而是从数据中自动发现,但个别的个数通常是实现给定的。

  • 样本之间的相似度或距离由应用决定。

  • 如果一个样本只能属于一个类,则称为硬聚类(hard clustering),如果一个样本可以属于多个类,则称为软聚类(soft clustering)。

  • 聚类的过程就是学习聚类模型的过程。

图片

降维问题

  • 降维(dimensionality reduction)是将训练数据中的样本(实例)从高位空间转换到低维空间。

  • 假设样本原本存在于低维空间,或者近似地存在于低维空间,通过降维则可以更好地表示样本数据的结构,即更好地表示样本之间的关系。

  • 高维空间通常是高维的欧式空间,而低维空间是低维的欧式空间或者流形(manifold)。

  • 低维空间不是事先给定的,而是从数据中自动发现的,其位数通常是事先给定的。

  • 从高维到低维的降维中,要保证样本中的信息损失最小。

  • 降维有线性降维和非线性降维。

图片

强化学习基本问题

决策问题

机器学习中的决策任务不同于分类、回归、聚类和降维,是将待解决问题建模为马尔科夫决策过程,然后利用强化学习求解的问题框架。强化学习的目标就是给定一个马尔科夫决策过程,寻找到最优策略。

下图解释了强化学习的基本原理。智能体在完成某项任务时,首先通过动作A与周围环境进行交互,在动作A和环境的作用下,智能体会产生新的状态,同时环境会给出一个立即回报。如此循环下去,智能体与环境不断地交互从而产生很多数据。强化学习算法利用产生的数据修改自身的动作策略,再与环境交互,产生新的数据,并利用新的数据进一步改善自身的行为,经过数次迭代学习后,智能体最终学到完成相应任务的最优动作(最优策略)。

从强化学习的基本原理能看出它与其他机器学习算法如监督学习和非监督学习的一些基本差别。在监督学习和非监督学习中,数据是静态的、不需要与环境进行交互,比如图像识别,只要给出足够的差异样本,将数据输入深度神经网络中进行训练即可。

然而,强化学习的学习过程是动态的、不断交互的过程,所需要的数据也是通过与环境不断交互所产生的。强化学习更像是人的学习过程,即与通过与周围环境交互进行学习。

图片

如何选择合适的算法

你使用机器学习算法的目的,想要完成什么任务?比如是预测明天下雨的概率还是对投票者按照兴趣分组;想要选择合适的算法,必须考虑以下两个问题:

首先考虑机器学习算法的目的。如果想要预测目标变量的值,则可以选择监督学习算法,否则可以选择无监督学习。确定选择监督学习算法后,需要进一步明确目标变量的类型,如果目标变量是离散型,则可以选择分类算法;如果是连续型,则需要选择回归算法。

其次应该考虑实际的数据问题,应该充分了解数据,对实际数据了解的越充分,越容易创建符合实际需要的应用程序。

主要应该了解数据的以下特征:

  1. 特征值是离散型变量还是连续型变量

  2. 特征值中是否有缺失的值,何种原因造成

  3. 数据中是否有异常值

  4. 某些特征发生的频率如何

通过上面对数据的充分了解,可以帮助我们缩小算法的选择范围,一般并不存在最好的算法和可以给出最好效果的算法,一般发现最好算法的关键环节是反复试错的迭代过程。

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

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

相关文章

React(7)

1.React Hooks 使用hooks理由 1. 高阶组件为了复用,导致代码层级复杂 2. 生命周期的复杂 3. 写成functional组件,无状态组件 ,因为需要状态,又改成了class,成本高 1.1 useState useState();括号里面处的是初始值;返回的是一个…

浅谈Spark的RDD、部署模式

一、RDD Spark RDD(弹性分布式数据集),弹性是指Spark可以通过重新计算来自动重建丢失的分区。 从本质上讲,RDD 是数据元素的不可变分布式集合,跨集群中的节点进行分区,可以与提供转换和操作的低级 API 并行…

使用在 Web 浏览器中运行的 VSCode 实现 ROS2 测程法

一、说明 Hadabot是软件工程师学习ROS2和机器人技术的机器人套件。我们距离Hadabot套件的测试版还有一周左右的时间。我们将在本文末尾披露有关如何注册的更多信息。 新的Hadabot套件完全支持ROS2。除了硬件套件外,Hadabot软件环境将主要基于Web浏览器,以…

静态代码扫描持续构建(Jenkins)

前提条件 已正确安装、配置Jenkins环境,并装有 Gradle 插件、HTML 插件、SVN 插件等。如下图所示: 已正确安装、配置android sdk,在cmd窗口输入命令“android -h”,回车 配置步骤 打开Jenkins,新建一个job,输入项目…

【数据结构练习】单链表OJ题(一)

目录 一、移除链表元素思路1:思路2: 二、反转链表三、链表的中间节点四、链表中倒数第k个节点五、回文结构六、合并两个有序链表 一、移除链表元素 题目: 思路1: 在原来的链表上进行修改,节点的数据是val的删除&am…

Github的使用指南

首次创建仓库 1.官网创建仓库 打开giuhub官网,右上角点击你的头像,随后点击your repositories 点击New开始创建仓库 如下图为创建仓库的选项解释 出现如下界面就可以进行后续的git指令操作了 2.git上传项目 进入需上传项目的所在目录,打开…

JVM——垃圾回收器G1+垃圾回收调优

4.4 G1(一个垃圾回收器) 定义: 取代了CMS垃圾回收器。和CMS一样时并发的。 适用场景: 物理上分区,逻辑上分代。 相关JVM参数: -XX:UseG1GC-XX:G1HeapRegionSizesize-XX:MaxGCPauseMillistime 1) G1 垃圾回收阶段 三个回收阶段&#xff0…

【私有GPT】CHATGLM-6B部署教程

【私有GPT】CHATGLM-6B部署教程 CHATGLM-6B是什么? ChatGLM-6B是清华大学知识工程和数据挖掘小组(Knowledge Engineering Group (KEG) & Data Mining at Tsinghua University)发布的一个开源的对话机器人。根据官方介绍,这是…

Docker mysql主从同步安装

1. 构建master实例 docker run -p 3307:3306 --name mysql-master \ -v /mydata/mysql-master/log:/var/log/mysql \ -v /mydata/mysql-master/data:/var/lib/mysql \ -v /mydata/mysql-master/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORDroot \ -d mysql:5.7 2. 构建master配置…

Confluent kafka 异常退出rd_tmpabuf_alloc0: rd kafka topic info_new_with_rack

rd_tmpabuf_alloc0: rd kafka topic info_new_with_rack 根据网上的例子,做了一个测试程序。 C# 操作Kafka_c# kafka_Riven Chen的博客-CSDN博客 但是执行下面一行时,弹出上面的异常,闪退。 consumer.Subscribe(queueName) 解决方案&…

Git相关命令

SSH密钥文件 Github里面S设置SH公钥有两者选择方式 账号下的每个仓库都设置一个公钥,因为GitHub官方要求每个仓库的公钥都不能相同,所以每个账号都要搞一个密钥(很麻烦)给账号分配一个公钥,然后这个公钥就可以在这个…

基础恢复1-c语言

用书:c primer plus 学习时间:21-25 重点知识: 1.编译-链接-运行 编译:编译器将源码转换为可执行代码 链接:编译器从c库中获取标准例程放入源码中一同编译 运行:运行可执行文件 2.关键字 数据类型&…

smiley-http-proxy-servlet 实现springboot 反向代理,结合项目鉴权,安全的引入第三方项目服务

项目中反向代理 集成第三方的服务接口或web监控界面&#xff0c;并实现与自身项目相结合的鉴权方法 依赖 smiley-http-proxy-servlet GitHub链接 2.0 版开始&#xff0c;代理切换到jakarta servlet-api<!--HTTP 代理 Servlet--><dependency><groupId>org.mit…

记一次布尔盲注漏洞的挖掘与分析

在上篇文章记一次由于整型参数错误导致的任意文件上传的漏洞成因的分析过程中&#xff0c;发现menu_id貌似是存在注入的。 public function upload() {$menu_id $this->post(menu_id);if ($id) {$where "id {$id}";if ($menu_id) {$where . " and menu_id…

jenkins 日志输出显示时间戳的方式

网上很多方式比较片面&#xff0c;最新版插件直接使用即可无需更多操作。 使用方式如下&#xff1a; 1.安装插件 Timestamper 2.更新全局设置 系统设置-找到 Timestamper 勾选 Enabled for all Pipeline builds 也可修改时间戳格式。 帮助信息中显示 When checked, timesta…

【业务功能篇73】分布式ID解决方案

业界实现方案 1. 基于UUID2. 基于DB数据库多种模式(自增主键、segment)3. 基于Redis4. 基于ZK、ETCD5. 基于SnowFlake6. 美团Leaf(DB-Segment、zkSnowFlake)7. 百度uid-generator() 1.基于UUID生成唯一ID UUID:UUID长度128bit&#xff0c;32个16进制字符&#xff0c;占用存储空…

服务器数据恢复-HP EVA存储VDISK被删除的数据恢复案例

服务器数据恢复环境&#xff1a; 某单位有一台HP EVA存储&#xff0c;连接2组扩展柜&#xff0c;扩展柜中有12块FATA磁盘和10块FC磁盘&#xff0c;不确定数量的LUN&#xff0c;主机安装WINDOWS SERVER操作系统&#xff0c;存储设备用来存放该单位的重要资料。 服务器故障初检&…

线程池的实现全过程v1.0版本(手把手创建,看完必掌握!!!)

目录 线程池的实现过程 线程池的创建 添加任务队列 线程进行处理任务 线程池资源释放 线程池完整程序 线程池v1.0版本总结 线程池的实现过程 实现线程池首先要确定线程池有哪些属性 线程池中线程的数量线程池中已工作的线程数量任务队列任务队列的大小任务队列的锁 还…

mysql-sql性能分析工具

一、sql执行频率 MySQL 客户端连接成功后&#xff0c;通过 show [session|global] status 命令可以提供服务器状态信息。通过如下指令&#xff0c;可以查看当前数据库的INSERT、UPDATE、DELETE、SELECT的访问频次&#xff1a; -- session 是查看当前会话 ; -- global 是查询全…

uni-app 打包生成签名Sha1

Android平台打包发布apk应用&#xff0c;需要使用数字证书&#xff08;.keystore文件&#xff09;进行签名&#xff0c;用于表明开发者身份。 可以使用JRE环境中的keytool命令生成。以下是windows平台生成证书的方法&#xff1a; 安装JRE环境&#xff08;推荐使用JRE8环境&am…