对于流形,我在机器学习中的认识就是局部欧式距离的应用,当然其背后强大的数学逻辑也不是一时可以窥全貌,只好先看看一些基础概念。

1、基本概念

流形,是局部具有欧几里得空间性质的空间,是欧几里得空间中的曲线、曲面等概念的推广。欧几里得空间就是最简单的流形的实例。地球表面这样的球面则是一个稍微复杂的例子。一般的流形可以通过把许多平直的片折弯并粘连而成。
流形在数学中用于描述几何形体,它们为研究形体的可微性提供了一个自然的平台。物理上,经典力学的相空间和构造广义相对论的时空模型的四维伪黎曼流形都是流形的实例。位形空间中也可以定义流形。环面就是双摆的位形空间。
一般可以把几何形体的拓扑结构看作是完全“柔软”的,因为所有变形(同胚)会保持拓扑结构不变;而把解析几何结构看作是“硬”的,因为整体的结构都是固定的。例如一个多项式,如果你知道 {\displaystyle (0,1)} (0,1) 区间的取值,则整个实数范围的值都是固定的,所以局部的变动会导致全局的变化。光滑流形可以看作是介于两者之间的模型:其无穷小的结构是“硬”的,而整体结构则是“柔软”的。这也许是中文译名“流形”的原因(整体的形态可以流动)。该译名由著名数学家和数学教育学家江泽涵引入。这样,流形的硬度使它能够容纳微分结构,而它的软度使得它可以作为很多需要独立的局部扰动的数学和物理的模型。

流形可以视为近看起来象欧几里得空间或其他相对简单的空间的物体[1]:1。例如,人们曾经以为地球是平的。这是因为相对于地球来说人类实在太小,平常看到的地面是地球表面微小的一部分。所以,尽管知道地球实际上差不多是一个圆球,如果只需要考虑其中微小的一部分上发生的事情,比如测量操场跑道的长度或进行房地产交易时,仍然把地面看成一个平面。一个理想的数学上的球面在足够小的区域上的特性就像一个平面,这表明它是一个流形[2]:283。但是球面和平面的整体结构是完全不同的:如果在球面上沿一个固定方向走,最终会回到起点,而在一个平面上,可以一直走下去。


回到地球的例子。像旅行的时候,会用平面的地图来指示方位。如果将整个地球的各个地区的地图合订成一本地图集,那么在观看各个地区的地图后,就可以在脑海中“拼接”出整个地球的景貌。为了能让阅读者顺利从一张地图接到下一张,相邻的地图之间会有重叠的部分,以便在脑海里“粘合”两张图。类似地,在数学中,也可以用一系列“地图”(称为坐标图或坐标卡)组成的“地图集”(atlas, 亦称为图册)来描述一个流形[2]:283。而“地图”之间重叠的部分在不同的地图里如何变换,则描述了不同“地图”的相互关系。
描述一个流形往往需要不止一个“地图”,因为一般来说流形并不是真正的欧几里得空间。举例来说,地球就没法用一张平面的地图来合适地描绘。
流形要求局部“看起来像”简单的空间,这不是一个简单的要求。例如,在球上吊一根线,这个整体就不是一个流形。包含了线和球连接的那一点的附近区域一定不是简单的:既不是线也不是面,无论这个区域有多小。
流形有很多种。最简单的是拓扑流形,它们局部看来像欧几里得空间。其他的种类包含了它们在使用中所需要的额外的结构。例如,一个微分流形不仅支持拓扑,而且要支持微积分。黎曼流形的思想导致了广义相对论的数学基础,使得人们能够用曲率来描述时空。

2、例子理解:圆圈

圆是除欧几里得空间外的拓扑流形的一个简单例子。考虑一个半径为1,圆心在原点的圆。若{\displaystyle x}和{\displaystyle y}是圆上的点的坐标,则有{\displaystyle x^{2}+y^{2}=1}

