当前位置: 首页 > news >正文

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): 随机森林不仅可以用于分类,也可以用于回归问题。它通过综合多棵决策树的预测结果来给出一个回归值。

回归问题实际应用:线性回归模型预测房价

我们可以以房价预测为例,这是一个经典的回归问题。假设我们有一组房屋的数据,包括房屋的面积、卧室数量、卫生间数量以及房价。我们可以通过这些数据来训练一个回归模型,预测其他房屋的价格。

以下是一个简单的表格数据:

面积(平方米)卧室数量卫生间数量房价(万元)
12032150
852195
16043200
9532130
14032180
701180
18043250
  1. 目标
    我们希望根据房屋的面积、卧室数量和卫生间数量来预测房价。

  2. 步骤

    • 数据准备:将上述表格数据转换为特征矩阵(面积、卧室数量、卫生间数量)和目标变量(房价)。
    • 训练模型:使用线性回归模型,训练模型以找到最适合的系数,即面积、卧室数量和卫生间数量对房价的影响。
    • 模型预测:给出一个新的房屋参数,比如面积为100平方米,有3个卧室和2个卫生间,通过模型预测该房屋的价格。
  3. 假设模型训练的结果(不展示推导过程)

    • 面积的系数为1.2,即每增加1平方米,房价增加1.2万元。
    • 卧室的系数为10,即每增加一个卧室,房价增加10万元。
    • 卫生间的系数为5,即每增加一个卫生间,房价增加5万元。
    • 模型的截距(基础价格)为50万元。

    预测公式为:房价=1.2×面积+10×卧室数量+5×卫生间数量+50

  4. 模型预测示例
    假设我们要预测一套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入门指南(三):特征、欠拟合、过拟合、离散数据、连续数据是什么?

  • 监督学习,非监督学习,半监督学习三者的区别是什么,举出一个最有代表性的算法?

  • 机器学习的分类(监督学习、非监督学习、半监督学习)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【3】AT32F437 OpenHarmony轻量系统第一个程序:点灯
  • C#与其它编程语言有什么区别,以及相关优势有哪些
  • Java 事务管理:确保数据一致性
  • FPGA开发——DS18B20读取温度并且在数码管上显示
  • 【达梦数据库】锁超时的处理方法-错误码[-6407]
  • 微软edge浏览器开发工具全解析
  • MYSQL -NATURAL JOIN ,exist 函数
  • LeetCode 热题100-69 有效的括号
  • 设计模式-结构性模式-桥接模式
  • 风波中坚守:技术应对突发故障的危与机
  • 我们如何将数据输入到神经网络中?
  • day38.动态规划+MySql数据库复习
  • 视频检索技术为电子商务直播领域带来了前所未有的革新
  • Objective-C中的MVC架构:构建清晰、可维护的iOS应用
  • 【Hot100】LeetCode—101. 对称二叉树
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • Angular数据绑定机制
  • CentOS7简单部署NFS
  • es6--symbol
  • Gradle 5.0 正式版发布
  • HTML中设置input等文本框为不可操作
  • JS 面试题总结
  • leetcode386. Lexicographical Numbers
  • nfs客户端进程变D,延伸linux的lock
  • vue脚手架vue-cli
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • XForms - 更强大的Form
  • 翻译:Hystrix - How To Use
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 事件委托的小应用
  • 算法---两个栈实现一个队列
  • 用element的upload组件实现多图片上传和压缩
  • 用jquery写贪吃蛇
  • # 达梦数据库知识点
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #define、const、typedef的差别
  • #ifdef 的技巧用法
  • #如何使用 Qt 5.6 在 Android 上启用 NFC
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (42)STM32——LCD显示屏实验笔记
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (算法)求1到1亿间的质数或素数
  • (转)LINQ之路
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (自用)仿写程序
  • ***检测工具之RKHunter AIDE
  • .env.development、.env.production、.env.staging
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET 中 GetProcess 相关方法的性能
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .NET中分布式服务
  • @test注解_Spring 自定义注解你了解过吗?
  • [000-01-030].Zookeeper学习大纲