AI入门指南(四):分类问题、回归问题、监督、半监督、无监督学习是什么?
文章目录
- 一、前言
- 二、分类问题、回归问题是什么?
- 分类问题
- 概念
- 常见算法
- 分类问题的实际应用:银行贷款审批案例
- 回归问题
- 概念
- 常见算法
- 回归问题实际应用:线性回归模型预测房价
- 小结
- 三、监督、半监督、非监督学习是什么?
- 监督学习
- 非监督学习
- 半监督学习
- 扩展解读
- 四、总结
- 五、参考资料
一、前言
人工智能(AI)已经成为我们生活中不可或缺的一部分,从推荐你喜欢的电影,到chatGTP对话,AI的应用无处不在。然而,对于刚刚接触AI的朋友来说,有些术语可能有些抽象。今天,我们就来拆解几个关键的概念:分类问题、回归问题、监督、半监督、无监督学习。
在阅读本文之前,建议读者先对算法和AI基本概念有一些基本的了解。这将有助于更好地理解本文内容。您可以参考笔者以下文章:
- AI入门指南(一):什么是人工智能、机器学习、神经网络、深度学习?
- AI入门指南(二):算法、训练、模型、大模型是什么?
- AI入门指南(三):特征、欠拟合、过拟合、离散数据、连续数据是什么?
二、分类问题、回归问题是什么?
分类问题
概念
分类问题是指将数据分到预定义的类别中。你可以想象它像在超市里对商品进行分类。例如,你有一篮子水果,你要把它们分别放到“苹果”、“香蕉”和“橘子”三种类别的篮子里。这就是分类问题:你根据水果的特征(如颜色、形状、大小)来决定它属于哪一类。
分类问题常常会使用离散特征,离散特征是指可以精确计数且没有中间值的数据。通常,这些数据是整数,代表可以被分离的个体或项。如人数::班级中的学生人数可以是20人、21人,但不能是20.5人。
举个生活例子:
假设你是一名老师,需要根据学生的成绩来给他们打分:优、良、中、差。这就是一个分类问题。你要根据学生的分数来判断他们应该被归到哪一类。
常见算法
逻辑回归(Logistic Regression): 尽管名字中有“回归”,但逻辑回归实际上是用于分类的。它通过计算某个事件发生的概率来决定样本属于哪个类别。比如,预测一封邮件是否是垃圾邮件。
支持向量机(Support Vector Machine, SVM)-:SVM通过找到一个最佳的分界线(超平面)来把数据分成不同的类别。这个算法特别适合处理复杂的分类问题,比如图像识别。
决策树(Decision Tree): 决策树通过一系列的“是/否”问题来将数据分类,像一棵树一样分裂数据。它非常直观和易于理解。比如,根据年龄和收入来预测一个人是否会购买某种产品。
随机森林(Random Forest): 随机森林是由多个决策树组成的集成算法,通过综合这些树的预测结果来进行分类。这种方法可以提高分类的准确性和稳定性。
k-近邻(k-Nearest Neighbors, k-NN): k-NN是一种基于距离的算法,它通过查找最近的k个邻居来决定样本所属的类别。比如,根据你周围的朋友的兴趣爱好来推测你可能喜欢的东西。
朴素贝叶斯(Naive Bayes): 朴素贝叶斯基于贝叶斯定理,假设各个特征之间是独立的,用于快速高效地进行分类。它常用于文本分类,如垃圾邮件检测。
分类问题的实际应用:银行贷款审批案例
为了更好地理解分类问题,我们可以通过一个银行贷款审批的例子来说明。假设你是一名A银行的客户经理,你记录了以下贷款申请的数据:
姓名 | 拥有工作 | 拥有房产 | 信誉 | 贷款结果 |
---|---|---|---|---|
张三 | 否 | 否 | 一般 | 拒绝 |
李四 | 否 | 否 | 一般 | 拒绝 |
王五 | 是 | 否 | 好 | 批准 |
赵六 | 是 | 是 | 好 | 批准 |
钱七 | 否 | 是 | 一般 | 批准 |
孙八 | 否 | 否 | 一般 | 拒绝 |
周九 | 是 | 否 | 好 | 批准 |
吴十 | 是 | 是 | 好 | 批准 |
在这个例子中,我们使用了工作、房产和信誉这三个因素来决定是否批准贷款。现在,假设我们有一个新申请人郑十一,我们可以通过训练一个分类模型来自动决定他的贷款申请是否应该被批准。例如,决策树算法可以通过学习已有数据中的决策规则来建立模型,并应用于新数据的预测。
通过这种方式,模型能够基于郑十一的工作状态、房产情况和信誉评分,自动给出贷款决策,这就是分类问题在实际中的应用。
回归问题
概念
回归问题是指预测一个连续的数值。比如说,你想预测明天的气温。这不像分类问题那样有固定的类别,而是要给出一个具体的数值,比如“23°C”或“25°C”。
回归问题常常会使用连续特征,连续特征是指可以在一个范围内取任意数值的数据。这类数据可以有无限多个可能值,通常用于表示可以测量的量度,而不仅仅是计数,如身高:一个人的身高可以是170.5厘米、170.55厘米,甚至更精确到170.555厘米。
举个生活例子:
你可能想知道下一次去超市购物时,大概需要花多少钱。根据过去的购物记录(你买了什么东西,花了多少钱),你可以预测这次的花费。这就是回归问题。
常见算法
线性回归(Linear Regression): 线性回归是最基本的回归算法,它假设数据之间的关系是线性的,并试图找到一条最符合数据趋势的直线。比如,预测房价与面积之间的关系。
多项式回归(Polynomial Regression): 当数据的关系不是线性的时,可以用多项式回归来捕捉更复杂的曲线关系。比如,预测不同年龄段的人的收入增长曲线。
支持向量回归(Support Vector Regression, SVR): SVR是支持向量机的回归版本,通过寻找一个与大多数数据点“最接近”的平面来进行预测。它在处理非线性回归问题时非常有效。
随机森林回归(Random Forest Regression): 随机森林不仅可以用于分类,也可以用于回归问题。它通过综合多棵决策树的预测结果来给出一个回归值。
回归问题实际应用:线性回归模型预测房价
我们可以以房价预测为例,这是一个经典的回归问题。假设我们有一组房屋的数据,包括房屋的面积、卧室数量、卫生间数量以及房价。我们可以通过这些数据来训练一个回归模型,预测其他房屋的价格。
以下是一个简单的表格数据:
面积(平方米) | 卧室数量 | 卫生间数量 | 房价(万元) |
---|---|---|---|
120 | 3 | 2 | 150 |
85 | 2 | 1 | 95 |
160 | 4 | 3 | 200 |
95 | 3 | 2 | 130 |
140 | 3 | 2 | 180 |
70 | 1 | 1 | 80 |
180 | 4 | 3 | 250 |
-
目标:
我们希望根据房屋的面积、卧室数量和卫生间数量来预测房价。 -
步骤:
- 数据准备:将上述表格数据转换为特征矩阵(面积、卧室数量、卫生间数量)和目标变量(房价)。
- 训练模型:使用线性回归模型,训练模型以找到最适合的系数,即面积、卧室数量和卫生间数量对房价的影响。
- 模型预测:给出一个新的房屋参数,比如面积为100平方米,有3个卧室和2个卫生间,通过模型预测该房屋的价格。
-
假设模型训练的结果(不展示推导过程):
- 面积的系数为1.2,即每增加1平方米,房价增加1.2万元。
- 卧室的系数为10,即每增加一个卧室,房价增加10万元。
- 卫生间的系数为5,即每增加一个卫生间,房价增加5万元。
- 模型的截距(基础价格)为50万元。
预测公式为:房价=1.2×面积+10×卧室数量+5×卫生间数量+50
-
模型预测示例:
假设我们要预测一套100平方米,有3个卧室和2个卫生间的房屋价格:
房价=1.2×100+10×3+5×2+50=120+30+10+50=210万元
以上仅是一个简单示例,这种回归模型可以应用于任何类似的场景,如汽车价格预测、商品定价等。通过使用历史数据来训练模型,我们可以准确地预测未来数据中的目标值。
小结
回归问题 | 分类问题 |
---|---|
连续变量 | 离散变量 |
定量 | 定性 |
对真实值的一种逼近预测,输入变量输出确定的数值 | 将事物打上一个标签,输入变量输出标签类别 |
用函数拟合已知数据并对新数据的函数值进行预测 | 寻找有助于将数据分为几个类别的模型 |
均方误差 | 分类准确性 |
回归树、线性回归 | 决策树、逻辑回归 |
三、监督、半监督、非监督学习是什么?
监督学习
监督学习(Supervised Learning)是机器学习中的一种核心方法。在这个过程中,模型从标记的数据中学习,进而对新数据进行预测或分类。简单来说,监督学习就是通过已有的经验(标记的数据)来指导模型做出决策。用一个通俗的例子来说,小时候,父母教我们某个动物是猫、狗或猪,我们的大脑就形成了这些动物的印象。当我们以后再遇到这些动物时,就能够根据这些印象做出判断。这个过程就像是用已知的标签数据来训练模型,再用训练好的模型对新数据进行分类。
例如,当你看到一只你从未见过的小狗,并能够说出“这是一只小狗”,那么你就成功地进行了分类预测。
监督学习的常见算法包括:线性回归、决策树、支持向量机、朴素贝叶斯、K-近邻算法等。
非监督学习
与监督学习相对,非监督学习(Unsupervised Learning)处理的是没有标签的数据。它的任务是发现数据中的结构或模式,而不是对新数据进行分类。可以把非监督学习想象成一种自我探索的过程:你给模型一堆没有标记的数据,它会试图找出数据中的规律并将数据进行分组或聚类。韩家炜教授曾指出,非监督学习的本质其实就是“聚类”(Clustering)。聚类不同于分类,因为在聚类开始时,我们并不知道数据会分为几类,而是通过分析数据来形成分组。
例如,给定一堆图片,你可能不知道这些图片属于哪几类,但通过非监督学习,模型会自动将相似的图片分到一起。
非监督学习的常见算法包括:K均值聚类(K-Means Clustering)、层次聚类(Hierarchical Clustering)、主成分分析(PCA)、DBSCAN、深度信念网络(Deep Belief Network)等。
非监督学习有时也泛指一切不属于监督学习的学习方法,包括无监督、自监督和半监督学习等。
半监督学习
半监督学习(Semi-supervised Learning)结合了监督学习和非监督学习的优势。它使用了部分标记的数据以及大量未标记的数据来训练模型。这种学习方式非常类似于我们的人生学习过程:我们在学校中接受了有指导的学习(类似于监督学习),但当我们走入社会时,需要在实际生活中不断学习和适应(类似于非监督学习)。通过结合这两种学习方式,我们能够更加全面和灵活地应对新挑战。
例如,我们小时候学习了基本的知识,但随着我们成长和接触到新的事物,我们会通过自己的探索来加深理解,这就是半监督学习的过程。
半监督学习的常见算法包括:生成式方法、半监督支持向量机(S3VM)、图半监督学习、半监督聚类等。
这种方法在现代应用中尤其重要,因为标记数据的获取通常昂贵且耗时,而未标记的数据则容易获取。通过半监督学习,我们可以在减少标记数据依赖的同时,提升模型的性能。
扩展解读
监督学习:刷题成才
- 面试官:1+1=?
- 你:16
- 面试官:不对。是2。现在1+1=?
- 你:6
- 面试官:还是太大。是2。现在1+1=?
- 你:2
- 面试官:正确。现在2+2=?
- 你:2
- 面试官:不对。是4。现在2+2=?
- 你:4
- 面试官:你被录用了。
无监督学习:大海捞针
- 面试官:1+1=?
- 你:16
- 面试官:1+1=?
- 你:1024
- 面试官:1+1=?
- 你:0
- 面试官:1+1=?
- 你:不想录我就直说(大海捞针)
弱监督学习:半猜半学
- 面试官:1+1=?
- 你:16
- 面试官:大了。现在1+1=?
- 你:12
- 面试官:大了。现在1+1=?
- 你:1
- 面试官:小了。现在1+1=?
- 你:2
- 面试官:正确。现在2+2=?
- 你:2
- 面试官:小了。现在2+2=?
- 你:4
- 面试官:你被录用了。(半猜半学)
半监督学习:管中窥豹
- 面试官:1+1=?
- 你:16
- 面试官:不对。是2。现在1+1=?
- 你:6
- 面试官:1+1=?
- 你:8
- 面试官:不对。是2。现在1+1=?
- 你:2
- 面试官:1+1=?
- 你:3
- 面试官:不对。是2。现在1+1=?
- 你:2
- 面试官:你被录用了。( 管中窥豹)
自监督学习:自学成才
- 面试官:给你本小学口算天天练,三十分钟内学完。
- 三十分钟后
- 面试官:1+1=?
- 你:2
- 面试官:你被录用了。(自学成才)
间接监督学习:触类旁通
- 面试官:一个苹果加上一个苹果是两个苹果。所以1+1=?
- 你:3
- 面试官:不对。两个苹果加上两个苹果是四个苹果,所以2+2=?
- 你:4
- 面试官:你被录用了。(触类旁通)
非监督学习
很少用到,有时候指一切不是监督学习的学习,包括无监督、自监督、半监督等等。有时候仅仅指无监督学习。
四、总结
本文简单介绍了分类问题和回归问题的基本概念及其应用。分类问题关注将数据分到预定义的类别中,例如,使用逻辑回归、支持向量机、决策树等算法来分类数据。回归问题则关注预测连续的数值,如使用线性回归、多项式回归等算法预测房价或气温。
此外,我们探讨了监督学习、非监督学习和半监督学习三种学习方法。监督学习依赖标记的数据进行训练,非监督学习则在没有标签的数据中发现模式,而半监督学习结合了标记和未标记的数据来提高模型性能。这些学习方法各有特点和适用场景,通过了解这些基本概念,我们可以更好地应用机器学习技术解决实际问题。
五、参考资料
-
AI入门指南(一):什么是人工智能、机器学习、神经网络、深度学习?
-
AI入门指南(二):算法、训练、模型、大模型是什么?
-
AI入门指南(三):特征、欠拟合、过拟合、离散数据、连续数据是什么?
-
监督学习,非监督学习,半监督学习三者的区别是什么,举出一个最有代表性的算法?
-
机器学习的分类(监督学习、非监督学习、半监督学习)
相关文章:

