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

【人工智能基础03】机器学习(练习题)

文章目录

    • 课本习题
        • 监督学习的例子
        • 过拟合和欠拟合
        • 常见损失函数,判断一个损失函数的好坏
        • 无监督分类:kmeans
        • 无监督分类,Kmeans 三分类问题
        • 变换距离函数
        • 选择不同的起始点
    • 重点回顾
      • 1. 监督学习、半监督学习和无监督学习的定义
      • 2. 判断学习场景
      • 3. 监督学习主要研究的问题
      • 什么是分类问题、回归问题
      • 无监督学习主要研究问题:聚类与降维

重点:
了解掌握机器学习中监督学习、无监督学习和半监督学习的概念

  • 什么是监督学习、无监督和半监督?
  • 根据场景,判断属于哪种学习模式?
  • 监督学习的主要研究问题(分类/回归) 什么是分类问题?什么是回归问题?
  • 无监督学习的主要研究问题(聚类/降维)什么是聚类?什么是降维?

 

课本习题

监督学习的例子

在这里插入图片描述

 

过拟合和欠拟合

在这里插入图片描述

在机器学习中,“损失”(loss)通常是用来衡量模型预测值与真实值之间差异的一个指标。

 

常见损失函数,判断一个损失函数的好坏

在这里插入图片描述

  1. 缺乏对预测误差的合理度量
    • 一般的损失函数应该能够反映模型预测值与真实值之间的差距,从而指导模型进行优化。而这个函数只是简单地将 (可能是模型的输出)与导数 相加,没有明确地体现出预测值与真实值的差异程度。
  2. 没有考虑数据的分布和特点
    • 不同类型的数据可能具有不同的分布特点,好的损失函数应该能够适应这些特点。例如,对于具有长尾分布的数据,可能需要使用对异常值不那么敏感的损失函数。
  3. 难以进行优化求解
    • 在机器学习中,我们通常使用优化算法(如梯度下降法)来最小化损失函数,从而找到最优的模型参数。但是对于这个函数,很难确定其梯度的形式,也难以找到有效的优化方法。

 

无监督分类:kmeans

在这里插入图片描述

K-means 算法是一种无监督学习算法,用于将数据分为(K)个聚类。以下是对该问题的解答过程:

一、算法步骤

在这里插入图片描述

 

无监督分类,Kmeans 三分类问题

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

 

变换距离函数

在这里插入图片描述

 

选择不同的起始点

在这里插入图片描述

 

重点回顾

1. 监督学习、半监督学习和无监督学习的定义

监督学习、半监督学习和无监督学习是机器学习中的三种主要学习方式,它们在学习过程中对数据的依赖程度不同,下面是它们的详细介绍:

  1. 监督学习(Supervised Learning)
    监督学习主要用于分类和回归任务。在监督学习中,训练数据集是“带标签”的,这意味着每一个输入数据样本都有一个对应的真实标签(或目标值)。模型的目标是通过学习输入与标签之间的映射关系,从而能够对新的、未见过的数据进行预测。

例子:

1.分类问题:例如,识别电子邮件是否为垃圾邮件(标签为“垃圾邮件”或“非垃圾邮件”)。
2.回归问题:例如,预测房价,给定房屋的面积、房间数、位置等特征,预测其售价。

工作原理: 在训练过程中,监督学习算法会根据输入数据和对应的标签,调整模型的参数(如权重),使模型的预测结果尽量接近真实标签。

  1. 半监督学习(Semi-supervised Learning)
    半监督学习介于监督学习和无监督学习之间。在这种学习方式下,训练数据集大部分是无标签的,只有一小部分数据是带标签的。这类方法适用于标签数据获取成本较高,或者标注数据难以获得的情境。通过结合无标签数据和少量的带标签数据,半监督学习模型能够提高学习的效果。

例子:假设你有大量的图片数据,但只有少数的图片被标注了类别,利用这些少量的标签数据以及大量未标注的数据来进行分类任务。
工作原理:半监督学习利用少量标记数据来引导学习过程,并结合无标签数据的特征分布进行训练

  1. 无监督学习(Unsupervised Learning)
    无监督学习是指在没有标签数据的情况下训练模型。这里的数据只有输入,没有目标输出(标签)。无监督学习的目标是挖掘数据中的内在结构或模式,通常用于数据的降维、聚类或异常检测等任务。

例子:
聚类问题:例如,将客户根据购买行为分为不同的群体(如:高消费群体、中等消费群体、低消费群体)。
降维问题:例如,使用主成分分析(PCA)对高维数据进行降维,简化数据的复杂度。

工作原理:无监督学习不依赖于标签数据,而是通过分析数据中的相似性或差异性来进行学习。

