流形学习的基本思想

article/2025/10/11 5:27:14

流形学习的观点是认为:我们所能观察到的数据实际上是由一个低维流形映射到高维空间上的。由于数据内部特征的限制,一些高维中的数据会产生维度上的冗余,实际上只需要比较低的维度就能唯一地表示。

举个例子,比如说我们在平面上有个圆,如何表示这个圆呢?如果我们把圆放在一个平面直角坐标系中,那一个圆实际上就是由一堆二维点构成的。

比如一个单位圆:(1,0)是一个在圆上的点,(0,1)也是一个在圆上的点,但(0,0)和(2,3)等等很多点是不在这个圆上的。显然如果用二维坐标来表示,我们没有办法让这个二维坐标系的所有点都是这个圆上的点。也就是说,用二维坐标来表示这个圆其实是有冗余的。

我们希望,如果能建立某一种描述方法,让这个描述方法所确定的所有点的集合都能在圆上,甚至能连续不间断地表示圆上的点,那就好了!有没有这种方法呢?对于圆来说,当然有!那就是用极坐标。在极坐标的表示方法下,圆心在原点的圆,只需要一个参数就能确定:半径。当你连续改变半径的大小,就能连续不断的产生“能被转换成二维坐标表示”的圆(产生很多圆)。所以说,实际上二维空间中的圆就是一个一维流形。

与之相似的,三维空间中一个球面,用x, y, z三个坐标轴确定时会产生冗余(很多在三维空间中的数据点并不在球面上)。但其实只需要用两个坐标就可以确定了,比如经度和维度。只要给定任何合法的经度和维度,我们就都能保证这个点肯定在球面上!

那么,流形学习有什么用呢?我现在能想到的主要有两个方面。

先说第一个方面。高维空间有冗余,低维空间没冗余。也就是说,流形可以作为一种数据降维的方式。传统很多算法都是用欧氏距离作为评价两个点之间的距离函数的。但是仔细想想这种欧氏距离直觉上并不靠谱。“我们只是看到了三维数据,就要用三维坐标系内的尺度去对事物进行评价?”总觉得有些怪怪的。

举个例子,从北京到上海有多远?你可以找一个地球仪,然后用一把能弯曲的软软的尺子,经过地球仪表面然后测量一下这两个点的距离。但是如果我用一根直线,将地球仪从北京到上海洞穿,测量出一个更短的距离,你一定会觉得我疯了。这说明,尽管你得到的北京和上海的坐标是三维空间坐标(x,y,z),但使用欧氏距离对于“在高维空间展开的低维流型”进行距离的衡量是不正确的。

显然对于“从北京到上海的距离”这件事,我们关注的是把三维地球展开成二维平面,然后测量的地表上的距离,而不是三维空间中球面上两个点的欧氏距离。

既“流型空间上的可以用欧氏距离,不代表低维流型所展开的高维空间中也可以使用欧氏距离进行衡量”。只有在流型空间,用欧氏距离才有意义。

但实际上很多时候,尽管是高维空间,但出于简便,我们仍然近似使用欧氏距离。但通常来说效果都不会太好。不过我们通过一些变换,将原始的高维空间的数据映射但低维流型空间然后再用欧氏距离衡量。或者干脆用一种能够在高维空间更准确地度量距离的距离函数来替代欧氏距离。这样能取得更加合理的距离度量结果。

举个例子,假如说决策部门打算把一些离得比较近的城市聚成一堆,然后组建个大城市。这时候“远近”这个概念显然是指地表上的距离,因为说空间直线距离并没有什么意义。

而对于降维算法来说,如果使用传统的欧氏距离来作为距离尺度,显然会抛弃“数据的内部特征”。如果测量球面两点距离采用空间欧氏距离,那就会忽略掉“这是个球面”这个信息。

其实用一幅图就都明白了,那就是传说中的瑞士卷:

如果我们观察到的数据是三维的,但其本质是一个二维流形。图上所标注的两个圈圈,在流形(把卷展开)上本距离非常远,但是用三维空间的欧氏距离来计算则它们的距离要近得多。

所以说,流形学习的一个主要应用就是“非线性降维” 。而非线性降维因为考虑到了流形的问题,所以降维的过程中不但考虑到了距离,更考虑到了生成数据的拓扑结构。

第二个方面流形能够刻画数据的本质。也就是说。既然学习到了“将数据从高维空间降维到低维空间,还能不损失信息”的映射,那这个映射能够输入原始数据,输出数据更本质的特征(就像压缩一样,用更少的数据能尽可能多地表示原始数据)。

深度学习主要的特点就是“特征学习”,所谓特征,就是能“表示事物本质的内容”,一般来说特征的维度应该小于数据本身。有一些实证证实,大脑处理数据其实是通过记忆、重现的方式。数据那么多,大脑怎么能一一记住?那就可以只记住“特征”!例如我们知道“人”都是两只眼睛一个鼻子一张嘴。而具体到每一个人则是再这个基本特征之上添加了一些其他的特异性的内容仅此而已。