AI入门指南(四):分类问题、回归问题、监督、半监督、无监督学习是什么?
文章目录 一、前言二、分类问题、回归问题是什么?分类问题概念常见算法分类问题的实际应用:银行贷款审批案例 回归问题概念常见算法回归问题实际应用:线性回归模型预测房价 小结 三、监督、半监督、非监督学习是什么?监督学习非监…...

Linux下本地端口转发
在Linux下进行本地端口转发处理,可以进行如下操作: 1.确认NetFilter相关驱动编译到内核,并且CONFIG_IP_NF_TARGET_REDIRECTy; 2.开启转发功能:echo 1 > /proc/sys/net/ipv4/ip_forward; 3.设置转发规…...

RPC 和 HTTP 理解
网上充斥着各类类似于这样的文章:rpc 比 http 快了多少倍?既然有了 http,为什么还要用 rpc 调用等等。遇到这类文章,说明对 http 和 rpc 是由理解误区的。 这里再次重复强调一遍,通信协议不是 rpc 最重要的部分&#x…...

Visual Studio 2022 v17.11 发布
Visual Studio 2022 版本 17.11 正式发布 (GA),此版本主要是基于用户反馈的各项改进。 “每项增强、每项修复和每项新功能均根据你的反馈而制定。无论你是在构建 Web、桌面、云还是游戏应用程序,Visual Studio 2022 v17.11 都旨在让你的开发体验更流畅、…...