总结对比:

学习类型数据标签情况常见任务常见算法
监督学习训练数据有标签分类、回归线性回归、支持向量机、决策树、神经网络
半监督学习大部分数据无标签,少量数据有标签适用于标注数据稀缺的情况自监督学习、图卷积网络、半监督神经网络等
无监督学习训练数据无标签聚类、降维、异常检测等K均值聚类、PCA、DBSCAN、自编码器等

总结:
监督学习:通过大量带标签的数据来训练模型,使其能够对新数据做出预测
半监督学习:在只有少量带标签数据和大量无标签数据的情况下训练模型,弥补标注数据的不足。
无监督学习:完全没有标签的数据,模型主要关注数据本身的结构和模式,如聚类和降维。

不同类型的学习方法适用于不同的应用场景。

 

2. 判断学习场景

要根据不同的场景判断使用哪种学习模式(监督学习、半监督学习或无监督学习),我们需要关注以下几个关键因素:

1.是否有标签数据(即每个数据点是否有明确的目标值或标签)。
2.数据标签的可用性(标签数据的数量和质量)。
3.任务的目标(是进行预测、分类,还是探索数据中的模式)。

下面是针对不同场景的分析和判断标准:

学习类型场景特点应用场景判断标准例子
监督学习- 数据有标签
- 任务目标明确(预测或分类)
- 数据量充足,标签数据充分
- 分类任务:垃圾邮件识别、图像分类、疾病预测等
- 回归任务:房价预测、股票价格预测、销售量预测等
- 数据集中的每个样本都有明确标签
- 学习输入与输出之间的关系,进行预测或分类
- 图片分类:根据图像及其类别标签(如“猫”、“狗”)训练模型进行分类
- 房价预测:根据房屋特征预测售价
半监督学习- 大部分数据没有标签,少部分数据有标签
- 标签数据稀缺,标注成本高
- 需要利用无标签数据提升模型性能
- 标签数据稀缺的任务
- 图像/语音分类:语音识别中的少部分标注样本
- 文本分类:少量新闻文章有标签
- 大部分数据没有标签
- 通过少量标注数据和大量未标注数据来提升模型效果
- 网站分类:大量网页中只有少部分网页有标签,通过半监督学习分类网页内容
- 医学影像分析:利用少数标注的影像数据训练模型
无监督学习- 数据没有标签
- 目标是发现数据的潜在结构或模式,非预测标签
- 聚类:市场细分、客户分群
- 降维:数据可视化、去噪等
- 异常检测:欺诈检测、网络入侵检测等
- 数据没有标签
- 任务目标是理解数据的结构或关系,如聚类、降维或异常检测
- 客户分群:基于购买行为将客户分组以进行个性化营销
- 降维:通过PCA简化高维数据

总结:根据场景选择学习模式

学习模式数据要求任务目标常见应用场景
监督学习数据有标签,任务是预测或分类学习输入与标签之间的关系,进行预测或分类图像分类、房价预测、垃圾邮件检测等
半监督学习大部分数据无标签,少部分数据有标签利用少量标签数据和大量无标签数据提高学习效果图像/语音识别、文本分类、医学影像分析等
无监督学习数据无标签,任务是发现数据的内在结构或模式聚类、降维、异常检测等客户分群、降维、异常检测、市场分析等

如何判断使用哪种模式: 有标签数据吗?

  • 是:选择监督学习。
  • 否:继续判断。

数据标注成本很高,但有少量标签数据吗?

  • 是:选择半监督学习。
  • 否:选择无监督学习(如果目标是探索数据的结构或发现潜在的模式)。

 

3. 监督学习主要研究的问题

  1. 分类(Classification)

分类问题是指将输入数据映射到预定义类别的任务。分类任务的目标是根据已知的训练数据集来训练一个模型,然后使用该模型预测新数据所属的类别标签

分类任务主要研究的问题:

  • 类别不平衡问题:在许多现实应用中,某些类别的样本数远远多于其他类别,导致模型的预测偏向于较为常见的类别。如何有效处理类别不平衡是分类任务中的一个关键问题。
  • 高维数据问题:在许多任务中,输入数据的特征维度可能非常高(例如文本分类中的词袋模型、图像分类中的像素值)。高维数据往往容易导致维度灾难(curse of dimensionality),需要采取降维或特征选择技术。
  • 模型复杂度与泛化能力的权衡:在分类任务中,过于复杂的模型可能会过拟合训练数据,而简单的模型可能无法捕捉数据中的复杂模式。因此,如何选择合适的模型以及进行正则化(防止过拟合)是一个重要的研究问题。
  • 模型评估与选择:在分类问题中,如何评估模型的好坏非常关键。除了传统的准确率(accuracy),我们还需要关注精确率(precision)、召回率(recall)、F1 值、ROC 曲线等评估指标,特别是在类别不平衡的情况下。

