机器学习模型类型

ops/2025/4/1 3:10:47/

机器学习模型类型

有监督学习KNN(重点)

1. 基本思路:

如果⼀个待分类样本在特征空间中的 k k k个最相似(即特征空间中 K K K近邻)的样本中的⼤多数属于某⼀个类别,则该样本也属于这个类别。简单来说,就是近朱者赤,近墨者黑。

下图举例简单说明一下KNN的思路:
在这里插入图片描述

2. KNN需要样本标签的⽀持,是⼀种有监督学习算法。

  • 数据集:即必须存在⼀个样本数据集,也称作训练集,样本数据集中每个样本是有标签的,即我们知道样本数据集中每⼀个样本的标签。
  • 样本的向量表示:即不管是当前已知的样本数据集,还是将来可能出现的待分类样本,都必须可以⽤向量的形式加以表征。向量的每⼀个维度,刻画样本的⼀个特征,必须是量化的可⽐较的
  • 样本间距离的计算方法:欧式距离、余弦距离、海明距离、曼哈顿距离等等。

3. k k k值的选取

  • k k k的取值会影响待分类样本的分类结果,不能过大也不能过小。
  • k k k值较小: K K K值的减小就意味着更复杂的决策边界,每个训练样本都会形成⼀个决策模型,容易发生过拟合
  • k k k值较大: K K K值的增大就意味着整体的模型变得简单,会导致偏差变大。
    比如 k k k为总的训练样本数量,那么每次投票肯定都是训练数据中多的类别获胜

4.KNN的优缺点

  • 优点
    • 简单,易于理解,易于实现,⽆需参数估计,⽆需训练
    • 对异常值不敏感(个别噪⾳数据对结果的影响不是很⼤)
    • 适合对稀有事件进⾏分类
    • 适合于多分类问题
  • 缺点
    • 计算量⼤,内存开销⼤
    • 可解释性差。⽆法告诉你哪个样本更重要
    • K K K值的选择。当样本不平衡时会导致错误
    • KNN是⼀种消极学习⽅法、懒惰算法

无监督学习K均值聚类 (重点)

1. 基本概念

  • “类”指的是具有相似性的集合。聚类是指将数据集划分为若干类,使得类内之间的数据最为相似,各类之间的数据相似度差别尽可能大。
  • k − m e a n k-mean kmean算法是一种简单的迭代型聚类算法,采用距离作为相似性指标,从而发现给定数据集中的 K K K个类,且每个类的中心是根据类中所有值的均值得到,每个类用聚类中心来描述。
    聚类优化目标函数:
    J = ∑ k = 1 K ∑ i = 1 n k ∥ x i − u k ∥ 2 J = \sum_{k=1}^{K} \sum_{i=1}^{n_k} \| x_i - u_k \|^2 J=k=1Ki=1nkxiuk2
    其中 K K K 为类别总数量, x i x_i xi 为当前类别中的第 i i i 个样本, u k u_k uk 为第 k k k 个类的均值, n k n_k nk 为第 k k k 个类内的样本数量

2. k-means聚类的算法步骤

  • 选取数据空间中的K个对象作为初始中心,每个对象代表⼀个聚类中心;
  • 对于样本中的数据对象,根据它们与这些聚类中心的欧式距离,按距离最近的准则将它们分到距离它们最近的聚类中心(最相似)所对应的类;
  • 更新聚类中⼼:将每个类别中所有对象所对应的均值作为该类别的聚类中⼼,计算⽬标函数的值;
  • 判断聚类中⼼和⽬标函数的值是否发⽣改变,若不变,则输出结果,若改变,则返回2。在这里插入图片描述

半监督学习

1. 只有少量样本带标签

2. 更符合实际需求

强化学习

1. 特点

  • 单步没有标签
  • 流程走完时有标签
  • 常用于游戏等人工智能应用中

2. 强化学习的基本模式

在这里插入图片描述
注意,上述的 reward 不只有奖励,还有惩罚。
在这里插入图片描述
在这里插入图片描述

自监督学习

简单来说,就是自我打标签,自我分类。
在这里插入图片描述

补充

课件上的内容好像就这么多,但是老师在课上也是补充了一些内容的,下面我展示一部分,因为我搜集的也不是很全:在这里插入图片描述
好像问的是:
Q1.为啥自编码器需要向上图这样设计,也就是我有一个encoder后,为啥后面还需要一个decoder将其解码,并比较这两个结果的误差?
A1. 实际上述是一个自编码器(Autoencoder),其设计核心思想是通过一个“编码-解码”的过程来学习数据的高效表示。
自编码器的主要目标是学习数据的低维表示(即隐空间表示)。为了实现这一目标,需要以下几个步骤:

  • 编码器(Encoder):将高维输入数据映射到低维的隐空间表示。这个低维表示是对原始数据的一种压缩形式,它捕捉了数据的关键特征。
  • 解码器(Decoder):从隐空间表示中重构出原始输入数据。解码器的作用是验证编码器是否学到了有意义的低维表示。

