流式学习(简易版)

server/2025/2/5 20:06:41/

最近读论文看到了这个概念,感觉还挺有意思的

流形(Manifold) 广泛应用于多个领域,如几何学、物理学、机器学习等。流形本质上是一个局部类似于欧几里得空间的空间,即它在某些尺度下看起来像我们熟悉的平面或曲面,但整体结构可能是复杂的。简单来说,你可以把流形想象成一个“弯曲的”空间,在局部上看起来像我们熟悉的平面,但全局上可能是弯曲或折叠的。

流形学习(Manifold Learning)是一种用于降维(Dimensionality Reduction)非线性数据建模的技术,基于假设:
高维数据往往在低维流形(manifold)上存在某种结构化模式。
换句话说,尽管数据可能存在于 高维空间它实际上可以被映射到一个较低维的空间同时仍然保持原始的几何结构。


1. 为什么需要流形学习

现实世界中的许多数据(如图像、文本、语音)通常高维但存在低维结构

  • 图像数据(( 64 \times 64 = 4096 ) 维):自然图像可能仅由几个关键因素(如光照、角度、物体形状)决定,因此本质上是低维的。
  • 文本数据(数万维 one-hot):语言具有语法结构,实际可映射到较低维的流形上。
  • 生物数据(如基因表达):不同基因的表达存在相关性,数据实际可能位于较低维的流形上。

简单来说,流形学习可以帮助:

  1. 降维(Dimensionality Reduction):减少计算复杂度,如 PCA、t-SNE。
  2. 去除噪声(Denoising):学习数据的本质结构。
  3. 数据可视化(Data Visualization):如 t-SNE、UMAP 进行二维或三维投影。

2. 直观理解流形

假设有一个 “瑞士卷”(Swiss Roll) 数据集,如下图:

📌 **瑞士卷(Swiss Roll)示例:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 这是一个三维数据集((x, y, z)),但如果展开,它其实是二维的
  • 普通的线性方法(如 PCA)无法有效降维,因为它不能保留局部结构。
  • 流形学习方法(如 Isomap、LLE)可以正确地学习到它的二维结构

3. 常见的流形学习算法

方法核心思想优点缺点
PCA(主成分分析)线性变换,将数据投影到方差最大的方向上简单高效,适用于线性数据不能处理非线性流形
t-SNE(t-分布随机邻域嵌入)通过概率分布保持局部结构,进行非线性降维适合数据可视化计算复杂度高
UMAP(统一流形逼近)通过测度空间上的局部和全局结构降维计算速度比 t-SNE 快仍需调参
Isomap(等距映射)计算数据点间的测地距离(Shortest Path)能够保持流形结构对噪声敏感
LLE(局部线性嵌入)通过局部线性关系重构低维表示能保持局部结构不能处理流形间的折叠

这些方法大多用于数据降维和可视化,但在深度学习中,流形学习的概念被进一步扩展,例如:

  • 自监督学习(Self-Supervised Learning)学习高维数据的低维表示,如 SimCLR、BYOL
  • 图神经网络(GNNs)学习图结构数据的嵌入,如 GraphSAGE、GAT
  • 生成模型(GAN/VAE)学习数据的潜在流形表示。

4. 流形学习 vs. 传统机器学习

传统方法(PCA、SVM等)流形学习(t-SNE, UMAP, Isomap等)
数据类型线性数据(如股票价格)非线性数据(如图像、语音)
目标发现全局模式保持局部几何结构
降维方式线性投影非线性映射
计算复杂度

简单来说,流形学习适用于 复杂的、非线性数据,能够更准确地发现数据中的潜在低维结构。


5. 深度学习中的流形学习

