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

文章目录

重点:

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

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

课本习题

监督学习的例子
过拟合和欠拟合

在机器学习中,"损失"(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(线性判别分析):监督学习方法,用于降维的同时保留类别信息。

总结:

聚类关注如何将数据分组、确定簇数、处理噪声与离群点等问题,

而降维则关注如何减少特征空间维度,同时保留数据的关键信息,并解决计算复杂度与可视化的问题。

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

相关推荐
迅易科技1 小时前
借助腾讯云质检平台的新范式,做工业制造企业质检的“AI慧眼”
人工智能·视觉检测·制造
古希腊掌管学习的神2 小时前
[机器学习]XGBoost(3)——确定树的结构
人工智能·机器学习
ZHOU_WUYI3 小时前
4.metagpt中的软件公司智能体 (ProjectManager 角色)
人工智能·metagpt
靴子学长3 小时前
基于字节大模型的论文翻译(含免费源码)
人工智能·深度学习·nlp
AI_NEW_COME4 小时前
知识库管理系统可扩展性深度测评
人工智能
海棠AI实验室4 小时前
AI的进阶之路:从机器学习到深度学习的演变(一)
人工智能·深度学习·机器学习
hunteritself5 小时前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot
IT古董5 小时前
【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)
人工智能·机器学习·分类
centurysee5 小时前
【最佳实践】Anthropic:Agentic系统实践案例
人工智能
mahuifa5 小时前
混合开发环境---使用编程AI辅助开发Qt
人工智能·vscode·qt·qtcreator·编程ai