通讯专题-RS232
1 概述 RS-232是一种点对点通信协议,这意味着每个数据信号沿一根导线传输(差分信号使用两根导线传输一个数据信号),RS-232为全双工方式运行(总线可同时发送和接收数据)。 根据新修订的标准为容性负载为2500…...

桥接模式详解
桥接模式 概念: 将抽象部分和实现部分分离, 使他们都可以独立的变化 概念很抽象, 难以理解, 我们举个例子 例子 设想三种不同品牌的汽车 大车 中车 小车 三种不同类型的引擎 纯电引擎 混动引擎 燃油引擎 如果我们把他们两两组合, 都继承同一个类的话,就会有9个类, 并且如果后…...

使用一致性哈希解决哈希分片负载均衡的扩展性问题
声明:本文的图全部源于:小林coding 上来咱先说,一致性哈希是应对分布式系统的算法 假设有一个负载均衡问题,也就是大批流量来请求,那怎么分配这些流量? 随机?还是挨个轮询? 这都…...

探索 Resolume Arena 7 - 引领 VJ 音视频创作的卓越软件
Resolume Arena 7 是一款专为 Mac 和 Windows 系统设计的强大 VJ 音视频软件,为创意专业人士和爱好者提供了丰富而出色的功能。 这款软件拥有直观且用户友好的界面,即使对于初学者来说,也能快速上手并开始创作。其强大的媒体管理功能&#x…...

