张成岗(CZ)的博客世界分享 http://blog.sciencenet.cn/u/zcgweb 脑损伤与脑保护;神经认知;生物信息;蛋白质组;辐射损伤与防护

博文

[转载]第三章 机器学习的数学基础(第七节 同态、同构、同胚、同伦、同痕、同调)

已有 1002 次阅读 2021-12-6 14:47 |系统分类:科研笔记|文章来源:转载

第三章 机器学习的数学基础

卢军

卢军

创作人

关注他

10 人赞同了该文章


https://zhuanlan.zhihu.com/p/58989031


第三章 机器学习的数学基础

第一节 数学对机器学习的重要性

目前机器学习最重要的应用是通过数据的整理和可视化来发现能够被用于构建智能的隐藏数据结构或各种知识。为了更好地掌握各种机器学习模块的内部工作机制,对重要的模型算法有一个透彻的数学理解是必要的。当然初学者并不是必须先掌握大量数学知识再开始做机器学习,你也可以先熟悉各种AI平台的使用方法,学会做些简单的数据分析,然后再根据工作的需要在实践中来继续学习数学。

机器学习的第一步需要针对特定的应用问题,选择合适的算法与模型。其次是确定模型的复杂度、精度、训练时间等各种指标,选择特征的数量、初始值以及最后的验证策略。另外还需要通过理解偏差和方差之间的trade off来识别欠拟合与过拟合,最后还要估计正确的置信区间和不确定度。如果对这些技术没有一个较为全面的数学理解,即便你很熟悉机器学习的实际应用,也极有可能出现一些愚蠢的错误。在机器学习领域,线性代数、数学分析、数理统计、抽象代数、几何图论等数学应用无处不在。基于上述数学领域的主成分分析(PCA)、奇异值分解(SVD)、特征分解、LU分解、QR分解、矩阵运算、特征向量、向量空间、规范场、马尔科夫链、贝叶斯公式和微分积分等概念和方法对更好的理解机器学习都是十分有用的。

本章主要是介绍一些机器学习中常用的数学知识和数学工具资源。关于机器学习的数学理论和模型算法研究正在高速发展之中,下面会逐一介绍我们认为的要成为一个机器学习工程师所需要的最低数学水平。由于篇幅和编者本人水平的限制,我们将主要介绍上述各个数学领域内的基础概念和重要定理,更加详细的知识可以参考相关教科书和论文。另外对这个问题的答案是多维的,也会因个人的水平和兴趣有所不同,但最基本的原则应该就是“活学活用,急用先学”。

第二节 线性代数

什么是线性代数,线性就是一次,代数就是加减乘除,线性代数就是研究方程组的问题。用向量表示线性方程组有点麻烦,所以用矩阵来表示,再后来就规定了矩阵是行乘以列的形式,就是这样AX=b。线性代数中常用的重要概念包括标量,向量,矩阵和张量,单位矩阵和逆矩阵,向量内积和生成子空间,线性相关和线性无关等等。

主要计算包括矩阵的转置,矩阵和向量相乘等。线性方程组形成的矩阵A中,从行的角度看就是直线和平面问题,在AX=b中,当x>3就是超平面。从列的角度看,就是线性相关问题,有一个解,多解,无穷解。线性相关,通俗的理解就是一个向量可以用其他向量的矢量和表示出来,如果不能表示出来,就是线性无关。向量乘法有两种类型,点积和Hadamard乘积。两个向量的点积是一个标量,向量和矩阵的点积(矩阵乘法)是深度学习中最重要的操作之一。Hadamard乘积是元乘法,它的输出是一个向量。给定空间中某一个点,向量场类似于梯度下降,可以表示场中各点可能的变化力度和方向,对可视化技术是非常有用的。神经网络会经常处理维度不符合要求的数据矩阵,而矩阵转置提供了一种方法来“旋转”其中一个矩阵,以使其操作符合乘法要求。转置矩阵就是先把矩阵旋转90°,然后再反转每行元素的顺序。