通过这种方式,自编码器能够学习到一种既能有效压缩数据、又能保留重要信息的表示方法。

解码器的作用不仅是帮助训练,还可以验证编码器是否学到了有意义的特征:

  • 如果解码器能够从隐空间表示中准确地重建输入数据,说明编码器成功地提取了数据的关键特征。
  • 如果重建误差较大,说明隐空间表示可能丢失了重要的信息,或者模型的容量不足。

通过这种方式,解码器实际上充当了一个“质量检查器”,确保编码器学到的表示是有效的。

三点概括,就是:

  • 1.编码器负责压缩数据,提取关键特征。
  • 2.解码器负责验证隐空间表示的有效性,并生成监督信号(重建误差)。
  • 3.通过最小化重建误差,模型能够学习到数据的低维表示,同时满足特定任务的需求。

Q2. 有的时候在自编码器前面加入了一个noise这有啥用,为啥需要加入呢?
A2.

这种模型被称为去噪自编码器(Denoising Autoencoder, DAE)。

在自编码器中加入噪声的核心目的是让模型更具鲁棒性、防止过拟合,并提升其特征学习能力。这种方法不仅能够帮助模型更好地适应真实场景中的噪声数据,还能增强隐空间的稳定性和表达能力。此外,去噪自编码器还可以直接用于去噪任务,具有广泛的应用价值。因此,加入噪声不仅是对自编码器的一种改进,也是为了让模型更贴近实际需求的一种策略。
在这里插入图片描述


http://www.ppmy.cn/ops/170855.html

相关文章

Spring Boot 三层架构【清晰易懂】

Spring Boot 的三层架构是一种常见的软件设计模式,它将应用程序分为三个主要部分:控制器层(Controller)、服务层(Service) 和 数据访问层(Repository)。这种分层架构有助于代码的模块…

隐匿视角:七款局域网屏幕监控软件对企业数字神经系统架构的重塑效应探究

在当今竞争激烈的商业环境中,企业管理者对于全面掌握公司运营状况,尤其是员工在工作时间的状态有着强烈需求。局域网屏幕监控技术作为一种有效的管理手段,能够使管理者实时洞察员工的计算机操作行为,从而提升管理效率,…

SpringMVC 请求与响应处理详解

引言 在 Java Web 开发中,SpringMVC 作为 Spring 框架的重要模块,提供了强大的请求和响应处理机制。本文将深入探讨 SpringMVC 中请求和响应的处理方式,结合实际案例,帮助开发者更好地理解和应用这些功能。 一、SpringMVC 请求处…

游戏引擎学习第184天

"我们有所有的代码"α 我们将进行一个完整的游戏开发过程,并且会展示。我们从零开始编写引擎,所以我们涵盖的内容从最底层的代码到最高层次的模块都有。虽然我们不能说是“高层次high level”的内容,但我们确实拥有所有的代码&…

蓝桥杯算法实战分享

蓝桥杯算法实战分享 蓝桥杯是国内知名的程序设计竞赛,涵盖算法、数据结构、编程技巧等多个领域。本文将从实战角度分享蓝桥杯算法竞赛的常见题型、解题思路和优化技巧,帮助参赛者更好地备战。 1. 常见题型与解题思路 蓝桥杯的题型主要包括以下几类&…

故障识别 | 基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)进行故障诊断识别,matlab代码

基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)进行故障诊断识别 一、引言 1.1 机械故障诊断的背景和意义 在工业生产的宏大画卷中,机械设备的稳定运行…

循环神经网络 - 给网络增加记忆能力

为了处理时序数据并利用其历史信息, 我们需要让网络具有短期记忆能力。而前馈网络是一种静态网络,不具备这种记忆能力。在正式学习循环神经网络之前,我们先来了解一下给网络增加短期记忆能力的三种方法。 一、延时神经网络 延时神经网络&am…

PoE交换机如何助力智慧城市基础设施建设?

随着全球城市化的加速发展,智慧城市的概念正逐步成为现实。通过技术手段提升居民生活质量、优化城市运营并促进可持续发展已成为趋势。弹性且高效的网络是智慧城市基础设施的关键支撑,而以太网供电(PoE)交换机在构建这些网络中发挥…