深度学习一直以来就是在模仿大脑的结构,或者说在模仿大脑对数据的处理能力:从底层感受器输入原始数据,逐步求精得到特征。所谓的特征,在一定程度上就可以用流形的概念来解释。我们希望我们的模型能够学习到“数据在流型空间中的表示”。如果能做到这一点,则说明我们的模型离“模拟大脑”又前进了一步。

拓展一下,有一个有趣的事情:
我们如何来说明“模型学习到了流形”?前面提到了高维数据其实是由低维流形生成的。如果我们能模拟这个生成过程,再通过对低维流形的微调,应该能得到对应的“有意义且有道理”的高维数据。

下面是利用生成对抗网络(GAN)生成的人脸:

可以把生成过程看作:输入一个特征空间的低维编码,得到一个输出空间的高维图像。如何证明我们学习到的这个生成过程就是像人脑一样从低维流形映射到高维空间呢?还记得我们之前说过,流型空间一般应该是连续的,而映射到的高维空间的数据也应该在流形连续调整时变得连续且有意义。

再另一篇介绍了GAN的一个扩展的DCGAN的文章中,做了这样一件事:

寻找两个编码,这两个编码都能生成有意义的内容,将这两个编码插值得到好多编码。也就是说这些编码实际上描述了从编码A到编码B缓慢转变的过程。编码A是起点,编码B是目标,A和B之间的连续转变的编码则应该让生成的图像处于“从A向B”的过渡过程!事实如何呢?请看下图:

DCGAN这篇文章除了通过插值方法以外,还用了其他很多方法来验证编码空间是不是流型空间。我觉得这篇文章的贡献不只在于DCGAN这个模型,而在于后面很多实验的分析,毕竟是发在ICLR上的文章,搞的都是“特征工程”。其中的实验部分非常值得一看~

关于“冗余”,补充一下:

数据因为固有的特性,导致无法“填满”整个高维空间。例如如果数据只能出现在三维空间中的一个球面上。那这个球面以外的空间永远不会有数据点。而一个表面我们完全可以只用两个参数来表示(经度、维度)。所以这个球面是一个二维流型的三维展开。

在举个例子:身份证号。
我们的身份证号是18位的。但是身份证号有严格的格式:3位省3位市8位生日4位其他编码。这18位,最多能出现 10的18次方个不同的编码。但由于格式的限制,很多编码是不可能产生的。例如“999888777766554321”这就不可能出现。

但我们可以给每一个新出生的人一个连续的编码。只需要10位数字,就足够代表100亿人了。所以当我们有某种方法,能够找到一个从18维空间映射到10维空间的方法。那么这个10维空间就是数据“最本质”的特征了。

例如一张图片是256×256=65536维空间的。

如果我们能找到一个到2维空间的完美映射。就能得到“只需要用两个维度就能唯一地表示数据特征”的方法。例如两个维度可能是头转向的角度(上下、左右)。

那么只需要改变这个2维编码,再还原会65536维空间,再reshape成256×256的图片,就能得到同一张人脸连续地“转头”、“点头”的样子。

而流形学习就是在考虑:

1,如何找到这个从高维到低维的映射。

2,哪怕不能直接找到这个映射,那我们可以找到某种方法,在高维空间处理数据,等效于“将高维空间映射到低维空间、再处理数据、再映射回高维空间”的这种操作。

原文链接:https://www.zhihu.com/question/24015486/answer/194284643


http://chatgpt.dhexx.cn/article/EmbYDtbF.shtml

相关文章

什么是流形

高等数学同济六版下册 流形上的微积分 拓扑学导论 拓扑学导论

干货!图像集分类大杀器--混合黎曼度量学习

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 随着视频数据量的不断增加,图像集分类近年来受到了计算机视觉和模式识别研究社区的广泛关注。然而,表征的类内多样性和类间模糊性仍然是重大挑战。为了解决这一问题,研究人员…

流形学习的数学基础

文章目录 1 Optimization Algorithms on Matrix Manifolds2 Riemannian gradient descent3 一些流形优化的博客参考文献 1 Optimization Algorithms on Matrix Manifolds Optimization Algorithms on Matrix Manifolds - Full Online Text P.-A. Absil, R. Mahoney, and Rodol…

流形学习(Manifold Learning)简单介绍

传统的机器学习方法中,数据点和数据点之间的距离和映射函数f都是定义在欧式空间中的,然而在实际情况中,这些数据点可能不是分布在欧式空间中的,因此传统欧式空间的度量难以用于真实世界的非线性数据,从而需要对数据的分…

谈谈黎曼流形与视觉距离错觉问题

转自:https://baijiahao.baidu.com/s?id1612647738961091671&wfrspider&forpc 作者:看海 链接:https://www.zhihu.com/question/30553302/answer/311788410 来源:知乎 data:20190509 一、流形科普知识 1、…

流形学习详解

流形学习 流形学习(manifold learning)是一类借鉴了拓扑流形概念的降维方法。 介绍流行学习首先要说明一下什么是流形:即指具有不同维数的任意光滑的曲线或曲面。 流形学习是基于这样一种假设:若低维流形嵌入到高维空间中&#x…