通过分解矩阵可以获取一些矩阵表示成数组元素时不明显的函数性质,特征分解是使用最广方法之一,具体就是将矩阵分解成一组特征向量和特征值。其中最常用的是QR分解(正交三角分解),是说对任意m*n的列满秩矩阵A,必有: 。另外奇异值分解可以看作是对称方阵在任意矩阵上的推广。在机器学习、图像处理、最优化等领域的公式推导中经常要用到矩阵求导,也称作矩阵微分。矩阵的微积分本质上是多元变量的微积分问题,只是应用在矩阵空间上而已。

第三节 概率论和统计学

概率论是用于表示不确定性陈述的数学框架,是对事物不确定性的度量。它当中所涉及的主要概念包括:随机变量、采样方法、条件概率、联合概率、全概率、边缘概率、期望、均值、方差、协方差和相关系数、条件分布、联合分布、标准分布(伯努利、二项、多项、正态高斯等)、贝叶斯定理、最大似然估计、先验和后验、最大后验估计等等。

机器学习中大量存在被建模系统内在的随机性、不完全观测、不完全建模等三种不确定性可能的来源。概率论频率学派研究的是事件本身,所以研究者只能反复试验去逼近它从而得到结果。贝叶斯学派研究的是观察者对事物的看法,所以你可以用先验知识和收集到的信息去描述他,然后用一些证据去证明它。在概率论和统计学中,随机变量是可以随机地取不同值的变量,一个随机变量只是对可能的状态的描述,可以是离散的或者连续的,必须伴随着一个概率分布来指定每个状态的可能性。实际工作中我们更喜欢独立同分布的随机变量,它是指随机过程中,如果任何时刻的取值都为随机变量,并且这些随机变量服从同一分布,并且互相独立,那么这些随机变量是独立同分布。我们可以采用一种简化形式来表示独立性和条件独立性:x⊥y表示x和y相互独立,x⊥y|z表示x和y在给定z时条件独立。数学期望是试验中每次可能结果的概率乘以其结果的总和,反映随机变量平均值的大小。方差用来衡量随机变量与其数学期望之间的偏离程度。统计中的方差为样本方差,是各个样本数据分别与其平均数之差的平方和的平均数。协方差被用于衡量两个随机变量X和Y之间的总体误差。

中心极限定理是概率论中的一组定理,是说大量相互独立的随机变量之和近似服从正态分布的条件,其均值的分布以正态分布为极限。最大似然估计是利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值的一种方法。

第四节 多元微积分

微积分主要研究函数的极限、微分、积分、偏导数、向量函数、方向梯度、Hessian、雅可比算子、拉普拉斯算子和拉格朗日算子的有关概念和应用,其中微分学是一套关于变化率的理论,它使得函数、速度、加速度和曲线的斜率等问题均可用一套通用的符号进行讨论。积分学为定义和计算面积、体积等问题提供了一套通用的方法。与机器学习相关的微积分的核心问题是极值问题,核心技能是计算偏导数和梯度。

多元微积分或多变量微积分相较于只有单个变量的一元微积分,在函数的求导和积分等运算中含有至少两个变量。例如微分多元函数时,就引申出偏微分、全微分等概念;对多元函数进行积分计算时,又会涉及多重积分。微积分基本定理建立了导数与积分的联系,而多元微积分中导数与积分之间的联系,体现为矢量微积分的积分定理,包括梯度定理、斯托克斯定理、高斯散度定理、格林公式。在对多元微积分更深层次的研究中,可以认为以上四条定理是广义斯托克斯定理的具体表现,后者适用于在流形上对微分形式进行积分。另外微分几何是运用微积分的理论研究三维空间中的曲线和曲面中的距离和曲率,现代微分几何开始研究更一般的流形空间。向量分析是微分几何里的内容,在这种语境下,矢量场给空间中的每个点赋予一个带有三个实数分量的矢量,而标量场给每个点赋予一个实数。以湖水为例,湖水各处的温度形成一标量场,而各处的速度则形成一矢量场。向量分析是流体力学、电磁学和机器学习等领域中的基本工具。

数学家已经发展了从整体出发的矩阵求导的方法,包括标量对向量的导数与微分和矩阵对矩阵的导数计算方法。其中导数与微分的联系是计算的枢纽,标量对矩阵的导数与微分的联系是先求微分,然后求得导数。机器学习里的数学,个人感觉需要先掌握里面核心思想,就像拉格朗日乘子法,可以将求条件极值转化为求(函数+条件)的极值,每一步都很妙。