局部看来,圆像一条线,而线是一维的。换句话说,只要一个坐标就可以在局部描述一个圆。例如,圆的上半部,{\displaystyle y}坐标大于零的部分(右图中黄色的部分),任何一点都可以用{\displaystyle x}坐标确定。投影映射:

{\displaystyle \phi _{\mbox{top}}:(x,y)\mapsto x\,}

把上半圆映射到开区间{\displaystyle (-1,1)}。反过来,给定一个{\displaystyle x},{\displaystyle (x,{\sqrt {1-x^{2}}})}就是上半圆的一点:

{\displaystyle \phi _{\mbox{top}}^{(-1)}:x\mapsto (x,{\sqrt {1-x^{2}}})\,}

这样的一个映射{\displaystyle \phi _{\mbox{top}}}就是一个坐标图。它的作用,就是告诉读者“地图”上的一点对应着实际中的哪一点。{\displaystyle \phi _{\mbox{top}}}和它的逆映射都是连续函数甚至是光滑函数,这样的映射也叫做一个(微分)同胚[1]:4。类似的,也可以为圆的下半部(红),左半部(蓝),右半部(绿)建立坐标图。这四个部分合起来覆盖了整个圆,这四个坐标图就组成了该圆的一个图册

注意圆上部和右部的重叠部分,也就是位于圆上{\displaystyle x}和{\displaystyle y}坐标大于0的四分之一圆弧。两个坐标图{\displaystyle \phi _{\mbox{top}}}和{\displaystyle \phi _{\mbox{right}}}都将这部分双射到区间{\displaystyle (0,1)}。这样就有一个从{\displaystyle (0,1)}到它自己的双射{\displaystyle T}:首先取{\displaystyle (0,1)}上面一点{\displaystyle a}(黄色线段右半部分的点)黄色坐标图的逆映射到达圆上的对应点{\displaystyle (a,{\sqrt {1-a^{2}}})},再通过绿色坐标图映射到{\displaystyle (0,1)}上:

{\displaystyle T(a)=\phi _{\mbox{right}}\left(\phi _{\mbox{top}}^{(-1)}(a)\right)=\phi _{\mbox{right}}\left(a,{\sqrt {1-a^{2}}}\right)={\sqrt {1-a^{2}}}.}

映射{\displaystyle T}称为坐标变换映射,它告诉读者一张”地图“上的点是如何对应到另一张“地图”上的相应的点,说明了两张地图之间的关系[1]:5

3、数学定义:

拓扑流形的数学定义可以表述为[3]

M是豪斯多夫空间,若对任意一点{\displaystyle x\in M},都有xM中的一个邻域U同胚于m维欧几里得空间{\displaystyle R^{m}}的一个开集,就称M是一个m维流形或 m维拓扑流形。

坐标图[编辑]

一个流形的一个坐标映射,坐标图,或简称是一个在流形的一个子集和一个简单空间之间的双射,使得该映射及其逆都保持所要的结构。对于拓扑流形,该简单空间是某个欧几里得空间Rn而一般感兴趣的是其拓扑结构。这个结构被同胚保持,也就是可逆的在两个方向都连续的映射。例如上节提到的映射{\displaystyle \phi _{\mbox{top}}}是圆圈的一个图。图对于计算极其重要,因为它使得计算可以在简单空间进行,再把结果传回流形。

4、参考学习

笔者这里就引用维基上的基本概念,简单理解,具体还是有很多值得深入,不作为本篇主要内容。

参考:

https://zh.wikipedia.org/wiki/%E6%B5%81%E5%BD%A2

http://blog.sciencenet.cn/blog-722391-583413.html
http://blog.pluskid.org/?p=533