常见的分类算法:

  • 逻辑回归:用于二分类问题,通过学习输入特征与类别之间的线性关系。
  • 决策树:通过树状结构来决策,直观且易于理解。
  • 支持向量机(SVM):通过寻找最优的超平面来分类,适用于高维数据。
  • K 最近邻(KNN):基于距离度量对样本进行分类。
  • 神经网络:通过多个层级的非线性变换来学习复杂的分类边界。

示例应用:

  • 垃圾邮件识别:将邮件分为“垃圾邮件”和“非垃圾邮件”。
  • 图像分类:例如,将手写数字图片分类为数字 0 到 9。
  • 情感分析:将文本分为正面、负面或中性情感类别。

  1. 回归(Regression)

回归问题是指预测一个连续的数值目标(标签)的任务。与分类不同,回归任务的目标是找到输入数据和连续输出之间的关系,而不是将数据分配到某个类别中。

回归任务的主要研究问题

  • 数据噪声和异常值:在实际数据中,噪声和异常值的存在会影响模型的训练。如何减少噪声的影响、识别和处理异常值是回归中的一个重要问题。
  • 特征选择与工程:回归模型的预测性能通常依赖于输入特征的质量。特征工程(如特征缩放、特征选择等)对于构建有效的回归模型至关重要。
  • 模型的过拟合与欠拟合:与分类任务相似,回归模型也面临着过拟合和欠拟合的问题。需要平衡模型的复杂度,避免过度拟合训练数据或无法捕捉数据中的规律。
  • 非线性回归:在许多实际应用中,输入和输出之间的关系可能不是线性的。如何构建能够处理非线性关系的回归模型,是回归中的一大挑战。

常见的回归算法:

  • 线性回归:最基础的回归方法,假设输入特征和输出之间存在线性关系。
  • 岭回归与Lasso回归:为了防止过拟合,在线性回归模型中加入正则化项。
  • 决策树回归:通过树状结构对数据进行回归预测,适合处理非线性问题。
  • 支持向量回归(SVR):与支持向量机类似,但用于回归任务。
  • 神经网络回归:使用多层感知器(MLP)等结构进行回归,可以处理复杂的非线性关系。

示例应用:

  • 房价预测:根据房屋的特征(如面积、位置、卧室数等)预测房屋的价格。
  • 股票价格预测:基于历史数据预测未来某个时间点的股票价格。
  • 气温预测:根据气象数据预测未来的气温。

分类与回归的区别

  • 目标输出

    • 分类任务的目标输出是离散的类别标签(例如 0 或 1,或者多个类别标签)。
    • 回归任务的目标输出是连续的数值(例如温度、价格、年龄等)。
  • 损失函数

    • 分类任务通常使用交叉熵(cross-entropy)损失函数,尤其是在多分类问题中。
    • 回归任务通常使用均方误差(MSE,Mean Squared Error)损失函数。
  • 评估指标

    • 分类问题常用准确率、精确率、召回率、F1 值、ROC 曲线等作为评估指标。
    • 回归问题常用均方误差、平均绝对误差、R² 等作为评估指标。

总结:

  • 分类回归是监督学习中的两大核心任务,尽管它们的目标不同,但都依赖于学习数据中的输入和目标之间的关系。
  • 分类处理的是离散标签的预测任务,常见于例如垃圾邮件分类、图像分类等问题。
  • 回归处理的是连续数值的预测任务,广泛应用于房价预测、气温预测等场景。

 

什么是分类问题、回归问题

下面是 分类问题回归问题 的比较,以表格形式呈现:

特征分类问题回归问题
目标变量离散类别标签(有限的几个类别)连续数值(无限多个可能的输出)
输出形式离散的类别(例如:猫、狗、1、0)连续的数值(例如:房价、温度、销售额)
任务类型二分类、多分类线性回归、非线性回归
评估指标精确率、召回率、F1值、准确率、ROC-AUC等均方误差(MSE)、均绝对误差(MAE)、R²等
常见算法逻辑回归、支持向量机(SVM)、决策树、随机森林、神经网络等线性回归、岭回归、Lasso回归、决策树回归、神经网络等
应用示例垃圾邮件分类、图像分类、情感分析、疾病诊断等房价预测、气温预测、股票预测、销售额预测等

解释:

  • 分类问题:用于将数据分配到预定义的类别中。任务的目标是输出离散标签,适用于目标变量是类别或标签的任务。例如,垃圾邮件识别、图像分类等。
  • 回归问题:用于预测一个连续的数值。任务的目标是输出一个连续的值,适用于目标变量是数量、金额、温度等连续量的任务。例如,房价预测、销售额预测等。

 