第五节 运筹与优化

机器学习中数据的数量和维度都过于庞大,无法通过人脑的处理来分析它们。比如我们无法通过百万级的DNA序列分析找到各序列和疾病发生之间的关系,也无法短时间内标定出上万张图像中人脸的位置。所有算法的进步,本质上都源于数学方法上的优化,在具体的工作中就表现为选择参数、调整参数。例如深度学习中通过优化算法迭代训练出的参数就是目标函数中待求解的参数,具体可以表现为神经网络中各隐含层节点的权值、logistic回归中各自变量的系数等等。

机器学习中的优化问题大都跟数据有关,因为很多问题都是以统计期望的形式来表达,所以一阶、二阶随机优化是目前大家都比较感兴趣的,梯度下降、牛顿法、共轭梯度法都是很常用的。不同目标函数和不同优化算法,产生的问题也各不相同,比如很多目标函数不是凸函数,也不是无约束的优化问题,无法直接利用梯度下降算法求解,又例如梯度下降法往往只能保证找到目标函数的局部最小值,找不到全局最小值,那么该怎么解决这些问题呢?答案是不一味的强行采用梯度下降,也可以引入拉格朗日乘子等其他变量,将有约束问题转化为无约束问题;还可以适当爬爬山,说不定能跳出小水沟找到真正的深井(全局极小值),这种算法叫模拟退火;还可以增大搜索范围,让一群蚂蚁(蚁群算法)或者鸟儿(粒子群算法)一齐搜索;或者让参数巧妙地随机改变(遗传算法)。综上,如何更快的找到目标函数的全局最小值,如何避免陷入局部最优解是优化算法研究的重点。

凸函数具有局部最优解就是全局最优解的优良性质,这让我们可以在求解过程不用过多考虑局部最优解和全局最优解的问题。因此优化问题的研究也可以将一般形式的目标函数转化为凸函数后求解,这是机器学习解决优化问题的另外一种重要思路。

第六节 数学中的各种空间与距离

在数学中有许多种空间表示,这些空间之间有什么关系和区别呢?这就要从距离的定义说起。实际上除了我们经常用到的直线距离外,还有如曲面距离、折线距离等向量距离,这些实体的距离与距离之间的关系类似于苹果、香蕉等与水果的关系,前面是具体的事物,后面是抽象的概念。定义了距离后,如果再加上线性结构,如向量的加法、数乘,使其满足加法的交换律、结合律、零元、负元;数乘的交换律、单位元;两个数乘与加法的结合律共八点要求,就可以构成一个线性向量空间

在向量空间中,我们可以用范数的概念来表示某点到空间零点的距离。将范数与距离比较可知,范数比距离多了一个数乘的运算的条件,是一个强化了的距离概念。范数与距离的关系可以类似理解为红富士苹果与苹果的关系。接下来对范数和距离进行扩展,就形成了范数的集合,线性赋范空间与距离的集合构成了线性度量空间。在已经定义的线性赋范空间上继续扩展,添加内积运算,在空间中增加角的概念,形成的线性赋范空间+内积运算,又叫内积空间;这个内积空间已经有了距离、长度、角度等,有限维的内积空间也就是我们熟悉的欧氏空间。如果再使得内积空间满足完备性,就形成了希尔伯特空间。其中完备性的意思就是空间中的极限运算不能跑出该空间,如有理数空间中8/3的运算结果是无理数,就不满足完备性。此外,赋范空间+完备性就可以扩展形成巴拿赫空间

以上空间均是在距离的概念上添加约束形成的,递增关系如下:距离内积,向量空间+范数,希尔伯特空间,内积空间+有限维,欧几里德空间,赋范空间+完备性,巴拿赫空间。顺便提以下,对距离进行弱化,保留距离的极限和连续概念,就形成拓扑空间的概念。这些空间很陌生、很抽象,但对做学术,发论文的确很有帮助哦。

第七节 同态、同构、同胚、同伦、同痕、同调

