• 《黎曼几何与流形学习》


    黎曼几何与流形学习

    1、基础概念介绍

    在获取全局的几何特征时,传统的数据分析一般会导致失败。其原因在于又是空间本质上是全局线型的,而数据本身往往呈现出强非线性特征。这是可以借助流形,在欧氏空间中嵌入非欧式低维流形。从几何的角度来看,流形本质上反映了全局与局部属性的区别和联系。

    定义一个空间以及在该空间中的度量,使得在无穷小的范围内与欧式空间相同,即在每一个无限小的区域内,欧式空间的几何关系成立。这空间就可以被看作黎曼空间,空间中的几何叫做黎曼几何。因此,可以说黎曼空间是在无限小范围内的欧式空间

    1.1 流形(manifold)

    流形是局部具有欧几里得空间性质的空间,是高维空间中曲线、曲面概念的拓广。我们可以在低维上直观理解这个概念,比如我们说三维空间中的一个曲面是一个二维流形,因为它的本质维度(intrinsic dimension)只有2,一个点在这个二维流形上移动只有两个方向的自由度。同理,三维空间或者二维空间中的一条曲线都是一个一维流形。欧几里得空间就是最简单的流形的实例。

    其数学定义为:令M表示一个拓扑空间,对于其上的任意一点 [公式] ,都存在m的一个开邻域 [公式] 和d维欧式空间中的一个开子集同胚,则吧M成为d维拓扑流形,也叫做d维流形。

    1.2黎曼几何(Riemannian geometry)

    微分几何中,黎曼几何研究具有黎曼度量的光滑流形,即流形切空间上二次形式的选择。它特别关注于角度、弧线长度及体积。把每个微小部分加起来而得出整体的数量

    19世纪,波恩哈德·黎曼把这个概念加以推广。

    任意平滑流形容许黎曼度量及这个额外结构帮助解决微分拓扑问题。它成为伪黎曼流形复杂结构的入门。其中大部分都是广义相对论的四维研究对象。[1]

    1.3黎曼流形(Riemannian manifold)

    黎曼流型或是黎曼空间是指在流形M上任意一点的切空间 [公式] 处定义了欧式内积的平滑微分流形。具体的:

    黎曼流形是一个微分流形,其中每点p的切空间都定义了点积,而且其数值随p平滑地改变。它容许我们定义弧线长度、角度、面积、体积、曲率、函数梯度向量域散度
    每个Rn的平滑子流形可以导出黎曼度量把Rn点积都限制于切空间。实际上,根据纳什嵌入定理,所有黎曼流形都可以这样产生。
    我们可以定义黎曼流形为和Rn的平滑子流形是等距同构度量空间,等距是指其内蕴度量(intrinsic metric)和上述从Rn导出的度量是相同的。这对建立黎曼几何是很有用的。
    黎曼流形可以定义为平滑流形,其中给出了一个切丛正定二次形的光滑截面。它可产生度量空间:
    如果 [公式] : [ab] → M是黎曼流形M中一段连续可微分的弧线,我们可以定义它的长度 [公式] 为
    [公式]
    (注意: [公式] 是切空间M[公式]点的元素;|·|是切空间的内积所得出的范数。)
    使用这个长度的定义,每个连通的黎曼流形M很自然的成为一个度量空间(甚至是长度度量空间):在xy两点之间的距离dxy)定义为:
    d(x,y) =inf{[公式] : [公式] 是连接xy的一条光滑曲线}。
    虽然黎曼流形通常是弯曲的,“直线”的概念依然存在:那就是测地线
    在黎曼流形中,测地线完备的概念,和拓扑完备及度量完备是等价的:每个完备性都可以推出其他的完备性,这就是Hopf-Rinow定理的内容。[1]

    常见的黎曼流形可以分为SPD流形、Grassmann流形以及Stiefel流形

       

    切向量构成的向量空间, 均为切空间的例子. 下面给出严格的定义:

    【定义】光滑流形 MM 在一点 pp 处的切空间, 是由 MM 上所有通过点 pp 的曲线在 pp 处的切向量所构成的空间. 用符号 TMpTMp 或 TpMTpM 表示.

    注意到, 在光滑流形的每一点处都有相应的切空间. 在光滑流形的每一点处都有相应的切空间

    切丛 (tangent bundle)

    直观的说, 对于流形 MM, 沿着其上每一点构成的切空间, 称之为流形 MM 的切丛, 一般用符号 TMTM 表示. 事实上, 流形 MM 的切丛也构成一个流形.

    可以这样去想象, 用水平坐标轴表示流形 MM, 其上每一点处的切空间用过这一点的垂线表示, 而所得到的这个平面便可以表示切丛 TMTM.
    $M$ 的切丛

    关于切丛, 容易看到以下性质:

    nn 维流形 MM 的切丛 TMTM 是 2n2n 维的.

    可以这样理解这件事: 为了给出切丛上的一个”点”, 首先需要 nn 个坐标描述 MM 上的一个点 pp, 然后需要 nn 个由 pp 出发的基向量来描述这一点处的切空间, 合起来, 也就是需要 2n2n 个”分量”.

    另外, 我们可以在流形上给定向量场 (Vector Field), 即在每个点处给定一个向量. 学过微分方程应该知道, 连续的向量场给出一系列曲线, 向量场中的每个向量都是这些曲线中某一条的切向量. 这些曲线称之为积分曲线.

    同时注意到, 向量场中每个向量都属于某个切空间, 所以整个向量场相当于在切从上”切了一刀”, 称之为切丛截面. 一个切丛截面

     

    1.3.1 Stiefel流形

    把一组尺寸为 [公式] 的矩阵表示为: [公式] ,其是一个向量空间,同时该空间具有一个线性流形结构,克表示为: [公式] ,其中 [公式] 表示将Y的所有列堆叠在一起而得到的向量,通过在该线性流形中利用元素的内积,就可以把流形映射到一个欧式空间:

    [公式]

    同样的,用 [公式] 表示一组尺寸都为 [公式] 且所有列都是线性无关的矩阵,相对于[公式] ,[公式]则是其的一个开集,且 [公式] 。很显然,由[公式]所张成的空间是关于[公式]的一个开子流形。其微分结构可以表示为: [公式] 。对于[公式]中的任一元素,其所有的列都是正交基向量,因此可得:

    [公式]

    其中 [公式] 是一个 [公式] 的单位矩阵,我们把 [公式] 叫做Stiefel流形。

    1.3.2 Grassmann流形

    令 [公式] 表示一组q维的子控件,其中 [公式] , Stirefel流形是由一组尺寸为 [公式] 的列满秩矩阵构成的,用 [公式] 表示[公式]上的一个等价关系:

    [公式]

    其中,span(Y)表示由 [公式] 的所有列张成的子空间。

    简单的说,在一个d维的向量空间W,W中取q维子空间,就构成了Grassmann流形

    1.3.3 SPD流形

    令 [公式] 表示 [公式] 的对称正定矩阵所处的空间,对任意两个处于其上的数据 [公式] ,他们的对数积可表示为:

    [公式]

    [公式] 是一个群,SPD矩阵的组的逆也就是局还真意义上的逆。同时,对于任意两个SPD矩阵,它们之间对数积等价于两个矩阵的积。而且该积是可交换的。因为,任意两个SPD矩阵的乘积是通过在矩阵的对数中定义加法操作而完成的,因此其满足关联性和交换性。当 [公式] 时:

    [公式]

    [公式] 中的对数积 [公式] 与平滑的流形结构是想回兼容的,因此,在 [公式] 中通过利用 [公式] 操作可以构建一个交替的李群结构,这里 [公式] 就是一个李群,即SPD流形。

     

    1.4 黎曼度量(Metric tensor)

    黎曼流形作为一个几何概念有很多实际应用。一些物理和技术系统的问题都可以表示为黎曼流形问题。 比如,将惯量矩阵看作黎曼度量力学中的拉格朗日方程就可以表示为黎曼流形,而方程的解就是黎曼流形上的测地线(测地线定义为曲面上最短的一条曲线)。机械动力系统可以用拉格朗日方程表示。在系统中引进控制量,就变为控制系统问题。这种控制系统问题可以转换为黎曼流形问题,即微分几何控制问题[2]

    2、背景介绍

     

    假设观测数据是均匀采样与高维欧式空间的低维流形,流行学习就是从高维观测数据中发现低维流形结构,并给出从高维空间到低维嵌入的映射。其主要目的就是从期望寻找产生数据集的内在规律性,即从观测数据中寻找数据本质特征,从统计角度看,流行学习是试图去除更多的先验假设,如属性间的相互独立、近正态分布等等,而去完成在一般意义下针对数据集的各项任务。

    从模式识别的角度来看,主要存在两个问题:

    1. 如何有现有数据中提取高效,信息丰富的特征;
    2. 如何针对识别的任务设计合理有效的分类算法或是任务。

    在统计模型趋于成熟的大背景下,目前一些传统的统计模型如线性子控件、协方差矩阵和高斯概率模型等,可以有效地完成识别的任务,但是这些统计模型通常位于一个特定的黎曼流型上,因此传统的黎曼度量学习方法虽然可以为这一问题提供有效地判别学习方法。

    流行学习的主要目的就是在高维数据集中寻找出低维的本质特征的描述,从而找出数据内在的关系,完成特征提取或是模式识别等任务。流行学习的根源看见下图。

    3、流行学习算法

    传统的降维算法主要包括PCA, LDA, ICA, FA等,他们主要研究在高维空间中如何设计线性模型的特征向量,优点是运算简便面具有解析的映射函数,但是在现实生活中高维数据大多是非线性的,线性方法很难挖掘高维数据的几何结构和相关性,揭示其流行分布。针对高维数据的非线性特征,近年来发展了很多非线性的降维方法,包括子控件方法、神经网络法、遗传算法以及流型学习等。

    未来工作

    有时间继续更新算法相关方法。

    另,附上两篇比较好的文章:

    王晋东不在家:《小王爱迁移》系列之五:测地线流式核方法(GFK)​zhuanlan.zhihu.com图标
    Search_度量方法调研与迁移学习 - 涵晨’s Blog✈​jackyanghc.github.io

    流形学习的思考

    流形学习在认知、机器学习方面都有很好的可解释性,但是深度学习对很多领域的方法冲击是巨大的。大家在构建模型时,更多的是关心性能与表现。所以,学术界还是产业界都把重心放到如何通过优化深度学习模型的结构和参数优化去了。[3]

    参考

    1. ^ab维基百科 https://zh.wikipedia.org/wiki/%E9%BB%8E%E6%9B%BC%E6%B5%81%E5%BD%A2
    2. ^https://blog.csdn.net/wydbyxr/article/details/80821429
    3. ^爱犯错的智能体 -- 视觉篇(七):眼中的黎曼流形 http://blog.sciencenet.cn/blog-3389532-1136824.html
    编辑于 2019-09-23
    微分几何
    流形学习
    黎曼几何
  • 相关阅读:
    solidworks 学习 (二)洗手液瓶
    solidworks 学习 (一)螺丝刀
    tensorflow 2.0 学习(三)MNIST训练
    tensorflow 2.0 学习(二)线性回归问题
    tensorflow 2.0 学习(一)准备
    sscanf linux-c从一个字符串中读进与指定格式相符的数据
    Linux-c glib库hash表GHashTable介绍
    Linux-c给线程取名字
    linux-c getopt()参数处理函数
    golang Linux下编译环境搭建
  • 原文地址:https://www.cnblogs.com/cx2016/p/12898656.html
Copyright © 2020-2023  润新知