黎曼流形学习的学习笔记(2):Neural Ordinary Differential Equations(来源:NIPS 2018 oral) (未完待续)

作者想解决的问题:这是一篇提出新模型的论文,把输入和输出当作微分方程在不同时刻的解,这样做可以节省很多空间,因为不需要计算每一步的具体结果,只需要保存得到的函数。 思路:由于残差网络 (空间上) 和RNN…

流形学习(Mainfold Learning)

最近在看生成对抗网络(Generative Adversarial Networks,GAN)的时候,几乎在每一篇文章中都会看到mainfold这个词,哪么它在GAN中想要表达什么呢?或者说GAN和流形学习(Mainfold Learning&#xff…

什么是流形?

什么是流形? 写的很好。 感觉就是一个多维空间的抽象,在这个空间中,距离的定义稍微有些特殊; 1、流形就是弯曲的 N实数描述的 点集合; 2、两点间的距离有定义:邻近的两点,其距离是 座标差的平方…

黎曼流形学习的学习笔记(1):Moser Flow: Divergence-based Generative Modeling on Manifolds(来源:NIPS 2021 oral)

亮点: 1. 使用Moser Flow (MF) 相比于其他连续标准化流 (CNF)不需要在训练过程解常微分方程 (ODE),因此训练速度相对较快; 2. 在1的基础上,证明了在一定的前提下,MF可以泛化任意的流形,并且这是流模型 (…

论文阅读:在Stiefel流形上的黎曼优化

原文:EFFICIENT RIEMANNIAN OPTIMIZATION ON THE STIEFEL MANIFOLD VIA THE CAYLEY TRANSFORM Citing: https://arxiv.org/pdf/2002.01113.pdf 目录 摘要 1 简介 2 相关工作 3 基础知识 3.1 黎曼流形 定义1:黎曼流形 定义2:测地、幂映…

黎曼几何与黎曼流形

目录 0.黎曼几何 1. 欧几里得几何与黎曼几何的区别 2.黎曼流形 3.黎曼距离 4.切空间 5.黎曼均值 6. SPD矩阵如何形成黎曼流型 7.切线空间映射 8.同余变换和同余不变 9.黎曼对齐 科普性笔记,做了解,不深入。 0.黎曼几何 黎曼几何是一种基于欧几…

机器学习知识点(二十三)黎曼流形认知

对于流形,我在机器学习中的认识就是局部欧式距离的应用,当然其背后强大的数学逻辑也不是一时可以窥全貌,只好先看看一些基础概念。 1、基本概念 流形,是局部具有欧几里得空间性质的空间,是欧几里得空间中的曲线、曲面…

数学建模-神经网络模型

神经网络简介 人工神经网络是在现代神经科学的基础上提出和发展起来的,旨在反映人脑结构及功能的一种抽象数学模型。自1943 年美国心理学家W. McCulloch 和数学家W. Pitts 提出形式神经元的抽象数学模型—MP 模型以来,人工神经网络理论技术经过了50 多年…

数学建模--预测类模型

目录 一、中短期预测 1、灰色预测法 ①适用范围 ②模型实现 2、回归分析 ①适用范围 ②模型实现 3、时间序列分析 ①自适应滤波法 ②指数平滑法 ③移动平均法 4、微分方程 二、长期预测 1、神经网络预测 2、logistic模型 ①模型介绍 ②模型分析及代码 一、中短…

数学建模 -- 预测模型

参考清风老师的数学建模,用于复习!!! NO1.灰色预测 一.灰色系统 灰色预测是对既含有已知信息又含有不确定信息的系统进行预测,就是对在一定范围内变化的、与时间有关的灰色过程进行预测。 灰色预测对原始数据进行生成…

数学建模——评价模型

文章目录 一.模糊综合评价模型1.基础知识2.一级模糊综合评价3.二级模糊综合评价 二.灰色关联分析模型1.灰色关联分析原理2.灰色关联分析步骤 三. Topsis(理想解法)1.理想解法原理2.Topsis法步骤 四.线性加权综合评价模型(不是很推荐用&#x…

数学建模(一)

个人不仅仅是一个ctfer,数学也是很强的呀。hhhh下面记录一些简单的 数学建模用到的python基础 知识点一:复合数据类型相关 append:每次往列表尾部增加一个元素。 extend:列表尾部添加多个数据 insert(索引位置,插入值) #这里是…

数学建模-数学规划模型

数学规划模型 一、概述 1.什么是数学规划? 运筹学的一个分支,用来研究在给定条件下(即约束条件),如何按照某一衡量指标(目标函数)来寻求计划、管理工作中的最优方案。 即求目标函数在一定约束条件下的极值问题 2.数学…

【数学建模】模型的评价、模型的推广与改进

6.1模型的评价 6.1.1模型的稳定性分析(灵敏度分析) https://mp.weixin.qq.com/s/EZr2HeqzDLHQygk4nO0iiA 讲的比较好,分为决策模型、动态模型、概率模型、线性回归、时间预测 建模过程会对问题做一些假设,需要考虑所得结果对每一条…