无监督学习主要研究的是如何从没有标签的输入数据中发现模式、结构或规律。其两个常见任务是 聚类(Clustering)降维(Dimensionality Reduction),以下是这两类任务的主要研究问题:

无监督学习主要研究问题:聚类与降维

聚类(Clustering)
聚类是无监督学习中的一种主要任务,其目的是将数据集中的样本根据某些相似度度量划分为若干个簇。聚类常见的挑战和问题包括:

  • 簇的数量选择:在很多聚类算法(如K-means)中,簇的数量需要预先指定。然而,真实数据中可能没有明确的簇数量,需要使用技术来确定最佳簇数。
  • 簇的形状与密度问题:传统的聚类算法(如K-means)假设簇是圆形的、密度均匀的。然而,实际数据中的簇往往形状复杂,密度不均,使用基于密度的算法(如DBSCAN)可能更为合适。
  • 高维数据聚类:数据维度过高时,聚类算法可能变得低效。常通过降维技术(如PCA)来减少特征维度,从而提升聚类性能。
  • 噪声与离群点:聚类算法容易受噪声数据和离群点的影响,影响结果的准确性。使用鲁棒的聚类方法(如DBSCAN)可以缓解这个问题。
  1. 降维(Dimensionality Reduction)
    降维任务的目标是将高维数据压缩到低维空间中,同时保留尽可能多的原始信息。主要研究问题包括:
  • 信息损失与可解释性:降维后如何保持数据的重要信息,避免丢失关键信息,尤其是在高维数据中尤为重要。
  • 高维数据的计算复杂度:需要大量的计算资源,因此需要使用高效的算法(如增量PCA)或分布式计算框架来解决这个问题。
  • 降维后的可解释性与可视化:降维后的数据需要进行可视化,以便人类能够理解其中的模式和结构。常使用二维或三维可视化来直观展示数据结构。
  • 特征选择与相关性:在降维过程中,需要对数据进行特征选择,去除冗余或不相关的特征,提高降维效果。

解决方法概述:

  • 聚类算法

    • K-means、K-medoids:适用于具有球形簇的数据,聚类数需预设。
    • DBSCAN、OPTICS:适用于处理具有不同密度和形状的簇,且不需要预先指定簇数。
    • 层次聚类:基于数据的相似度构建树状结构,可以生成不同尺度的聚类。
  • 降维算法

    • PCA(主成分分析):线性降维方法,寻找最能表示数据变异性的方向。
    • t-SNE、UMAP:非线性降维方法,保持数据的局部结构,适用于数据可视化。
    • LDA(线性判别分析):监督学习方法,用于降维的同时保留类别信息。

总结:
聚类关注如何将数据分组、确定簇数、处理噪声与离群点等问题,
而降维则关注如何减少特征空间维度,同时保留数据的关键信息,并解决计算复杂度与可视化的问题。

 
参考:《人工智能基础-姚期智》


http://www.kler.cn/a/418028.html

相关文章:

  • LabVIEW内燃机气道试验台测控系统
  • 深入解析 MySQL 启动方式:`systemctl` 与 `mysqld` 的对比与应用
  • 内网穿透步骤
  • 探索温度计的数字化设计:一个可视化温度数据的Web图表案例
  • LeetCode 动态规划 爬楼梯
  • CENet及多模态情感计算实战
  • 微前端架构 qiankun
  • 在 Flutter app 中,通过视频 URL 下载视频到手机相册
  • 使用Feign远程调用丢失请求头问题
  • BGE-M3模型结合Milvus向量数据库强强联合实现混合检索
  • Tree搜索二叉树、map和set_数据结构
  • 1074 Reversing Linked List (25)
  • 【AI战略思考13】克服懒惰,保持专注,提升效率,不再焦虑
  • centos8:Could not resolve host: mirrorlist.centos.org
  • Springboot(四十四)Springboot集成Validation实现参数校验
  • 第六届国际科技创新(IAECST 2024)暨第四届物流系统与交通运输(LSTT 2024)
  • 【C++】优先队列(Priority Queue)全知道
  • Spring cache注解:缓存与业务解耦实战
  • 基于51单片机的电子秤设计
  • 网络安全系列 之 SQL注入学习总结
  • 21天掌握Java Web —— 第一天:Spring Boot入门
  • 面积等效原理
  • BUGKU printf
  • Electron builder打包配置
  • Adversarial Learning forSemi-Supervised Semantic Segmentation
  • 第二讲:C++基础语法与程序结构