在深度学习(Deep Learning)中,流形学习的思想被广泛应用:

  • Autoencoders(自编码器)学习输入数据的低维嵌入(潜在变量)。
  • Contrastive Learning(对比学习:通过流形上的样本对比学习(SimCLR, MoCo)。
  • Graph Neural Networks(图神经网络)学习图结构数据上的流形信息。
  • GAN/VAE(生成模型)学习数据分布的低维流形,并生成新数据。

📌 示例:图神经网络(GNN)

  • 许多现实世界的数据是图数据(如社交网络、分子结构)。
  • GNN 通过邻接结构学习数据的低维流形表示,使得节点的表示能够捕捉数据的拓扑信息。

总结

  • 流形学习 研究高维数据中的 低维结构,主要用于 降维、可视化和数据建模
  • 许多现实世界数据本质上具有低维流形结构(如图像、语音、社交网络)。
  • 常见算法:Isomap、LLE、t-SNE、UMAP 等,主要用于非线性降维
  • 深度学习中的应用
    • GNN、Autoencoders、对比学习、GAN/VAE 等模型都利用流形学习的思想来学习更好的数据表示。

http://www.ppmy.cn/server/165221.html

相关文章

Nacos 的介绍和使用

1. Nacos 的介绍和安装 与 Eureka 一样,Nacos 也提供服务注册和服务发现的功能,Nacos 还支持更多元数据的管理, 同时具备配置管理功能,功能更丰富。 1.1. windows 下的安装和启动方式 下载地址:Release 2.2.3 (May …

pytorch实现长短期记忆网络 (LSTM)

人工智能例子汇总:AI常见的算法和例子-CSDN博客 LSTM 通过 记忆单元(cell) 和 三个门控机制(遗忘门、输入门、输出门)来控制信息流: 记忆单元(Cell State) 负责存储长期信息&…

Vue.js 使用组件库构建 UI

Vue.js 使用组件库构建 UI 在 Vue.js 项目中,构建漂亮又高效的用户界面(UI)是很重要的一环。组件库就是你开发 UI 的好帮手,它可以大大提高开发效率,减少重复工作,还能让你的项目更具一致性和专业感。今天…

面试--你的数据库中密码是如何存储的?

文章目录 三种分类使用 MD5 加密存储加盐存储Base64 编码:常见的对称加密算法常见的非对称加密算法https 传输加密 在开发中需要存储用户的密码,这个密码一定是加密存储的,如果是明文存储那么如果数据库被攻击了,密码就泄露了。 我们要对数据…

19C RAC在vmware虚拟机环境下的安装

RAC安装规划 ===IP== ORA19C01 public ip : 192.168.229.191 heatbeat : 192.168.0.1 vip : 192.168.229.193 ORA19C02 public ip :192.168.229.192 heatbeat : 192.168.0.2 vip : 192.168.229.194 scan ip 192.168.229.195 hosts: echo "192.168.229…

自学习记录-编程语言的特点(持续记录)

我学习的顺序是C -> python -> C -> Java。在讲到某项语言的特点是,可能会时不时穿插其他语言的特点。 Java 1 注解Annotation Python中也有类似的Decorators。以下为AI学习了解到的: Java的Annotation是一种元数据(metadata)&a…

【华为OD机试】真题E卷-招聘(Java)

一、题目描述 题目描述: 某公司组织一场公开招聘活动,假设由于人数和场地的限制,每人每次面试的时长不等,并已经安排给定,用(S1,E1)、 (S2,E2)、 (Sj,Ej)…(Si < Ei,均为非负整数)表示每场面试的开始和结束时间。 面试采用一对一的方式,即一名面试官同时只能面试一名…

ROS应用之SwarmSim在ROS 中的协同路径规划

SwarmSim 在 ROS 中的协同路径规划 前言 在多机器人系统&#xff08;Multi-Robot Systems, MRS&#xff09;中&#xff0c;SwarmSim 是一个常用的模拟工具&#xff0c;可以对多机器人进行仿真以实现复杂任务的协同。除了任务分配逻辑以外&#xff0c;SwarmSim 在协同路径规划方…