抽象代数上的一个群大致包含群元和群乘法两个要素。如果两个群的乘法可用一个满映射对应,并且此满映射保持群乘法不变,两个群称为同态。这两个群可以是不一样大的,如果以上的满映射还是一一对应的,此时两个群称为同构。它们大小相同,乘法一样,在数学上可视作等价。同胚是拓扑空间中的同构,它们是保持给定空间的所有拓扑性质的映射。如果两个空间之间存在同胚,那么从拓扑学的观点来看,两个空间是相同的。

同伦的概念在拓扑上描述了两个对象间的“连续变化”。如果两个拓扑空间可以通过一系列连续的形变从一个变到另一个,那么就称这两个拓扑空间同伦。在同伦变换下保持不变的性质,就称为同伦不变量。比如亏格(洞眼的个数),欧拉示性数等等。同伦是抽象的拓扑概念,最常见的所有道路同伦的路径构成一个等价类,称为同伦类。同痕是同伦的升级版,在纽结理论中格外重要。若两个结同痕,则我们视之相等。很显然,同伦是一种等价关系,所有不等价类构成一个群,称为第一同伦群(基本群)。同调是一个很深刻的数学方法,上同调是可以把很多大类无限维空间的之间的联系结构抽象为有限维空间,在物理上可以解释很多对称结构。广义不依赖于度量的Stokes公式是说流形上微分形式的外微分的积分,可以变成流形边界上的积分,这样就把外微分和取边界联系了起来,边界每取一次,维度下降,外微分每取一次,微分形式变高一阶。应用同调方法可以模拟出空心金属圈里面的电磁环流是个什么样的场。粗略的看,一个本身没有边界的流形(如圆),如果是一个更高维流形的边界,则两个流形同调。一截钢管,两个口子是圆,所以本身没有边界,但是它们又是钢管柱面的边界,因此属于同调类。

那么多的同X,全拜伽罗瓦先生创建的群论所赐。群论以群、环、域、格、模等结构研究代替计算,把从偏重计算的研究方式转变为用结构观念研究的思维方式。近世代数能够发现并解释很多物理现象和机器学习中蕴藏的深刻规律,还可以帮助我们开发出一些神奇的应用哦。

第八节 丘成桐讲几何的对称、映射与平移

古希腊的欧几里得将当时主要的平面定理组合以后发现,这些定理都可以由5个公理推出来。相信人工智能的研究也能重复这个做法,从现在复杂多样的网络中找到它最简单的公理。古希腊人只能用二次方程定义图形,一直到阿基米德,才开始用微积分的无限算法来积分面积和体积,同时也开始做射影几何的算法。微积分的出现使几何学进入了新纪元,微分几何也因此诞生。几何学在欧拉和高斯手上突飞猛进,变分方法和组合方法被大量地引入到几何学当中。

现代几何主要发源于黎曼在1854年的博士论文,他把几何图像看成一个抽象但是能够自足的空间,同时还认为离散空间也是一个很重要的空间。这个离散的空间包括了我们现在研究的图论,也可以用来研究宇宙万物可能产生的一切。几何学能够提供很多重要的想法,可以讲其影响是无所不在的。其中一个重要的概念叫做“对称”,包括从大范围对称到小范围对称,这个概念是在1820年到1890年间由几个重要的数学家发展出来的。另外在数学上有一个叫庞加莱对偶的概念,类似于阴阳,但要比阴阳具体很多。19世纪,Sophis Lee发展了李群,在现代物理中几乎没有一个学科可以离开李群的。另外根据《埃尔朗根纲领》,克莱因提出用“对称”来统治几何的重要原理,随后产生了很多重要的几何学,包括仿射几何、保角几何和投影几何等,这些计算都是从对称这个概念发展出来的。

“平行移动”的概念其实就是空间中一点和另外一点要有一个很好的比较的方法;计算机也好,图形学也好,在某一点上看到的事情要和其他点进行比较,比较的方法就叫平行移动。这也是一个很重要的概念。尽管现在在计算数学里面还没有大量的引进,但是在物理学界已经被大量地使用上了。期望这个概念以后也能在计算机里面大量地使用。

第九节 顾险峰讲计算共形几何