Riemanian manifold相关推荐

  1. Uber最新开源Manifold,助力机器学习开发者的可视化与调试需求

    所有参与投票的 CSDN 用户都参加抽奖活动 群内公布奖项,还有更多福利赠送 作者 | Lezhi Li 译者 | 凯隐 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) [导 ...

  2. Python编程语言学习:sklearn.manifold的TSNE函数的简介、使用方法、代码实现之详细攻略

    Python编程语言学习:sklearn.manifold的TSNE函数的简介.使用方法.代码实现之详细攻略 目录 Manifold简介 TSNE简介-数据降维且可视化 TSNE使用方法 TSNE代码 ...

  3. manifold learning 流形学习 zz

  4. [论文学习]Manifold Mixup和PatchUp的代码重新实现(实现即插即用且速度更快)

      Manifold Mixup和PatchUp是对mixup数据增强算法的两种改进方法,作者都来自Yoshua Bengio团队.这两种方法都是mixup方法在中间隐层的推广,因此原文开源代码都需要 ...

  5. 【论文学习】mixup系列(mixup、cutMix、manifold mixup、patchUp、saliencyMix、puzzleMix、co-Mixup、FMix)

      mixup是一种简单而又有效的数据增强方法,涨点利器,该方法在图像.文本.语音.推荐.GAN.对抗样本防御等多个领域都能显著提高效果.mixup论文被ICLR2018收录,后续又出现了一系列改进方 ...

  6. 无人机内嵌计算机Manifold 2可部署容器化应用

    无人机内嵌计算机Manifold 2也可以部署容器化应用了.其制造商DJI在第二版增加了对Linux操作系统Ubuntu的支持,现在可以直接使用Ubuntu的容器化应用程序套件,也就是Snap套件的应 ...

  7. Manifold learning-based methods for analyzing single-cell RNA-sequencing data

    https://doi.org/10.1016/j.coisb.2017.12.008 Yale university 2017年12月发布的基于机器学习中流形学习的单细胞降维降噪处理优化. The ...

  8. GAN——流形(manifold)

    1 流形 流形,即manifold,其定义如下: 流形是可以局部欧几里得空间化的一个拓扑空间. 我觉得维基百科上面有一个解释很好, 流形(英语:Manifolds),是局部具有欧几里得空间性质的空间, ...

  9. 四、降维——流形学习 (manifold learning)

    zz from prfans ...............................  dodo:流形学习 (manifold learning) dodo 流形学习是个很广泛的概念.这里我主 ...

最新文章

  1. python中的函数参数主要有四种_python3中函数参数的四种简单用法
  2. php pcntl 多进程学习
  3. git 配置图形比较工具
  4. 深入理解Solidity 二
  5. solaris 关闭、释放socket端口
  6. JSP include directive 和JSP include的区别
  7. 【软考】数据库数据库建模复习指南
  8. 路由转发采用递归查询
  9. TML5期末大作业:美丽家乡网站设计——美丽家乡-含论文(4页) HTML+CSS+JavaScript web前端设计与开发期末作品/期末大作业
  10. nb模块不能接收公网消息_NB-IoT 对接调测问题汇总,你想知道的都在这儿 | 收藏吧...
  11. 金蝶k3远程组件配置连接服务器,金蝶K3服务器配置工具
  12. 为什么CAD导出PDF没有颜色
  13. linux安装五笔输入法centos,CentOS 7系统怎么安装极点五笔输入法?
  14. imageJ 图像均一化(imageJ背景矫正,综述)
  15. 一文带你实现游戏中的音乐、音效设置
  16. HDU 6148 - Valley Numer(数位DP)
  17. python找最长的单词_318. 最长单词长度乘积(Python)
  18. “完数”问题 求1000以内的完数
  19. 域格模块移动网络信号指标介绍
  20. 利用UE4深度图制作空间开敞度可视化工具

热门文章

  1. #ifndef/#define/#endif使用详解
  2. 一维数组的声明与使用
  3. offsetHeight
  4. js拼接html onchange,js触发select onchange事件的小技巧
  5. 进程间通信的方式及其特点
  6. 你的计算机无法运行AI任务,win10系统此应用无法在你的电脑上运行的解决方法...
  7. Kafla 学习(一)初始学习kafla
  8. 【系统篇 / 虚拟】❀ 01. Hyper-V 安装 ❀ Windows Server 2016
  9. 房价的“合成谬误”与“棘轮效应”
  10. java redis优化_Redis性能优化:使用scan命令替换keys