感觉数学似乎总是不够的。这些日子为了解决
research
中的一些问题,又在图书馆捧起了数学的教科书。从大学到现在,课堂上学的和自学的数学其实不算少了,可是在研究的过程中总是发现需要补充新的数学知识。
Learning和Vision
都是很多种数学的交汇场。看着不同的理论体系的交汇,对于一个
researcher
来说,往往是非常
exciting
的
enjoyable
的事情。不过,这也代表着要充分了解这个领域并且取得有意义的进展是很艰苦的。
记得在两年前的一次
blog
里面,提到过和
learning
有关的数学。今天看来,我对于数学在这个领域的作用有了新的思考。
对于
Learning
的研究,
1
、
Linear Algebra (线性代数) 和 Statistics (统计学) 是最重要和不可缺少的。
这代表了
Machine Learning
中最主流的两大类方法的基础。一种是以
研究函数和变换
为重点的
代数方法
,比如
Dimension reduction,feature extraction,Kernel
等,一种是以
研究统计模型和样本分布
为重点的
统计方法
,比如
Graphical model, Information theoretical models
等。它们侧重虽有不同,但是常常是共同使用的,对于
代数方法,往往需要统计上的解释,对于统计模型,其具体计算则需要代数的帮助
。
以代数和统计为出发点,继续往深处走,我们会发现需要更多的数学。
2
、
Calculus (微积分),只是数学分析体系的基础。
其基础性作用不言而喻。
Learning
研究的大部分问题是在连续的度量空间进行的,无论代数还是统计,在研究优化问题的时候,对一个
映射的微分或者梯度的分析
总是不可避免。而在统计学中,
Marginalization和积分
更是密不可分
——
不过,以解析形式把积分导出来的情况则不多见。
3
、
Partial Differential Equation (偏微分方程),
这主要用于描述动态过程,或者仿动态过程。这个学科在
Vision
中用得比
Learning
多,主要用于描述连续场的运动或者扩散过程。比如
Level set, Optical flow
都是这方面的典型例子。
4
、
Functional Analysis (泛函分析),
通俗地,可以理解为
微积分从有限维空间到无限维空间的拓展
——
当然了,它实际上远不止于此。在这个地方,函数以及其所作用的对象之间存在的对偶关系扮演了非常重要的角色。
Learning
发展至今,也在向无限维延伸
——
从研究
有限维向量
的问题到
以无限维的函数
为研究对象。
Kernel Learning
和
Gaussian Process
是其中典型的例子
——
其中的核心概念都是
Kernel
。很多做
Learning
的人把
Kernel
简单理解为
Kernel trick
的运用,这就把
kernel
的意义严重弱化了。在
泛函
里面,
Kernel (Inner Product)
是建立整个博大的代数体系的根本,从
metric, transform
到
spectrum
都根源于此。
5
、
Measure Theory (测度理论),
这是和实分析关系非常密切的学科。但是测度理论并不限于此。从某种意义上说,
Real Analysis
可以从
Lebesgue Measure(勒贝格测度)
推演,不过其实还有很多别的测度体系
——
概率本身就是一种测度
。测度理论对于
Learning
的意义是根本的,
现代统计学整个就是建立在测度理论的基础之上
——
虽然初级的概率论教科书一般不这样引入。在看一些统计方面的文章的时候,你可能会发现,它们会把统计的公式改用测度来表达,这样做有两个好处:所有的推导和结论不用分别给连续分布和离散分布各自写一遍了,这两种东西都可以用同一的测度形式表达:
连续分布的积分基于Lebesgue测度
,
离散分布的求和基于计数测度
,而且还能推广到那种既不连续又不离散的分布中去(这种东西不是数学家的游戏,而是已经在实用的东西,在
Dirchlet Process
或者
Pitman-Yor Process
里面会经常看到
)
。而且,即使是连续积分,如果不是在欧氏空间进行,而是在更一般的拓扑空间(比如微分流形或者变换群),那么传统的黎曼积分(就是大学一年级在微积分课学的那种)就不
work
了,你可能需要它们的一些推广,比如
Haar Measure
或者
Lebesgue-Stieltjes
积分
。
6
、
Topology(拓扑学),
这是学术中很基础的学科。它一般不直接提供方法,但是它的很多概念和定理是其它数学分支的基石。看很多别的数学的时候,你会经常接触这样一些概念:
Open set / Closed set,set basis,Hausdauf, continuous function,metric space, Cauchy sequence, neighborhood, compactness, connectivity
。很多这些也许在大学一年级就学习过一些,当时是基于极限的概念获得的。如果,看过拓扑学之后,对这些概念的认识会有根本性的拓展。比如,连续函数,当时是由
epison
法定义的,就是无论取多小的正数
epsilon
,都存在
xxx
,使得
xxx
。这是需要一种
metric
去度量距离的,在
general topology
里面,对于连续函数的定义连坐标和距离都不需要
——
如果
一个映射使得开集的原像是开集
,它就是
连续
的
——
至于开集是基于集合论定义的,不是通常的
开区间
的意思。这只是最简单的例子。当然,我们研究
learning
也许不需要深究这些数学概念背后的公理体系,但是,打破原来定义的概念的局限在很多问题上是必须的
——
尤其是当你研究的东西它不是在欧氏空间里面的时候
——
正交矩阵,变换群,流形,概率分布的空间
,都属于此。
7
、
Differential Manifold (微分流形),
通俗地说它研究的是平滑的曲面。一个直接的印象是它是不是可以用来
fitting
一个
surface
什么的
——
当然这算是一种应用,但是这是非常初步的。
本质上说
,微分流形研究的是
平滑的拓扑结构
。一个空间构成微分流形的基本要素是
局部平滑
:从拓扑学来理解,就是它的
任意局部都同胚于欧氏空间
,从解析的角度来看,就是
相容的局部坐标系统
。当然,在全局上,它不要求和欧氏空间同胚。它除了可以用于刻画集合上的平滑曲面外,更重要的意义在于,它可以用于研究很多重要的集合。一个
n-
维线性空间的全部
k-
维子空间
(k
8
、
Lie Group Theory (李群论),
一般意义的群论在
Learning
中被运用的不是很多,群论在
Learning
中用得较多的是它的一个重要方向
Lie group
。定义在平滑流形上的群,并且其群运算是平滑的话,那么这就叫李群。因为
Learning
和编码不同,更多关注的是连续空间,因为
Lie group
在各种群中对于
Learning
特别重要。各种子空间,线性变换,非奇异矩阵都基于通常意义的矩阵乘法构成李群。在李群中的映射,变换,度量,划分等等都对于
Learning
中代数方法的研究有重要指导意义。
9
、
Graph Theory(图论),
图,由于它在表述各种关系的强大能力以及优雅的理论,高效的算法,越来越受到
Learning
领域的欢迎。经典图论,在
Learning
中的一个最重要应用就是
graphical models
了,它被成功运用于分析统计网络的结构和规划统计推断的流程。
Graphical model
所取得的成功,图论可谓功不可没。在
Vision
里面,
maxflow (graphcut)
算法在图像分割,
Stereo
还有各种能量优化中也广受应用。另外一个重要的图论分支就是
Algebraic graph theory (
代数图论
)
,主要运用于图的谱分析,著名的应用包括
Normalized Cut
和
Spectral Clustering
。近年来在
semi-supervised learning
中受到特别关注。
这是大牛们做的很好的综述啊!
作者:Dahua,据说是
MIT
一牛人对数学在机器学习中的作用给的评述
!