计算共形几何是将经典几何定理的概念和定理转化为计算机算法,用组合离散的方法给出其构造性证明。换言之,用计算机算法语言绕过传统的逻辑链条,从头构建经典的共形几何理论。由于包括经典复变函数论、曲面微分几何的所有方法在内的许多数学工具无法直接使用,用组合离散方法重建光滑流形上的几何结构还是有很多困难的。

计算共形几何的核心是共形结构,其概念在历史上只存在于职业数学家的脑海里面,因此大家都希望共形结构的计算机可视化算法被发明出来,以便能够直观地观察体验这一神奇的自然结构。共形结构的研究方法包括复分析,代数几何和微分几何。因为具有共形结构的曲面是黎曼面,我们采用微分几何的途径,通过黎曼度量来研究共形结构。度量曲面上共形结构的计算方法分为调和映照,全纯微分和Ricci曲率流三大类。可定向曲面上的黎曼度量天然地决定了一个共形结构,陈省身证明其决定方式可以由等温坐标给出,而等温坐标的存在性又由拟共形映射的存在性所保证。另外可测黎曼映照定理的证明可由辅助度量下的Ricci曲率流给出。由此,所有真实生活中的曲面都具有三维欧式空间所诱导的黎曼度量,具有天然的共形结构,因此保证了共形几何的普适性。怎么样,是不是很晕!

世界上所有三维曲面都可以通过共形变换转化为球面、欧式平面、双曲圆盘三种标准形状,这有利于硬件加速和算法处理。运用它在近期内有望解决计算Teichmuller映射对应的全纯二次微分;精准地表示曲面上所有的叶状结构构成的空间;找到曲面映射类的不变度量,不变叶状结构;在粗糙等距下,保持图的梯度估计。几何中许多问题的连续证明非常简单,但是离散证明却异常困难,反之亦然。如果能在连续和离散的范畴之间自由游走,自然就会领略到独特的风景。

第十节 最简共形结构黎曼度量与图像处理

在工程和医学中常用的有四种几何,其中拓扑对应的是拓扑同胚变换;黎曼几何对应的是保持黎曼度量不变的等距变换;曲面的微分几何对应的是欧氏空间中的刚体变换。拓扑变换太剧烈,保留的信息太少,即太"软",黎曼几何太"硬",没办法把弯曲的变成平的。共形几何软硬适中,特别适合研究解决曲面之间的映射、几何分类、形状分析这三类大的形变问题,而且这套理论已经从纯理论变成算法。复变函数适合研究解决平面之间的变换,但是曲面之间的变换就需要用到微分几何加上偏微分方程。

随着医学三维扫描技术的大范围应用,我们得到了大量的医学图像,但这些信息处理起来非常困难。比如针对一个动态的三维脸部曲面序列,如何求它们之间的微分同胚,自动精确地找到一一对应并分析表情的变换呢?这些问题都具有非常大的挑战性和实用性。随着GPU的出现和发展,一些以前非常困难的几何偏微分方程在个人电脑上就可以很容易地进行计算。总之,一方面由于三维数据的获得非常容易,另一方面由于计算能力的增加,催生了共形几何这个领域。我们知道所有曲面都是有黎曼度量的,有了黎曼度量之后就可以计算它们所对应的共同结构;比如判断两个曲面是否存在保角变换并把它算出来。如果给了我们想要的目标曲率,如何设计构造一个黎曼度量,和初始度量黎曼共形等价,并且实现这个目标曲率。如果给了两个拓扑同胚的曲面和映射的同伦类,如何找到唯一的映射,使得映射带来的几何畸变最小、物理上最自然。

实际上,如果能在固定曲面上找到最简单的共形结构黎曼度量,就能让很多计算问题得到大幅度简化。这些问题在共形几何中都有现成的解答,但需要先把实际问题看透,翻译成数学语言,然后把数学理论看透,翻译成计算机语言。

发布于 2019-03-12 09:55




https://m.sciencenet.cn/blog-40692-1315421.html

上一篇:[转载]同构,同胚,同伦,同调和不动点(2018.10.5)
下一篇:[转载]同构、同态、同痕、同调和同伦有何异同?

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2022-5-22 12:52

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部