三勾点餐系统|支持多端发布,方便二次开发
版本号1.7更新日志 新增:腾讯地图key设置(更新后请设置key) 新增:支付宝小程序登录和支付 新增:前端点餐时选择门店 新增:前端点餐页面优惠活动显示 新增:H5修改手机号 新增:H…...

深入理解AES加密算法:原理与Python实现
目录 深入理解AES加密算法:原理与Python实现1. AES算法简介2. AES加密解密流程3. Python实现AES加密解密4. 结论 深入理解AES加密算法:原理与Python实现 AES (Advanced Encryption Standard) 是目前最广泛使用的对称加密算法之一。它具有高效、安全和灵…...

Redis中List数据类型常用命令
目录 1. 基本操作 (1)在列表的头部插入一个元素 (2)在列表的尾部插入一个元素 (3)获取列表的长度 (4)获取列表中的元素 2. 读取和修改 (1)获取列表的范围&…...

借助Aapose.Cells 使用 C# 在 Excel 中读取、添加和编辑线程注释
Excel 中的线程注释是协作工作的重要功能。它允许多个用户在共享文档中添加、编辑和查看对话线程。在某些情况下,我们可能需要以编程方式管理这些线程注释。在这篇博文中,我们将学习如何使用 C# 在 Excel 中读取、添加和编辑线程注释。 Aspose.Cells 是…...

关于c++ grpc 和 c# grpc 通信的问题 以及 grpc 认证问题
一、c 和 c# 通信 c# 端服务器 如果域名 输入的是 https ,则 c 端需要匹配使用,也就是c 端需要进行安全认证。如果是http 则c 端不需要认证(基于c#的grpc 未 通信成功) 参考如下网址可以写一个简单的 .net grpc服务器 (…...

C++进阶(14)类型转换、IO流
文章目录 一、类型转换C语言隐式类型转换强制类型转换 C类型转换的情况类型转换的函数(4个) 二、IO流1、缓冲区2、提高输入输出效率3、文件操作文件权限写操作 --- ofstream文本方式写入二进制方式写入 读操作 --- ifstream文本方式读取二进制方式读取 其…...

配置oss cdn加速静态资源访问 阿里云
效果对比 配置cdn下载速度对比 步骤 1: 登录阿里云控制台控制台主页,找到并点击“对象存储 OSS” 创建存储空间(Bucket) 设置权限 步骤 2: 获取外网访问地址 步骤 3 在 CDN 中使用该地址 复制该外网访问地址 打开全站加速 DCDN/域名管理 添…...

实现 前端框架 SPA 路由功能:Hash 模式与 History 模式的手动实现
前言 在前端框架(如 Vue.js、React 等)中,路由管理通常会配置一个 router 对象来定义 URL 路径与组件的映射关系。 路径(path): 这是浏览器 URL 的一部分,比如 /home 或 /about。组件(compone…...

去中心化的新时代:Web3技术的全球影响
随着技术的不断演进,Web3正引领互联网的去中心化新时代。相较于传统的Web1和Web2,Web3通过去中心化、区块链和智能合约等技术,正在重塑网络的运作方式。这一变革不仅提升了网络的安全性和透明度,也对全球经济、社会和文化产生了深…...

初始redis:List
列表 List 相当于数组或者顺序表。 对于List来说,两侧都可以插入和删除,时间复杂度是O(1)。 有很多的操作,比如 llen 可以获取List的长度,lrem 可以删除元素 ,lrange可以去一个字符串 , lindex可以根据下标…...

Java | Leetcode Java题解之第355题设计推特
题目: 题解: class Twitter {private class Node {// 哈希表存储关注人的 IdSet<Integer> followee;// 用链表存储 tweetIdLinkedList<Integer> tweet;Node() {followee new HashSet<Integer>();tweet new LinkedList<Integer&g…...

MVC与三层架构分层
1. 应用分层 应用分层类似公司的组织架构。我们进行项目开发时,最开始功能简单,前后端放在一起开发,但随着项目功能的复杂,项目会被前端和后端不同的团队接手,甚至更细粒度的团队。甚至后端开发也会根据功能再进行细分…...

Go语言基础--switch
在Go语言中,switch语句是一种非常强大的控制流结构,它允许一个变量的值与多个case进行比较,并根据匹配的结果执行不同的代码块。与C、C或Java中的switch不同,Go语言的switch更灵活,支持没有显式条件的switch࿰…...

【数字ic自整资料】AXI握手协议及outstanding
参考资料: ic基础|时序篇:握手协议valid和ready的时序优化_valid和ready握手信号-CSDN博客 https://zhuanlan.zhihu.com/p/365573848 1、AXI握手协议 当我们遇到时序违例时,通常采用的方式为插入寄存器(打拍)或者是…...

C++ //练习 18.13 什么时候应该使用未命名的命名空间?
C Primer(第5版) 练习 18.13 练习 18.13 什么时候应该使用未命名的命名空间? 环境:Linux Ubuntu(云服务器) 工具:vim 解释 当需要将实体限定在特定文件中,并且不会作用于不同文件…...

yum小bug
这个错误是在克隆的机子上安装mysql时,查看有无mysql发现的 [rootwebserve-2 backup] # yum list installed | grep mysql Repository cr is listed more than once in the configuration Repository fasttrack is listed more than once in the configuration 这…...

GDB的基本使用
我有话说 因为时间和精力原因,本文写的虎头蛇尾了,除了启动调试与程序执行以外只有少量截图演示,只是简单的说明。如果有需要可以联系我,我有时间的话会把演示补上,谢谢理解。 启动调试与程序执行 启动调试并传递参数…...

如何利用AI创作高质量的文章
讯飞星火 利用AI创作高质量的文章需要遵循以下步骤: 确定主题和目标受众:在开始写作之前,明确文章的主题和目标受众。这将帮助你确定文章的风格、结构和内容。 收集资料和信息:在撰写文章之前,进行充分的研究&#x…...

开源的量化交易领域平台vn.py(VeighNa)
一:vn.py(VeighNa)下的工具以及社区版和Elite版的区别 vn.py是一款广泛应用于量化交易领域的开源软件,它主要有以下用途和功能: 1. 交易系统开发框架:vn.py提供了一个完整的交易系统开发框架,可…...

选择搜索引擎进行搜索
<!DOCTYPE html> <html> <head><meta charset"utf-8"><title>选择搜索引擎进行搜索</title><script>function searchSelectedEngine() {var keyword document.getElementById(keyword).value;var engine document.getEl…...

安卓framework修改density
安卓平台,不同屏幕分辨率需要修改density值,以适配UI显示,比如字体大小等. 命令行下进入安卓SDK源码的device/目录 再根据不同芯片厂进入不同目录, 比如展锐就是 cd device/sprd, 高通是device/qcom/搜索关键字"ro.sf.lcd_density", grep -nr “ro.sf.lcd_density”…...

我们如何将数据输入到神经网络中?
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 下面我拿识别美女的例子来给大家介绍如何将美女的图片数据输入到神经网络中。 此例中,待输入的数据是一张图像。为了存储图像…...