﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-bneliao-文章分类-math</title><link>http://www.cppblog.com/bneliao/category/8199.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 09 Mar 2009 16:44:33 GMT</lastBuildDate><pubDate>Mon, 09 Mar 2009 16:44:33 GMT</pubDate><ttl>60</ttl><item><title>在数学的海洋中飘荡zz</title><link>http://www.cppblog.com/bneliao/articles/75943.html</link><dc:creator>bneliao</dc:creator><author>bneliao</author><pubDate>Sun, 08 Mar 2009 16:00:00 GMT</pubDate><guid>http://www.cppblog.com/bneliao/articles/75943.html</guid><wfw:comment>http://www.cppblog.com/bneliao/comments/75943.html</wfw:comment><comments>http://www.cppblog.com/bneliao/articles/75943.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bneliao/comments/commentRss/75943.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bneliao/services/trackbacks/75943.html</trackback:ping><description><![CDATA[在数学的海洋中飘荡<br>http://dahuasky.spaces.live.com/blog/cns!1AB3BC993DB84FD7!305.entry<br><br>在过去的一年中，我一直在数学的海洋中游荡，research进展不多，对于数学世界的阅历算是有了一些长进。<br>为什么要深入数学的世界<br><br>作为计算机的学生，我没有任何企图要成为一个数学家。我学习数学的目的，是要想爬上巨人的肩膀，希望站在更高的高度，能把我自己研究的东西看得更深广一些。说起来，我在刚来这个学校的时候，并没有预料到我将会有一个深入数学的旅程。我的导师最初希望我去做的题目，是对appearance和motion建立一个unified的model。这个题目在当今Computer Vision中百花齐放的世界中并没有任何特别的地方。事实上，使用各种Graphical Model把各种东西联合在一起framework，在近年的论文中并不少见。<br><br>我不否认现在广泛流行的Graphical Model是对复杂现象建模的有力工具，但是，我认为它不是panacea，并不能取代对于所研究的问题的深入的钻研。如果统计学习包治百病，那么很多&#8220; 下游&#8221;的学科也就没有存在的必要了。事实上，开始的时候，我也是和Vision中很多人一样，想着去做一个Graphical Model——我的导师指出，这样的做法只是重复一些标准的流程，并没有很大的价值。经过很长时间的反复，另外一个路径慢慢被确立下来——我们相信，一个图像是通过大量&#8220;原子&#8221;的某种空间分布构成的，原子群的运动形成了动态的可视过程。微观意义下的单个原子运动，和宏观意义下的整体分布的变换存在着深刻的联系——这需要我们去发掘。<br><br>在深入探索这个题目的过程中，遇到了很多很多的问题，如何描述一个一般的运动过程，如何建立一个稳定并且广泛适用的原子表达，如何刻画微观运动和宏观分布变换的联系，还有很多。在这个过程中，我发现了两个事情：<br><br>&nbsp;&nbsp;&nbsp; * 我原有的数学基础已经远远不能适应我对这些问题的深入研究。<br>&nbsp;&nbsp;&nbsp; * 在数学中，有很多思想和工具，是非常适合解决这些问题的，只是没有被很多的应用科学的研究者重视。<br><br>于是，我决心开始深入数学这个浩瀚大海，希望在我再次走出来的时候，我已经有了更强大的武器去面对这些问题的挑战。<br><br>我的游历并没有结束，我的视野相比于这个博大精深的世界的依旧显得非常狭窄。在这里，我只是说说，在我的眼中，数学如何一步步从初级向高级发展，更高级别的数学对于具体应用究竟有何好处。<br><br>&nbsp;<br>集合论：现代数学的共同基础<br><br>现代数学有数不清的分支，但是，它们都有一个共同的基础——集合论——因为它，数学这个庞大的家族有个共同的语言。集合论中有一些最基本的概念：集合 (set)，关系(relation)，函数(function)，等价(equivalence)，是在其它数学分支的语言中几乎必然存在的。对于这些简单概念的理解，是进一步学些别的数学的基础。我相信，理工科大学生对于这些都不会陌生。<br><br>不过，有一个很重要的东西就不见得那么家喻户晓了——那就是&#8220;选择公理&#8221;(Axiom of Choice)。这个公理的意思是&#8220;任意的一群非空集合，一定可以从每个集合中各拿出一个元素。&#8221;——似乎是显然得不能再显然的命题。不过，这个貌似平常的公理却能演绎出一些比较奇怪的结论，比如巴拿赫-塔斯基分球定理——&#8220;一个球，能分成五个部分，对它们进行一系列刚性变换（平移旋转）后，能组合成两个一样大小的球&#8221;。正因为这些完全有悖常识的结论，导致数学界曾经在相当长时间里对于是否接受它有着激烈争论。现在，主流数学家对于它应该是基本接受的，因为很多数学分支的重要定理都依赖于它。在我们后面要回说到的学科里面，下面的定理依赖于选择公理：<br><br>&nbsp;&nbsp; 1. 拓扑学：Baire Category Theorem<br>&nbsp;&nbsp; 2. 实分析（测度理论）：Lebesgue 不可测集的存在性<br>&nbsp;&nbsp; 3. 泛函分析四个主要定理：Hahn-Banach Extension Theorem, Banach-Steinhaus Theorem (Uniform boundedness principle), Open Mapping Theorem, Closed Graph Theorem<br><br>在集合论的基础上，现代数学有两大家族：分析(Analysis)和代数(Algebra)。至于其它的，比如几何和概率论，在古典数学时代，它们是和代数并列的，但是它们的现代版本则基本是建立在分析或者代数的基础上，因此从现代意义说，它们和分析与代数并不是平行的关系。<br>&nbsp;<br>分析：在极限基础上建立的宏伟大厦<br>微积分：分析的古典时代——从牛顿到柯西<br><br>先说说分析(Analysis)吧，它是从微积分(Caculus)发展起来的——这也是有些微积分教材名字叫&#8220;数学分析&#8221;的原因。不过，分析的范畴远不只是这些，我们在大学一年级学习的微积分只能算是对古典分析的入门。分析研究的对象很多，包括导数(derivatives)，积分(integral)，微分方程(differential equation)，还有级数(infinite series)——这些基本的概念，在初等的微积分里面都有介绍。如果说有一个思想贯穿其中，那就是极限——这是整个分析（不仅仅是微积分）的灵魂。<br><br>一个很多人都听说过的故事，就是牛顿(Newton)和莱布尼茨(Leibniz)关于微积分发明权的争论。事实上，在他们的时代，很多微积分的工具开始运用在科学和工程之中，但是，微积分的基础并没有真正建立。那个长时间一直解释不清楚的&#8220;无穷小量&#8221;的幽灵，困扰了数学界一百多年的时间——这就是&#8220;第二次数学危机&#8221;。直到柯西用数列极限的观点重新建立了微积分的基本概念，这门学科才开始有了一个比较坚实的基础。直到今天，整个分析的大厦还是建立在极限的基石之上。<br><br>柯西(Cauchy)为分析的发展提供了一种严密的语言，但是他并没有解决微积分的全部问题。在19世纪的时候，分析的世界仍然有着一些挥之不去的乌云。而其中最重要的一个没有解决的是&#8220;函数是否可积的问题&#8221;。我们在现在的微积分课本中学到的那种通过&#8220;无限分割区间，取矩阵面积和的极限&#8221;的积分，是大约在1850年由黎曼(Riemann)提出的，叫做黎曼积分。但是，什么函数存在黎曼积分呢（黎曼可积）？数学家们很早就证明了，定义在闭区间内的连续函数是黎曼可积的。可是，这样的结果并不令人满意，工程师们需要对分段连续函数的函数积分。<br>实分析：在实数理论和测度理论上建立起现代分析<br><br>在 19世纪中后期，不连续函数的可积性问题一直是分析的重要课题。对于定义在闭区间上的黎曼积分的研究发现，可积性的关键在于&#8220;不连续的点足够少&#8221;。只有有限处不连续的函数是可积的，可是很多有数学家们构造出很多在无限处不连续的可积函数。显然，在衡量点集大小的时候，有限和无限并不是一种合适的标准。在探讨&#8220;点集大小&#8221;这个问题的过程中，数学家发现实数轴——这个他们曾经以为已经充分理解的东西——有着许多他们没有想到的特性。在极限思想的支持下，实数理论在这个时候被建立起来，它的标志是对实数完备性进行刻画的几条等价的定理（确界定理，区间套定理，柯西收敛定理，Bolzano- Weierstrass Theorem和Heine-Borel Theorem等等）——这些定理明确表达出实数和有理数的根本区别：完备性（很不严格的说，就是对极限运算封闭）。随着对实数认识的深入，如何测量&#8220;点集大小&#8221;的问题也取得了突破，勒贝格创造性地把关于集合的代数，和Outer content（就是&#8220;外测度&#8221;的一个雏形）的概念结合起来，建立了测度理论(Measure Theory)，并且进一步建立了以测度为基础的积分——勒贝格(Lebesgue Integral)。在这个新的积分概念的支持下，可积性问题变得一目了然。<br><br>上面说到的实数理论，测度理论和勒贝格积分，构成了我们现在称为实分析(Real Analysis)的数学分支，有些书也叫实变函数论。对于应用科学来说，实分析似乎没有古典微积分那么&#8220;实用&#8221;——很难直接基于它得到什么算法。而且，它要解决的某些&#8220;难题&#8221;——比如处处不连续的函数，或者处处连续而处处不可微的函数——在工程师的眼中，并不现实。但是，我认为，它并不是一种纯数学概念游戏，它的现实意义在于为许多现代的应用数学分支提供坚实的基础。下面，我仅仅列举几条它的用处：<br><br>&nbsp;&nbsp; 1. 黎曼可积的函数空间不是完备的，但是勒贝格可积的函数空间是完备的。简单的说，一个黎曼可积的函数列收敛到的那个函数不一定是黎曼可积的，但是勒贝格可积的函数列必定收敛到一个勒贝格可积的函数。在泛函分析，还有逼近理论中，经常需要讨论&#8220;函数的极限&#8221;，或者&#8220;函数的级数&#8221;，如果用黎曼积分的概念，这种讨论几乎不可想像。我们有时看一些paper中提到Lp函数空间，就是基于勒贝格积分。<br>&nbsp;&nbsp; 2. 勒贝格积分是傅立叶变换（这东西在工程中到处都是）的基础。很多关于信号处理的初等教材，可能绕过了勒贝格积分，直接讲点面对实用的东西而不谈它的数学基础，但是，对于深层次的研究问题——特别是希望在理论中能做一些工作——这并不是总能绕过去。<br>&nbsp;&nbsp; 3. 在下面，我们还会看到，测度理论是现代概率论的基础。<br><br>拓扑学：分析从实数轴推广到一般空间——现代分析的抽象基础<br><br>随着实数理论的建立，大家开始把极限和连续推广到更一般的地方的分析。事实上，很多基于实数的概念和定理并不是实数特有的。很多特性可以抽象出来，推广到更一般的空间里面。对于实数轴的推广，促成了点集拓扑学(Point-set Topology)的建立。很多原来只存在于实数中的概念，被提取出来，进行一般性的讨论。在拓扑学里面，有4个C构成了它的核心：<br><br>&nbsp;&nbsp; 1. Closed set（闭集合）。在现代的拓扑学的公理化体系中，开集和闭集是最基本的概念。一切从此引申。这两个概念是开区间和闭区间的推广，它们的根本地位，并不是一开始就被认识到的。经过相当长的时间，人们才认识到：开集的概念是连续性的基础，而闭集对极限运算封闭——而极限正是分析的根基。<br>&nbsp;&nbsp; 2. Continuous function （连续函数）。连续函数在微积分里面有个用epsilon-delta语言给出的定义，在拓扑学中它的定义是&#8220;开集的原像是开集的函数&#8221;。第二个定义和第一个是等价的，只是用更抽象的语言进行了改写。我个人认为，它的第三个（等价）定义才从根本上揭示连续函数的本质——&#8220;连续函数是保持极限运算的函数&#8221; ——比如y是数列x1, x2, x3, &#8230; 的极限， 那么如果 f 是连续函数，那么 f(y) 就是 f(x1), f(x2), f(x3), &#8230;的极限。连续函数的重要性，可以从别的分支学科中进行类比。比如群论中，基础的运算是&#8220;乘法&#8221;，对于群，最重要的映射叫&#8220;同态映射&#8221;——保持&#8220;乘法&#8221;的映射。在分析中，基础运算是&#8220;极限&#8221;，因此连续函数在分析中的地位，和同态映射在代数中的地位是相当的。<br>&nbsp;&nbsp; 3. Connected set （连通集合）。比它略为窄一点的概念叫(Path connected)，就是集合中任意两点都存在连续路径相连——可能是一般人理解的概念。一般意义下的连通概念稍微抽象一些。在我看来，连通性有两个重要的用场：一个是用于证明一般的中值定理(Intermediate Value Theorem)，还有就是代数拓扑，拓扑群论和李群论中讨论根本群(Fundamental Group)的阶。<br>&nbsp;&nbsp; 4. Compact set（紧集）。Compactness似乎在初等微积分里面没有专门出现，不过有几条实数上的定理和它其实是有关系的。比如，&#8220;有界数列必然存在收敛子列&#8221;——用compactness的语言来说就是——&#8220;实数空间中有界闭集是紧的&#8221;。它在拓扑学中的一般定义是一个听上去比较抽象的东西——&#8220;紧集的任意开覆盖存在有限子覆盖&#8221;。这个定义在讨论拓扑学的定理时很方便，它在很多时候能帮助实现从无限到有限的转换。对于分析来说，用得更多的是它的另一种形式 ——&#8220;紧集中的数列必存在收敛子列&#8221;——它体现了分析中最重要的&#8220;极限&#8221;。Compactness在现代分析中运用极广，无法尽述。微积分中的两个重要定理：极值定理(Extreme Value Theory)，和一致收敛定理(Uniform Convergence Theorem)就可以借助它推广到一般的形式。<br><br>从某种意义上说，点集拓扑学可以看成是关于&#8220;极限&#8221;的一般理论，它抽象于实数理论，它的概念成为几乎所有现代分析学科的通用语言，也是整个现代分析的根基所在。<br>微分几何：流形上的分析——在拓扑空间上引入微分结构<br><br>拓扑学把极限的概念推广到一般的拓扑空间，但这不是故事的结束，而仅仅是开始。在微积分里面，极限之后我们有微分，求导，积分。这些东西也可以推广到拓扑空间，在拓扑学的基础上建立起来——这就是微分几何。从教学上说，微分几何的教材，有两种不同的类型，一种是建立在古典微机分的基础上的&#8220;古典微分几何&#8221;，主要是关于二维和三维空间中的一些几何量的计算，比如曲率。还有一种是建立在现代拓扑学的基础上，这里姑且称为&#8220;现代微分几何&#8221;——它的核心概念就是&#8220;流形&#8221;(manifold)——就是在拓扑空间的基础上加了一套可以进行微分运算的结构。现代微分几何是一门非常丰富的学科。比如一般流形上的微分的定义就比传统的微分丰富，我自己就见过三种从不同角度给出的等价定义——这一方面让事情变得复杂一些，但是另外一个方面它给了同一个概念的不同理解，往往在解决问题时会引出不同的思路。除了推广微积分的概念以外，还引入了很多新概念：tangent space, cotangent space, push forward, pull back, fibre bundle, flow, immersion, submersion 等等。<br><br>近些年，流形在machine learning似乎相当时髦。但是，坦率地说，要弄懂一些基本的流形算法，甚至&#8220;创造&#8221;一些流形算法，并不需要多少微分几何的基础。对我的研究来说，微分几何最重要的应用就是建立在它之上的另外一个分支：李群和李代数——这是数学中两大家族分析和代数的一个漂亮的联姻。分析和代数的另外一处重要的结合则是泛函分析，以及在其基础上的调和分析。<br><br>&nbsp;<br>代数：一个抽象的世界<br>关于抽象代数<br><br>回过头来，再说说另一个大家族——代数。<br><br>如果说古典微积分是分析的入门，那么现代代数的入门点则是两个部分：线性代数(linear algebra)和基础的抽象代数(abstract algebra)——据说国内一些教材称之为近世代数。<br><br>代数——名称上研究的似乎是数，在我看来，主要研究的是运算规则。一门代数，其实都是从某种具体的运算体系中抽象出一些基本规则，建立一个公理体系，然后在这基础上进行研究。一个集合再加上一套运算规则，就构成一个代数结构。在主要的代数结构中，最简单的是群(Group)——它只有一种符合结合率的可逆运算，通常叫&#8220;乘法&#8221;。如果，这种运算也符合交换率，那么就叫阿贝尔群(Abelian Group)。如果有两种运算，一种叫加法，满足交换率和结合率，一种叫乘法，满足结合率，它们之间满足分配率，这种丰富一点的结构叫做环(Ring)，如果环上的乘法满足交换率，就叫可交换环(Commutative Ring)。如果，一个环的加法和乘法具有了所有的良好性质，那么就成为一个域(Field)。基于域，我们可以建立一种新的结构，能进行加法和数乘，就构成了线性代数(Linear algebra)。<br><br>代数的好处在于，它只关心运算规则的演绎，而不管参与运算的对象。只要定义恰当，完全可以让一只猫乘一只狗得到一头猪:-)。基于抽象运算规则得到的所有定理完全可以运用于上面说的猫狗乘法。当然，在实际运用中，我们还是希望用它干点有意义的事情。学过抽象代数的都知道，基于几条最简单的规则，比如结合律，就能导出非常多的重要结论——这些结论可以应用到一切满足这些简单规则的地方—— 这是代数的威力所在，我们不再需要为每一个具体领域重新建立这么多的定理。<br><br>抽象代数有在一些基础定理的基础上，进一步的研究往往分为两个流派：研究有限的离散代数结构（比如有限群和有限域），这部分内容通常用于数论，编码，和整数方程这些地方；另外一个流派是研究连续的代数结构，通常和拓扑与分析联系在一起（比如拓扑群，李群）。我在学习中的focus主要是后者。<br>线性代数：&#8220;线性&#8221;的基础地位<br><br>对于做Learning, vision, optimization或者statistics的人来说，接触最多的莫过于线性代数——这也是我们在大学低年级就开始学习的。线性代数，包括建立在它基础上的各种学科，最核心的两个概念是向量空间和线性变换。线性变换在线性代数中的地位，和连续函数在分析中的地位，或者同态映射在群论中的地位是一样的 ——它是保持基础运算（加法和数乘）的映射。<br><br>在learning中有这样的一种倾向——鄙视线性算法，标榜非线性。也许在很多场合下面，我们需要非线性来描述复杂的现实世界，但是无论什么时候，线性都是具有根本地位的。没有线性的基础，就不可能存在所谓的非线性推广。我们常用的非线性化的方法包括流形和kernelization，这两者都需要在某个阶段回归线性。流形需要在每个局部建立和线性空间的映射，通过把许多局部线性空间连接起来形成非线性；而kernerlization则是通过置换内积结构把原线性空间&#8220;非线性&#8221;地映射到另外一个线性空间，再进行线性空间中所能进行的操作。而在分析领域，线性的运算更是无处不在，微分，积分，傅立叶变换，拉普拉斯变换，还有统计中的均值，通通都是线性的。<br>泛函分析：从有限维向无限维迈进<br><br>在大学中学习的线性代数，它的简单主要因为它是在有限维空间进行的，因为有限，我们无须借助于太多的分析手段。但是，有限维空间并不能有效地表达我们的世界 ——最重要的，函数构成了线性空间，可是它是无限维的。对函数进行的最重要的运算都在无限维空间进行，比如傅立叶变换和小波分析。这表明了，为了研究函数（或者说连续信号），我们需要打破有限维空间的束缚，走入无限维的函数空间——这里面的第一步，就是泛函分析。<br><br>泛函分析 (Functional Analysis)是研究的是一般的线性空间，包括有限维和无限维，但是很多东西在有限维下显得很trivial，真正的困难往往在无限维的时候出现。在泛函分析中，空间中的元素还是叫向量，但是线性变换通常会叫作&#8220;算子&#8221;(operator)。除了加法和数乘，这里进一步加入了一些运算，比如加入范数去表达&#8220;向量的长度&#8221;或者&#8220;元素的距离&#8221;，这样的空间叫做&#8220;赋范线性空间&#8221;(normed space)，再进一步的，可以加入内积运算，这样的空间叫&#8220;内积空间&#8221;(Inner product space)。<br><br>大家发现，当进入无限维的时间时，很多老的观念不再适用了，一切都需要重新审视。<br><br>&nbsp;&nbsp; 1. 所有的有限维空间都是完备的（柯西序列收敛），很多无限维空间却是不完备的（比如闭区间上的连续函数）。在这里，完备的空间有特殊的名称：完备的赋范空间叫巴拿赫空间(Banach space)，完备的内积空间叫希尔伯特空间(Hilbert space)。<br>&nbsp;&nbsp; 2. 在有限维空间中空间和它的对偶空间的是完全同构的，而在无限维空间中，它们存在微妙的差别。<br>&nbsp;&nbsp; 3. 在有限维空间中，所有线性变换（矩阵）都是有界变换，而在无限维，很多算子是无界的(unbounded)，最重要的一个例子是给函数求导。<br>&nbsp;&nbsp; 4. 在有限维空间中，一切有界闭集都是紧的，比如单位球。而在所有的无限维空间中，单位球都不是紧的——也就是说，可以在单位球内撒入无限个点，而不出现一个极限点。<br>&nbsp;&nbsp; 5. 在有限维空间中，线性变换（矩阵）的谱相当于全部的特征值，在无限维空间中，算子的谱的结构比这个复杂得多，除了特征值组成的点谱(point spectrum)，还有approximate point spectrum和residual spectrum。虽然复杂，但是，也更为有趣。由此形成了一个相当丰富的分支——算子谱论(Spectrum theory)。<br>&nbsp;&nbsp; 6. 在有限维空间中，任何一点对任何一个子空间总存在投影，而在无限维空间中，这就不一定了，具有这种良好特性的子空间有个专门的名称切比雪夫空间 (Chebyshev space)。这个概念是现代逼近理论的基础(approximation theory)。函数空间的逼近理论在Learning中应该有着非常重要的作用，但是现在看到的运用现代逼近理论的文章并不多。<br><br>继续往前：巴拿赫代数，调和分析，和李代数<br><br>基本的泛函分析继续往前走，有两个重要的方向。第一个是巴拿赫代数(Banach Algebra)，它就是在巴拿赫空间（完备的内积空间）的基础上引入乘法（这不同于数乘）。比如矩阵——它除了加法和数乘，还能做乘法——这就构成了一个巴拿赫代数。除此以外，值域完备的有界算子，平方可积函数，都能构成巴拿赫代数。巴拿赫代数是泛函分析的抽象，很多对于有界算子导出的结论，还有算子谱论中的许多定理，它们不仅仅对算子适用，它们其实可以从一般的巴拿赫代数中得到，并且应用在算子以外的地方。巴拿赫代数让你站在更高的高度看待泛函分析中的结论，但是，我对它在实际问题中能比泛函分析能多带来什么东西还有待思考。<br><br>最能把泛函分析和实际问题在一起的另一个重要方向是调和分析(Harmonic Analysis)。我在这里列举它的两个个子领域，傅立叶分析和小波分析，我想这已经能说明它的实际价值。它研究的最核心的问题就是怎么用基函数去逼近和构造一个函数。它研究的是函数空间的问题，不可避免的必须以泛函分析为基础。除了傅立叶和小波，调和分析还研究一些很有用的函数空间，比如Hardy space，Sobolev space，这些空间有很多很好的性质，在工程中和物理学中都有很重要的应用。对于vision来说，调和分析在信号的表达，图像的构造，都是非常有用的工具。<br><br>当分析和线性代数走在一起，产生了泛函分析和调和分析；当分析和群论走在一起，我们就有了李群(Lie Group)和李代数(Lie Algebra)。它们给连续群上的元素赋予了代数结构。我一直认为这是一门非常漂亮的数学：在一个体系中，拓扑，微分和代数走到了一起。在一定条件下，通过李群和李代数的联系，它让几何变换的结合变成了线性运算，让子群化为线性子空间，这样就为Learning中许多重要的模型和算法的引入到对几何运动的建模创造了必要的条件。因此，我们相信李群和李代数对于vision有着重要意义，只不过学习它的道路可能会很艰辛，在它之前需要学习很多别的数学。<br><br>&nbsp;<br>现代概率论：在现代分析基础上再生　<br><br>最后，再简单说说很多Learning的研究者特别关心的数学分支：概率论。自从Kolmogorov在上世纪30年代把测度引入概率论以来，测度理论就成为现代概率论的基础。在这里，概率定义为测度，随机变量定义为可测函数，条件随机变量定义为可测函数在某个函数空间的投影，均值则是可测函数对于概率测度的积分。值得注意的是，很多的现代观点，开始以泛函分析的思路看待概率论的基础概念，随机变量构成了一个向量空间，而带符号概率测度则构成了它的对偶空间，其中一方施加于对方就形成均值。角度虽然不一样，不过这两种方式殊途同归，形成的基础是等价的。<br><br>在现代概率论的基础上，许多传统的分支得到了极大丰富，最有代表性的包括鞅论(Martingale)——由研究赌博引发的理论，现在主要用于金融（这里可以看出赌博和金融的理论联系，:-P），布朗运动(Brownian Motion)——连续随机过程的基础，以及在此基础上建立的随机分析(Stochastic Calculus)，包括随机积分（对随机过程的路径进行积分，其中比较有代表性的叫伊藤积分(Ito Integral)），和随机微分方程。对于连续几何运用建立概率模型以及对分布的变换的研究离不开这些方面的知识。<br><br>&nbsp;<br><br>终于写完了——也谢谢你把这么长的文章看完，希望其中的一些内容对你是有帮助的。 <br><img src ="http://www.cppblog.com/bneliao/aggbug/75943.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bneliao/" target="_blank">bneliao</a> 2009-03-09 00:00 <a href="http://www.cppblog.com/bneliao/articles/75943.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>zz二十世纪的数学 Michael Atiyah</title><link>http://www.cppblog.com/bneliao/articles/61264.html</link><dc:creator>bneliao</dc:creator><author>bneliao</author><pubDate>Sun, 07 Sep 2008 15:07:00 GMT</pubDate><guid>http://www.cppblog.com/bneliao/articles/61264.html</guid><wfw:comment>http://www.cppblog.com/bneliao/comments/61264.html</wfw:comment><comments>http://www.cppblog.com/bneliao/articles/61264.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bneliao/comments/commentRss/61264.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bneliao/services/trackbacks/61264.html</trackback:ping><description><![CDATA[http://jiayi666666.blog.163.com/blog/static/1384481520087761228975/
<br><span style="font-size: 14pt;"></span><span style="font-size: 12pt;">二十世纪的数学 Michael Atiyah
</span><br><br>谢谢邀请我来这里参加这个活动．当然，如果有人想谈论一个世纪的终结以及下一个世纪的开始，那么他有两个具有相当难度的选择：一个是回顾过去百年的数学；另一个是对未来百年数学发展的预测，我选择了前面这个比较困难的任务，任何人都可以预测未来而且我们并不能判定是对还是错．然而对过去的任何评述，每个人都可以提出异议．<br><br>　我在这里所讲的是我个人的观点．这个报告不可能包含所有内容，特别是，有一些重要的内容我不准备涉及，一部分是因为我不是那些方面的专家，一部分也是出于它们已经在其他地方被评述过了.例如，我不会去谈论那些发生在逻辑与计算领域内的著名事件，这些事件往往是与像Hilbert，Godel，Turing 这些伟大的名字相关的，除了数学在基础物理中的应用之外，我也不会谈论太多数学的其他应用，这是因为数学的应用太广泛了，而且这需要专门的论述．每一个方面都需要一个专门的报告．也许大家在这次会议的其他报告中会听到很多关于这些内容的演讲．另外，试着罗列一些定理，甚至是列出在过去一百年的著名数学家的名字也是毫无意义的，那简直是在做枯燥的练习．所以，代替它们的是，我试着选择一些我认为在很多方面都是很重要的主题来讨论并且强调围绕这些主题所发生的事情．<br><br>　　<br>　　首先我有一个一般性的说明．世纪是一个大约的数字概念．我们不会真地认为在过整整一百年的时候，有些事情会突然停下来，再重新开始，所以当我描述二十世纪的数学时，有些内容实际上可能是跨世纪的，如果某件事件发生在十九世纪九十年代，并持续到二十世纪初，我将不去计较这种时间方面的细节．我所做的就象一个天文学家，工作在一个近似的数字环境中．实际上，许多东西始于十九世纪，只不过在二十世纪才硕果累累．<br><br>　　<br><br>　　这个报告的难点之一是很难把我们自己放回到1900年时作为一位数学家的位置上，这是因为上个世纪的数学有非常多的内容已经被我们的文化和我们自己吸收掉了．难以想象人们不用我们的术语来思考的那个时代是什么样子的．实际上，如果现在有人在数学上有一个真正重要的发现，其后他也一定会与之一起被忽略掉了！他会完全地被融入到背景之中，于是为了能够回顾过去，我们必须努力去想象在不同时代，人们用不同方式思考问题时的情景．<br><br><br><br>　　 从局部到整体<br><br>　　<br><br>　　作为开始，我准备列一些主题并且围绕它们来讨论．我谈论的第一个主题概括地讲，就是被大家称为从局部到整体的转变．在古典时期，人们大体上已经研究了在小范围内，使用局部坐标等等来研究事物．在这个世纪，重点已经转移到试图了解事物整体和大范围的性质．由于整体性质更加难以研究，所以大多只能有定性的结果，这时拓扑的思想就变得非常重要了．正是Poincar&#233;，他不仅为拓扑学发展作出先驱性的贡献，而且也预言拓扑学将成为二十世纪数学的一个重要的组成部分，顺便让我提一下，给出一系列著名问题的Hilbert并没有意识到这一点．拓扑学很难在他的那些问题中找到具体体现．但是对Poincar&#233;而言，他相当清楚地看出拓扑学将成为一个重要的内容．<br><br>　　<br><br>　　让我试着列一些领域，然后大家就能知道我在想什么了．例如，考虑一下复分析（也被称为&#8220;函数论&#8221;），这在十九世纪是数学的中心，也是象 Weierstrass这样伟大人物工作的中心．对于他们而言，一个函数就是一个复变量的函数;对于Weierstrass而言，一个函数就是一个幂级数．它们是一些可以用于写下来，并且可以明确描绘的东西或者是一些公式．函数是一些公式:它们是明确可以用显式写下来的．然而接下来 Abe1，Riemann和其后许多人的工作使我们远离了这些，以至于函数变得可以不用明确的公式来定义，而更多地是通过它们的整体性质来定义：通过它们的奇异点的分布，通过它们的定义域位置，通过它们取值范围．这些整体性质正是一个特定函数与众不同的特性．局部展开只是看待它们的一种方式．<br><br>　　<br><br>　　一个类似的事情发生在微分方程中，最初，解一个微分方程，人们需要寻找一个明确的局部解！是一些可以写下来的东西．随着事物的发展，解不必是一个显函数，人们不一定必须用好的公式来描述它们．解的奇异性是真正决定其整体性质的东西．与发生在复分析中的一切相比，这种精神是多么的类似，只不过在细节上有些不同罢了．<br><br>　　<br><br>　　在微分几何中，Gauss和其他人的经典工作描述了小片的空间，小块的曲率以及用来描述局部几何的局部方程．只要人们想要了解曲面的整体图象以及伴随它们的拓扑时，从这些经典结果到大范围的转变就是很自然的了．当人们从小范围到大范围时，最有意义的性质就是拓扑的性质．<br><br>　　<br><br>　　数论也有一个类似的发展，尽管它并不是很明显地适用于这一框架．数论学家们是这样来区分他们称之为&#8220;局部理论&#8221;和&#8220;整体理论&#8221;的：前者是当他们讨论一个单个的素数，一次一个素数，以及有限个素数时；后者是当他们同时讨论全部素数时．这种素数和点之间，局部和整体之间的类似性在数论发展过程中起了很重要的作用，并且那些在拓扑学发展中产生的思想深深地影响了数论．<br><br>　　<br><br>　　当然这种情况也发生在物理学中，经典物理涉及局部理论，这时我们写下可以完全描述小范围性质的微分方程，接下来我们就必须研究一个物理系统的大范围性质．物理学涉及的全部内容就是当我们从小范围出发时，我们可以知道在大范围内正在发生什么，可以预计将要发生什么，并且沿着这些结论前进．<br><br>　　<br><br><br>　　 维数的增加<br><br>　　<br><br>　　我的第二个主题有些不同，我称之为维数的增加．我们再次从经典的复变函数理论开始：经典复变函数论主要是详细讨论一个复变量理论并加以精炼．推广到两个或者更多个变量基本上发生在本世纪，并且是发生在有新现象出现的领域内．不是所有的现象都与一个变量的情形相同，这里有完全新的特性出现，并且n个变量的理论的研究越来越占有统治地位，这也是本世纪主要成就之一．<br><br>　　<br><br>　　另一方面，过去的微分几何学家主要研究曲线和曲面，我们现在研究n维流形的几何,大家仔细想一想，就能意识到这是一个重要的转变．在早期，曲线和曲面是那些人们能真正在空间里看到的东西．而高维则有一点点虚构的成分，在其中人们可以通过数学思维来想象,但当时人们也许没有认真对待它们．认真对待它们并且用同样重视程度来研究它们的这种思想实际上是二十世纪的产物．同样地，也没有明显的证据表明我们十九世纪的先驱者们思考过函数个数的增加，研究不单单一个而是几个函数，或者是向量值函数(vector-valued function)．所以我们看到这里有一个独立和非独立变量个数增加的问题．<br><br>　　<br><br>　　线性代数总是涉及多个变量，但它的维数的增加更具有戏剧性，它的增加是从有限维到无穷维，从线性空间到有无穷个变量的Hilbert空间．当然这就涉及到了分析,在多个变量的函数之后，我们就有函数的函数，即泛函．它们是函数空间上的函数．它们本质上有无穷多个变量，这就是我们称为变分学的理论．一个类似的事情发生在一般（非线性）函数理论的发展中．这是一个古老的课题，但真正取得卓越的成果是在二十世纪．这就是我谈的第二个主题．<br><br>　　<br><br>　　<br><br>　　 从交换到非交换<br><br>　　<br><br>　　第三个主题是从交换到非交换的转变．这可能是二十世纪数学，特别是代数学的最主要的特征之一．代数的非交换方面已经极其重要，当然，它源自于十九世纪．它有几个不同的起源．Hamilton在四元数方面的工作可能是最令人惊叹的，并且有巨大的影响，实际上这是受处理物理问题时所采用的思想所启发．还有 Grassmann在外代数方面的工作，这是另一个代数体系，现在已经被融入我们的微分形式理论中．当然，还有Cayley以线性代数为基础的矩阵方面的工作和Galois在群论方面的工作等．<br><br>　　<br><br>　　所有这些都是以不同的方式形成了把非交换乘法引入代数理论的基石，我形象地把它们说成是二十世纪代数机器赖以生存的&#8220;面包和黄油&#8221;．我们现在可以不去思考这些，但在十九世纪，以上所有例子都以各自不同的方式取得了重大的突破，当然，这些思想在不同的领域内得到了惊人的发展．矩阵和非交换乘法在物理中的应用产生了量子理论．Heisenberg对易关系是非交换代数在物理中的一个最重要的应用例子，以至后来被von Neumann推广到他的算子代数理论中．<br><br>　　<br><br>　　 群论也是在二十世纪占重要位量的理论，我稍后再回来谈它．<br><br>　　<br><br><br>　　<br><br>　　 从线性到非线性<br><br>　　<br><br>　　 我的下一个主题是从线性到非线性的转变．古典数学的大部分或者基本上是线性的，或者即使不是很精确的线性，也是那种可以通过某些扰动展开来研究的近似线性，真正的非线性现象的处理是非常困难的，并且只是在本世纪，才在很大的范围内对其进行了真正的研究．<br><br>　　<br><br>　　我们从几何开始谈起：Euclid几何，平面的几何，空间的几何，直线的几何，所有这一切都是线性的．而从非欧几何的各个不同阶段到Riemann的更一般的几何，所讨论的基本上是非线性的．在微分方程中，真正关于非线性现象的研究已经处理了众多我们通过经典方法所看不到的新现象．在这里我只举两个例子，孤立子和混沌，这是微分方程理论两个非常不同的方面，在本世纪已经成为极度重要和非常著名的研究课题了．它们代表不同的极端．孤立子代表非线性微分方程的无法预料的有组织的行为，而混沌代表的是无法预料的无组织的行为(disorganized behavior)．这两者出现在不同领域，都是非常有趣和重要的，但它们基本土都是非线性现象．我们同样可以将关于孤立子的某些工作的早期历史追溯到十九世纪下叶，但那只是很少的一部分．<br><br>　　<br><br>　　当然，在物理学，Maxwell方程（电磁学的基本方程）是线性偏微分方程．与之对应的是著名的Yang-Mills方程，它们是非线性方程并被假定用来调控与物质结构有关的力．这些方程之所以是非线性的，是因为Yang-Mills方程本质上是Maxwell方程的矩阵体现，并且由矩阵不可交换这一事实导致方程中出现非线性项．于是在这里我们看到了一个非线性性与非交换性之间的有趣的联系．非交换性产生一特殊的非线性性，这的确是很有意思和很重要的．<br><br>　　<br><br>　　<br><br>　　<br><br>　　 几何与代数<br><br>　　至此我谈的是一些一般性的主题，现在我想谈论一下数学中的一个二分叉现象，它来回摇摆却始终伴随着我们，这就给了我一个机会来做一些哲学上的思索和说明．我指的是几何和代数之间的二分法，几何和代数是数学的两个形式支柱，并且都有悠久的历史．几何学可以追溯到古希腊甚至更早的时期；代数学则源于古阿拉伯人和古印度人．所以，它们都已经成为数学的基础，但它们之间有一种令人感到不太自然的关系．<br><br>　　<br><br>　　让我首先由这个问题的历史开始．Euc1id几何是数学理论中最早的一个例子，直到Descartes在我们现在称为的笛卡儿平面中引入代数坐标之前，它一直是纯几何的．Descartes的做法是一种将几何思考化为代数运算的尝试．从代数学家们的角度来讲，这当然是对几何学的一个重大突破或者说一次重大的冲击，如果我们来比较Newton和Leibniz在分析方面的工作，我们会发现他们属于不同的传统，Newton基本上是一个几何学家而 Le1bniz基本土是一个代数学家，这其中有着很深刻的道理．对于Newton而言，几何学，或者是由他发展起来的微积分学，都是用来描述自然规律的数学尝试．他关心的是在很广泛意义下的物理，以及几何世界中的物理．在他看来，如果有人想了解事物，他就得用物理世界的观点来思考它，用几何图象的观点来看待它．当他发展微积分的时候，他想要发展的是微积分的一种能尽可能贴近隐藏在其后的物理内蕴的表现形式．所以他用的是几何论证，因为这样可以与实际意义保持密切关系，另一方面，Leibniz有一个目标，一个雄心勃勃的目标，那就是形式化整个数学，将之变成一个庞大的代数机器．这与Newton的途径截然不同，并且二者有很多不同的记号．正如我们所知道的，在Newton和Leibniz之间的这场大争论中，Leibniz的记号最后得胜．我们现在还沿用他的记号来写偏导数．Newton的精神尚在，但被人们埋葬了很长时间．<br><br>　　<br><br>　　在十九世纪末期，也就是一百年前，Poincar&#233;和Hilbert是两个主要人物．我在前面已经提到过他们了，并且可以粗略地讲，他们分别是 Newton和Leibniz的传人．Poincar&#233;的思想更多的是几何和拓扑的精神，他用这些思想作为他的基本洞察工具．Hilbert更多的是一个形式主义者，他要的是公理化，形式化，并且要给出严格的，形式的描述．虽然任何一个伟大的数学家都不能轻易地被归到哪一类中去，但是，很清楚地，他们属于不同的传统．<br><br>　　<br><br>　　当准备这个报告的时候，我想我应该写下我们目前这一代中能够继承这些传统的具有代表性的人的名字．谈论还健在的人是十分困难的——谁该放在这张名单上呢？接着我又暗自思忖：有谁会介意被放在这么一张著名的名单的哪一边呢？于是我选择了两个名字Arnold　Bourbaki，前者是Poincar&#233;- Newton传统的继承人，而后者，我认为，是Hilbert最著名的接班人．Arnold毫不含糊地认为：他的力学和物理的观点基本上是几何的，是源自于Newton的；以为存在处于二者之间的东西，除了象Riemann（他确实跟两者都有偏离）等少数人之外，都是一种误解．Bourbaki努力继续 Hilbert的形式化的研究，将数学公理化和形式化推向了一个令人瞩目的范围并取得了一些成功．每一种观点都有它的优点，但是它们之间很难调和．<br><br>　　<br><br>　　让我来解释一下我自己是如何看待几何和代数之间的不同．几何学当然讲的是空间，这是毫无疑问的．如果我面对这间房间里的听众，我可以在一秒中内或者是一微秒内看到很多，接收到大量的信息，当然这不是一件偶然的事件．我们大脑的构造与视觉有着极其重要的关系．我从一些从事神经生理学的朋友那里了解到，视觉占用了大脑皮层的百分之八十或九十．在大脑中大约有十七个中枢，每一个中枢专门用来负责视觉活动的不同部分：有些部分涉及的是垂直方向的，有些部分与水平方向有关，有些部分是关于色彩和透视的，最后有些部分涉及的是所见事物的具体含义和解说．理解并感知我们所看到的这个世界是我们人类发展进化的一个非常重要的部分．因此空间直觉(spatial intuition)或者空间知觉(spatial perception)是一种非常强有力的工具，也是几何学在数学上占有如此重要位置的原因，它不仅仅对那些明显具有几何性质的事物可以使用，甚至对那些没有明显几何性质的事物也可以使用．我们努力将它们归结为几何形式，因为这样可以让我们使用我们的直觉．我们的直觉是我们最有力的武器．特别是在向学生或是同事讲解一种数学时可以看得很清楚．当你讲解一个很长而且很有难度的论证，最后使学生明白了．学生这时会说些什么呢？他会说&#8220;我看到了（我懂了）！&#8221;在这里看见与理解是同义词，而且我们还可以用&#8220;知觉&#8221;这个词来同时形容它们，至少这在英语里是对的，把这个现象与其他语言作对比同样有趣．我认为有一点是很基本的：人类通过这种巨大的能力和视觉的瞬间活动获取大量的信息，从而得以发展，而教学参与其中并使之完善．<br><br>　　<br><br>　　在另一方面（也许有些人不这样认为），代数本质上涉及的是时间．无论现在做的是哪一类代数，都是一连串的运算被一个接着一个罗列出来，这里&#8220;一个接着一个 &#8221;的意思是我们必须有时间的概念．在一个静态的宇宙中，我们无法想象代数，但几何的本质是静态的：我可以坐在这里观察，没有什么变化，但我仍可以继续观察．然而,代数与时间有关，这是因为我们有一连串的运算，这里当我谈到&#8220;代数&#8221;时，我并不单单指现代代数．任何算法，任何计算过程，都是一个接着一个地给出一连串步骤,现代计算机的发展使这一切看得很清楚．现代计算机用一系列0和1来反映其信息并由此给出问题的答案．<br><br>　　<br><br>　　 代数涉及的是时间的操作，而几何涉及的是空间．它们是世界互相垂直的两个方面，并且它们代表数学中两种不同的观念．因此在过去数学家们之间关于代数和几何相对重要性的争论或者对话代表了某些非常非常基本的事情．<br><br>　　<br><br>　　当然只是为了论证是哪一边输了，哪一边胜利了，这并不值得．当我考虑这个问题时，有一个形象的类比：&#8220;你愿意成为一个代数学家还是一个几何学家？&#8221;这个问题就象问：&#8220;你愿意是聋子还是瞎子？&#8221;一样．如果人的眼睛盲了，就看不见空间；如果人的耳朵聋了，就无法听见，听觉是发生在时间之中的，总的来说，我们还是宁愿二者都要．<br><br>　　<br><br>　　在物理学，也有一个类似的、大致平行的关于物理概念和物理实验之间的划分．物理学有两个部分：理论——概念，想法，单词，定律——和实验仪器．我认为概念在某种广义的意义下是几何的，这是因为它们涉及的是发生在真实世界的事物．另一方面，实验更象一个代数计算．人们做事情总要花时间，测定一些数，将它们代入到公式中去．但是在实验背后的基本概念却是几何传统的一部分．<br><br>　　<br><br>　　将上述二分叉现象用更哲学或者更文学的语言来说，那就是对几何学家而言，代数就是所谓的&#8220;浮士德的奉献&#8221;．正如大家所知道的，在歌德的故事里，浮士德通过魔鬼可以得到他所想要的（就是一个漂亮女人的爱），其代价是出卖他的灵魂，代数就是由魔鬼提供给数学家的供品．魔鬼会说：&#8220;我将给你这个有力的机器，它可以回答你的任何问题．你需要做的就是把你的灵魂给我：放弃几何，你就会拥有这个威力无穷的机器&#8221;(现在可以把它想象成为一台计算机!)．当然我们希望同时拥有它们，我们也许可以欺骗魔鬼，假装我们出卖灵魂，但不真地给它．不过对我们灵魂的威胁依然存在，这是因为当我们转入代数计算时，本质上我们会停止思考，停止用几何的观念来考虑问题，不再思考其含义．<br><br>　　<br><br>　　在这里我谈论代数学家的话重了一些，但是基本土，代数的目标总是想建立一个公式，把它放到一个机器中去，转动一下把手就可以得到答案．也就是拿来一个有意义的东西，把它化成一个公式，然后得到答案．在这样的一个过程中，人们不再需要思考代数的这些不同阶段对应的几何是什么．就这样，洞察力丢掉了，而这在那些不同的阶段都是非常重要的．我们绝不能放弃这些洞察力！最终我们还是要回到这上面来的，这就是我所谈到的浮士德的奉献．我肯定这种讲法尖锐了一点．<br><br>　　<br><br>　　 几何和代数的这种选择导致能融合二者的一些交叉课题的产生，并且代数和几何之间的区别也不象我讲的那样直截了当和朴实无华．例如，代数学家们经常使用图式(diagram)．而除了几何直觉，图式又能是什么呢？<br><br>　　<br><br>　　<br><br>　　<br><br>　　 通用的技术<br><br>　　<br><br>　　 现在我不想再谈论太多就内容来划分的主题，而想谈谈那些依照已经使用的技术和常见方法所确定的主题，也就是我想描述一些已经广泛应用于众多领域的常见方法．第一个就是：<br><br>　　<br><br>　　 同调论<br><br>　　<br><br>　　历史上同调论是作为拓扑学的一个分支而发展起来的．它涉及到以下情形．现有一个复杂的拓扑空间，我们想从中得到它的一些简单信息如计算它的洞或者类似事物的个数,得到某些与之联系的可加的线性不变量等．这是一种在非线性条件下关干线性不变量的构造．从几何的角度来看，闭链可加可减，这样就得到了所谓的一个空间的同调群．同调论，作为一种从拓扑空间获取某些信息的基本代数工具，是在本世纪上半叶发现的．这是一种从几何中获益匪浅的代数．<br><br>　　<br><br>　　同调概念也出现在其他一些方面．其另一个源头可以追溯到Hilbert及其关于多项式的研究中，多项式是非线性的函数，它们相乘可以得到更高次数的多项式．正是Hilbert那伟大的洞察力促使他来讨论&#8220;理想&#8221;，具有公共零点的多项式的线性组合．他要寻找这些理想的生成元．生成元可能有很多．他审视它们之间的关系以及关系之间的关系．于是他得到这些关系的一个分层谱系，这就是所谓的&#8220;Hilbert合系&#8221;．Hilbert的这个理论是一种非常复杂的方法，他试图将一个非线性的情形（多项式的研究）化为线性情形．本质上来讲，Hilbert构造了一个线性关系的复杂体系．能够把象多项式这样的非线性事物的某些信息纳入其中．<br><br>　　<br><br>　　这个代数理论实际上是与上述拓扑理论平行的，而且现在它们已融合在一起构成了所谓的&#8220;同调代数&#8221;．在代数几何学中，本世纪五十年代最伟大的成就之一是层的上同调理论的发展及在解析几何学中的扩展，这是由Leray，Cartan，Serre和Grothendieck等人组成的法国学派取得的．从中我们可以感受到一种既有Riemann-Poincar&#233;的拓扑思想，又有Hilbert的代数思想，再加上某些分析手段的融合，<br><br>　　<br><br>　　这表明同调论在代数的其它分支也有着广泛的应用．我们可以引入同调群的概念，它通常是与非线性事物相关的线性事物．我们可以将之应用于群论，例如，有限群，以及李代数：它们都有相应的同调群．在数论方面，同调群通过Galois群产生了非常重要的应用．因此在相当广泛的情形下同调论都是强有力的工具之一，它也是二十世纪数学的一个典型的特征．<br><br>　　<br><br>　　 K-理论<br><br>　　<br><br>　　我要谈的另外一个技术就是所谓的&#8220;K-理论&#8221;．它在很多方面都与同调论相似，它的历史并不很长（直到二十世纪中叶才出现，尽管其起源的某些方面也许可以追溯到更早一些），但它却有着很广泛的应用，已经渗透进了数学的许多部分．K-理论实际上与表示理论紧密相联，有限群的表示理论，可以讲，起源于十九世纪．但是其现代形式——K-理论却只有一个相对较短的历史．K-理论可以用下面的方式来理解：它可以被想成是应用矩阵论的一种尝试．我们知道矩阵的乘法是不可交换的，于是我们想构造矩阵可换的或是线性的不变量．迹，维数和行列式都是矩阵论中可换的不变量，而K-理论即是试图处理它们的一种系统的方法，它有时也被称为&#8220;稳定线性代数&#8221;．其思想就是，如果我们有很多矩阵，那么把两个不可换的矩阵A和矩阵B放在不同块的正交位置上，它们就可换了，因为在一个大的空间里，我们可以随意移动物体．于是在某些近似情况下，这样做是很有好处的，足以让我们得到一些信息，这就是作为一个技术的K-理论的基石．这完全类似于同调论，二者都是从复杂的非线性情形获取线性的信息．<br><br>　　<br><br>　　 在代数几何中，K-理论是由Grothendieck首先引入的，并且取得了巨大的成功，这些与我们刚刚谈到的层理论密切相关，而且也和他在Riemann-Roch定理方面的工作有紧密联系．<br><br>　　<br><br>　　在拓扑学方面，Hirzebruch和我照搬了这些思想并且将它们应用到一个纯粹的拓扑范畴内．从某种意义下来说，如果Grothendieck的工作与 Hilbert在合系方面的工作有关，那么我们的工作更接近于Riemann-Poincar&#233;在同调方面的工作，我们用的是连续函数，而他用的是多项式．K-理论也在椭圆算子的指标理论和线性分析的研究中起了重要作用．<br><br>　　<br><br>　　 从另外一个不同的角度，Milnor，Quillen和其他人发展了K-理论的代数方面，这在数论的研究中有着潜力巨大的应用．沿着这个方向的发展导致了许多有趣问题的产生．<br><br>　　<br><br>　　在泛函分析方面，包括象Kasparov在内的许多人的工作将连续的K-理论推广到非交换的C*-代数情形．一个空间上的连续函数在函数乘积意义下形成一个交换代数．但是在其他情形下，自然地产生了类似的关于非交换情形的讨论，这时，泛函分析也就自然而然地成为了这些问题的温床．<br><br>　　<br><br>　　因此，K-理论是另外一个能够将相当广泛的数学的许多不同方面都能用这种比较简单的公式来处理的领域，尽管在每一个情形下，都有很多特定于该方面且能够连接其他部分的非常困难的，技巧性很强的问题．K-理论不是一个统一的工具，它更象是一个统一的框架，在不同部分之间具有类比和相似．<br><br>　　<br><br>　　 这个工作的许多内容已经被Alain Connes推广到&#8220;非交换微分几何&#8221;．<br><br>　　<br><br>　　非常有趣的是，也就是在最近，Witten通过他在弦理论方面（基础物理学的最新思想）的工作发现许多很有趣的方法都与K-理有关，并且K-理论看起来为那些所谓的&#8220;守恒量&#8221;提供了一个很自然的&#8220;家&#8221;．虽然在过去同调论被认为是这些理论的自然框架，但是现在看起来K一理论能提供更好的答案．<br><br>　　 李群<br><br>　　<br><br>　　另一个不单单是一项技术、而且是具有统一性的概念是李群．现在说起李群，我们基本上就是指正交群，酉群，辛群以及一些例外群，它们在二十世纪数学历史中起了非常重要的作用．它们同样起源于十九世纪．SophusLie是一位十九世纪的挪威数学家．正如很多人所讲的那样，他和Fleix Klein，还有其他人一起推动了&#8220;连续群理论&#8221;的发展．对Klein而言，一开始，这是一种试图统一处理Euclid几何和非欧几何这两种不同类型几何的方法．虽然这个课题源于十九世纪，但真正起步却是在二十世纪，作为一种能够将许多不同问题归并于其中来研究的统一性框架，李群理论深深地影响了二十世纪．<br><br>　　<br><br>　　我现在来谈谈Klein思想在几何方面的重要性．对于Klein而言，几何就是齐性空间，在那里，物体可以随意移动而保持形状不变，因此，它们是由一个相关的对称群来控制的．Euclid群给出Euclid几何而双曲几何源于另一个李群．于是每一个齐性几何对应一个不同的李群．但是到了后来，随着对 Riemann的几何学工作的进一步发展，人们更关心那些不是齐性的几何，此时曲率随着位置的变化而变化，并且空间不再有整体对称性，然而，李群仍然起着重要的作用，这是因为在切空间中我们有Euclid坐标，以至于李群可以出现在一种无穷小的层面上．于是在切空间中，从无穷小的角度来看，李群又出现了，只不过由于要区分不同位置的不同点，我们需要用某种可以处理不同李群的方式来移动物体．这个理论是被Eile Cartan真正发展起来的，成为现代微分几何的基石，该理论框架对于Einstein的相对论也起着基本的作用．当然Einstein的理论极大地推动了微分几何的全面发展．<br><br>　　<br><br>　　进入二十世纪，我前面提到的整体性质涉及到了在整体层面上的李群和微分几何．一个主要的发展是给出所谓的&#8220;示性类&#8221;的信息，这方面标志性的工作是由 Borel和Hirzebruch给出的，示性类是拓扑不变量并且融合三个关键部分：李群，微分几何和拓扑，当然也包含与群本身有关的代数．<br><br>　　在更带分析味的方向上，我们得到了现在被称为非交换调和分析的理论．这是Fourier理论的推广，对于后者，Fourier级数或者是Fourier积分本质上对应于圆周和直线的交换李群，当我们用更为复杂的李群代替它们时，我们就可以得到一个非常漂亮、非常精巧且将李群表示理论和分析融为一体的理论．这本质上是Harish-Chandra一生的工作．<br><br>　　<br><br>　　在数论方面，整个&#8220;Lang1ands纲领&#8221;,现在许多人都这样称呼它，紧密联系于Harish-Chandra理论，产生于李群理论之中．对于每一个李群，我们都可以给出相应的数论和在某种程度实施Langlands纲领．在本世纪后半叶，代数数论的一大批工作深受其影响．模形式的研究就是其中一个很好的例证，这还包括Andrew Wiles在Fermat大定理方面的工作．<br><br>　　<br><br>　　也许有人认为李群只不过在几何范畴内特别重要而已，因为这是出于连续变量的需要．然而事实并非如此，有限域上的李群的类似讨论可以给出有限群，并且大多数有限群都是通过这种方式产生的．因此李群理论的一些技巧甚至可以被应用到有限域或者是局部域等一些离散情形中．这方面有许多纯代数的工作，例如与 George Lusztig名字联系在一起的工作．在这些工作中，有限群的表示理论被加以讨论，并且我已经提到的许多技术在这里也可以找到它们的用武之地．<br><br>　　<br><br>　　 有限群<br><br>　　<br><br>　　上述讨论已把我们带到有限群的话题，这也提醒了我：有限单群的分类是我必须承认的一项工作．许多年以前，也就是在有限单群分类恰要完成之时,我接受了一次采访，并且我还被问道我对有限单群分类的看法,我当时很轻率地说我并不认为它有那么重要．我的理由是有限单群分类的结果告诉我们，大多数单群都是我们已知的，还有就是一张有关若干例外情形的表．在某种意义下，这只不过是结束了一个领域．而并没有开创什么新东西，当事物用结束代替开始时，我不会感到很兴奋．但是我的许多在这一领域工作的朋友听到我这么讲，理所当然地会感到非常非常不高兴，我从那时起就不得不穿起&#8220;防弹衣&#8221;了．<br><br>　　<br><br>　　在这项研究中，有一个可以弥补缺点的优点．我在这里实际上指的是在所有的所谓&#8220;散在群&#8221;(sporadic groups)中，最大的被赋予了&#8220;魔群&#8221;名字的那一个．我认为魔群的发现这件事本身就是有限单群分类中最叫人兴奋的结果了．可以看出魔群是一个极其有意思的动物而且现在还处于被了解之中．它与数学的许多分支的很大一部分有着意想不到的联系，如与椭圆模函数的联系，甚至与理论物理和量子场论都有联系．这是分类工作的一个有趣的副产品．正如我所说的，有限单群分类本身关上了大门，但是魔群又开启了一扇大门．<br><br><br>　　<br><br>　　<br><br>　　 物理的影响<br><br>　　<br><br>　　现在让我把话题转到一个不同的主题，即谈谈物理的影响．在整个历史中，物理与数学有着非常悠久的联系，并且大部分数学，例如微积分，就是为了解决物理中出现的问题而发展起来的．在二十世纪中叶，随着大多数纯数学在独立于物理学时仍取得了很好的发展，这种影响或联系也许变得不太明显．但是在本世纪最后四分之一的时间里，事情发生了戏剧性的变化,让我试着简单地评述一下物理学和数学，尤其是和几何的相互影响．<br><br>　　<br><br>　　在十九世纪，Hamilton发展了经典力学，引入了现在称为Hamilton量的形式化．经典力学导出现在所谓的&#8220;辛几何&#8221;．这是几何的一个分支，虽然很早已经有人研究了，但是实际上直到最近二十年，这个课题才得到真正的研究．这已经是几何学非常丰富的一部分．几何学，我在这里使用这个词的意思是指，它有三个分支：Riemann几何，复几何和辛几何，并且分别对应三个不同类型的李群．辛几何是它们之中最新发展起来的，并且在某种意义下也许是最有趣的，当然也是与物理有极其紧密联系的一个，这主要因为它的历史起源与Hamilton力学有关以及近些年来它与量子力学的联系．现在，我前面提到过的、作为电磁学基本线性方程的Maxwell方程，是Hodge在调和形式方面工作和在代数几何中应用方面工作的源动力．这是一个非常富有成果的理论，并且自从本世纪三十年代以来已经成为几何学中的许多工作的基础．<br><br>　　<br><br>　　 我已经提到过广义相对论和Einstein的工作．量子力学当然更是提供了一个重要的实例．这不仅仅体现在对易关系上，而且更显著地体现在对Hilbert空间和谱理论的强调上．<br><br>　　<br><br>　　以一种更具体和明显的方式，结晶学的古典形式是与晶体结构的对称性有关的．第一个被研究的实例是发生在点周围的有限对称群，这是鉴于它们在结晶学中的应用．在本世纪中，群论更深刻的应用已经转向与物理的关系，被假设用来构成物质的基本粒子看起来在最小的层面上有隐藏的对称性，在这个层面上，有某些李群在此出没，对此我们看不见，但是当我们研究粒子的实际行为时，它们的对称性就显现无遗了．所以我们假定了一个模型，在这个模型当中，对称性是一个本质性的要素，而且目前那些很普遍的不同理论都有一些象SU(2)和SU(3)那样的基本李群融入其中并构成基础的对称群，因此这些李群看起来象是建设物质大厦的砖石．<br><br>　　<br><br>　　并不是只有紧李群才出现在物理中,一些非紧李群也出现在物理中，例如Lorentz群．正是由物理学家第一个开始研究非紧李群的表示理论的．它们是那些能够发生在Hilbert空间的表示，这是因为，对于紧群而言，所有不可约表示都是有限维的，而非紧群需要的是无穷维表示，这也是首先由物理学家意识到的．<br><br>　　<br><br>　　在二十世纪的最后25年里，正如我刚刚完成阐述的，有一种巨大的从物理学的新思想到数学的渗透，这也许是整个世纪最引人注目的事件之一，就这个问题本身，也许就需要一个完整的报告，但是，基本上来讲，量子场论和弦理论已经以引人注目的方式影响了数学的许多分支，得到了众多的新结果、新思想和新技术．这里，我的意思是指物理学家通过对物理理论的理解已经能够预言某些在数学上是对的事情了．当然，这不是一个精确的证明，但是确有非常强有力的直觉、一些特例和类比所支持．数学家们经常来检验这些由物理学家预言的结果，并且发现它们基本上是正确的，尽管给出证明是很困难的而且它们中的许多还没有被完全证明．<br><br>　　<br><br>　　所以说沿着这个方向，在过去的25年里取得了巨大的成果．这些结果是极其细致的．这并不象物理学家所讲的&#8220;这是一种应该是对的东西&#8221;．他们说：&#8220;这里有明确的公式，还有头十个实例（涉及超过12位的数字）&#8221;．他们会给出关于复杂问题的准确答案，这些决不是那种靠猜测就能得到的，而是需要用机器计算的东西，量子场论提供了一个重要的工具，虽然从数学上来理解很困难，但是站在应用的角度，它有意想不到的回报．这是最近25年中真正令人兴奋的事件．<br><br>　　<br><br>　　 在这里我列一些重要的成果：SimonDona1dson在四维流形方面的工作；Vaughan-Jones在扭结不变量方面的工作；镜面对称，量子群；再加上我刚才提到的&#8220;魔群&#8221;<br><br>　　<br><br>　　这个主题到底讲的是什么呢？正如我在前面提到过的一样，二十世纪见证了维数的一种转换并且以转换为无穷维而告终，物理学家超越了这些，在量子场论方面，他们真正试图对广泛的无穷维空间进行细致的研究，他们处理的无穷维空间是各类典型的函数空间，它们非常复杂，不仅是因为它们是无穷维的，而且它们有复杂的代数、几何以及拓扑，还有围绕其中的很大的李群，即无穷维的李群，因此正如二十世纪数学的大部分涉及的是几何、拓扑、代数以及有限维李群和流形上分析的发展，这部分物理涉及了在无穷维情形下的类似处理．当然，这是一件非常不同的事情，但确有巨大的成功．<br><br>　　<br><br>　　让我更详尽地解释一下，量子场论存在于空间和时间中．空间的真正的意义是三维的，但是有简化的模型使我们将空间取成一维．在一维空间和一维时间里，物理学家遇到的典型事物，用数学语言来讲，就是由圆周的微分同胚构成的群或者是由从圆周到一个紧李群的微分映射构成的群．它们是出现在这些维数里的量子场论中的两个非常基本的无穷维李群的例子，它们也是理所当然的数学事物并且已经被数学家们研究了一段时间．<br><br>　　<br><br>　　在这样一个1＋1维理论中，我们将时空取成一个Riemann曲面并且由此可以得到很多新的结果．例如，研究一个给定亏格数的Riemann曲面的模空间是个可以追溯到上个世纪的古典课题．而由量子场论已经得到了很多关于这些模空间的上同调的新结果．另一个非常类似的模空间是一个具有亏格数g的 Riemann曲面上的平坦G-丛的模空间．这些空间都是非常有趣的并且量子场论给出关于它们的一些精确结果．特别地，可以得到一些关于体积的很漂亮的公式，这其中涉及到Zeta函数的取值．<br><br>　　<br><br>　　 另一个应用与计数曲线(counting curve)有关．如果我们来看给定次数和类型的平面代数曲线，我们想要知道的是，例如，经过那么多点究竟有多少曲线，这样我们就要面临代数几何的计数问题，这些问题在上个世纪一直是很经典的．而且也是非常困难的．现在它们已经通过被称为&#8220;量子上同调&#8221;的现代技术解决了，这完全是从量子场论中得到的．或者我们也可以接触那些关于不在平面上而在弯曲族上的曲线的更加困难的问题，这样我们得到了另一个具有明确结果的被称为镜面对称的美妙理论，所有这些都产生于 1＋1维量子场论．<br><br>　　<br><br>　　 如果我们升高一个维数，也就是2-维空间和1-维时间，就可以得到Vaughan-Jones的扭结不变量理论．这个理论已经用量子场论的术语给予了很美妙的解释和分析．<br><br>　　<br><br>　　量子场论另一个结果是所谓的&#8220;量子群&#8221;．现在关于量子群的最好的东西是它们的名字．明确地讲它们不是群！如果有人要问我一个量子群的定义，我也许需要用半个小时来解释，它们是复杂的事物，但毫无疑问它们与量子理论有着很深的联系它们源于物理，而且现在的应用者是那些脚踏实地的代数学家们，他们实际上用它们进行确定的计算．<br><br>　　<br><br>　　如果我们将维数升得更高一些，到一个全四维理论（三加一维），这就是Donaldson的四维流形理论，在这里量子场论产生了重大影响．特别地，这还导致 Seiberg和Witten建立了他们相应的理论，该理论建立在物理直觉之上并且也给出许多非同寻常的数学结果．所有这些都是些突出的例子．其实还有更多的例子．<br><br>　　<br><br>　　 接下来是弦理论并且这已经是过时的了！我们现在所谈论的是M一理论，这是一个内容丰富的理论，其中同样有大量的数学，从关于它的研究中得到的结果仍有待于进一步消化并且足可以让数学家们忙上相当长的时间．<br><br>　　<br><br>　　<br><br>　　<br><br>　　 历史的总结<br><br>　　<br><br>　　我现在作一个简短的总结．让我概括地谈谈历史：数学究竟发生了什么？我相当随意地把十八世纪和十九世纪放在了一起，把它们当做我们称为古典数学的时代，这个时代是与Euler和Gauss这样的人联系在一起的，所有伟大的古典数学结果也都是在这个时代被发现和发展的．有人也许认为那几乎就是数学的终结了，但是相反地，二十世纪实际上非常富有成果，这也是我一直在谈论的．<br><br>　　<br><br>　　二十世纪大致可以一分为二地分成两部分．我认为二十世纪前半叶是被我称为&#8220;专门化的时代&#8221;，这是一个Hilbert的处理办法大行其道的时代，即努力进行形式化，仔细地定义各种事物，并在每一个领域中贯彻始终．正如我说到过的，Bourbaki的名字是与这种趋势联系在一起的．在这种趋势下，人们把注意力都集中于在特定的时期从特定的代数系统或者其它系统能获得什么．二十世纪后半叶更多地被我称为&#8220;统一的时代&#8221;，在这个时代，各个领域的界限被打破了，各种技术可以从一个领域应用到另外一个领域，并且事物在很大程度上变得越来越有交叉性．我想这是一种过于简单的说法，但是我认为这简单总结了我们所看到的二十世纪数学的一些方面．<br><br>　　<br><br>　　二十一世纪会是什么呢？我已经说过，二十一世纪是量子数学的时代，或者，如果大家喜欢，可称为是无穷维数学的时代．这意味着什么呢？量子数学的含义是指我们能够恰当地理解分析、几何、拓扑和各式各样的非线性函数空间的代数，在这里，&#8220;恰当地理解&#8221;，我是指能够以某种方式对那些物理学家们已经推断出来的美妙事物给出较精确的证明．<br><br>　　<br><br>　　 有人要说，如果用天真幼稚的方式(naive way)来研究无穷维并问一些天真幼稚的问题，通常来讲，只能得到错误的答案或者答案是无意义的，物理的应用、洞察力和动机使得物理学家能够问一些关于无穷维的明智的问题，并且可以在有合乎情理的答案时作一些非常细致的工作，因此用这种方式分析无穷维决不是一件轻而易举的事情．我们必须沿着这条正确的道路走下去．我们已经得到了许多线索，地图已经摊开了：我们的目标已经有了，只不过还有很长的路要走．<br><br>　　<br><br>　　还有什么会发生在二十一世纪？我想强调一下Connes的非交换微分几何．Alain Connes拥有这个相当宏伟的统一理论．同样，它融合了一切．它融合了分析、代数、几何、拓扑、物理、数论，所有这一切都是它的一部分．这是一个框架性理论，它能够让我们在非交换分析的范畴里从事微分几何学家通常所做的工作，这当中包括与拓扑的关系．要求这样做是有很好的理由的，因为它在数论、几何、离散群等等以及在物理中都有（潜力巨大的或者特别的）应用．一个与物理有趣的联系也刚刚被发现．这个理论能够走多远，能够得到什么结果，还有待进一步观察．它理所当然地是我所期望的至少在下个世纪头十年能够得到显著发展的课题，而且找到它与尚不成熟的（精确）量子场论之间的联系是完全有可能的．<br><br>　　<br><br>　　 我们转到另一个方面，也就是所谓的&#8220;算术几何&#8221;或者是Arakelov几何，其试图尽可能多地将代数几何和数论的部分内容统一起来．这是一个非常成功的理论．它已经有了一个美好的开端，但仍有很长的路要走．这又有谁知道呢？<br><br>　　<br><br>　　 当然，所有这些都有一些共同点．我期待物理学能够将它的影响遍及所有地方，甚至是数论：Andrew Wiles不同意我这样说，只有时间会说明一切．<br><br>　　<br><br>　　这些是我所能看到的在下个十年里出现的几个方面，但也有一些难以捉摸的东西：返回至低维几何．与所有无穷维的富有想象的事物在一起，低维几何的处境有些尴尬．从很多方面来看，我们开始时讨论的维数，或我们祖先开始时的维数，仍留下某些未解之谜．维数为2，3和4的对象被我们称为&#8220;低&#8221;维的．例如 Thurston在三维几何的工作，目标就是能够给出一个三维流形上的几何分类，这比二维理论要深刻得多．Thurston纲领还远远没有完成，完成这个纲领当然将是一个重要的挑战．<br><br>　　<br><br>　　在三维中另外一个引人注目的事件是Vaughan-Jones那些思想本质上来源于物理的工作．这给了我们更多的关于三维的信息，并且它们几乎完全不在 Thurston纲领包含的信息之内．如何将这两个方面联系起来仍然是一个巨大的挑战，但是最近得到的结果暗示两者之间可能有一座桥，因此，整个低维的领域都与物理有关，但是其中实在有太多让人琢磨不透的东西．<br><br>　　<br><br>　　最后，我要提一下的是在物理学中出现的非常重要的&#8220;对偶&#8221;．这些对偶，泛泛地来讲，产生于一个量子理论被看成一个经典理论时有两种不同的实现．一个简单的例子是经典力学中的位置和动量的对偶．这样由对偶空间代替了原空间，并且在线性理论中，对偶就是Fourier变换．但是在非线性理论中，如何来代替 Fourier变换是巨大的挑战之一．数学的大部分都与如何在非线性情形下推广对偶有关．物理学家看起来能够在他们的弦理论和M一理论中以一种非同寻常的方式做到了这一点．他们构造了一个又一个令人叹为观止的对偶实例，在某种广义的意义下，它们是Fourier变换的无穷维非线性体现，并且看起来它们能解决问题，然而理解这些非线性对偶性看起来也是下个世纪的巨大挑战之一．<br><br>　　<br><br>　　 我想我就谈到这里．这里还有大量的工作，并且我觉得象我这样的一个老人可以和你们这么多的年轻人谈谈是一件非常好的事情；而且我也可以对你们说：在下个世纪，有大量的工作在等着你们去完成．<br><br>　　<br><br>　　<br><br>　　<br><br>　　（原载《数学译林》2002/2，白承铭译，周性伟、冯惠涛校）
<br><br><img src ="http://www.cppblog.com/bneliao/aggbug/61264.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bneliao/" target="_blank">bneliao</a> 2008-09-07 23:07 <a href="http://www.cppblog.com/bneliao/articles/61264.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>介绍几本数学书zz</title><link>http://www.cppblog.com/bneliao/articles/61183.html</link><dc:creator>bneliao</dc:creator><author>bneliao</author><pubDate>Sat, 06 Sep 2008 17:50:00 GMT</pubDate><guid>http://www.cppblog.com/bneliao/articles/61183.html</guid><wfw:comment>http://www.cppblog.com/bneliao/comments/61183.html</wfw:comment><comments>http://www.cppblog.com/bneliao/articles/61183.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bneliao/comments/commentRss/61183.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bneliao/services/trackbacks/61183.html</trackback:ping><description><![CDATA[http://dahua.spaces.live.com/blog/cns!28AF4251DF30CA42!2496.entry<br><br>7月13日
<h4 style="margin-bottom: 0px;" id="subjcns!28AF4251DF30CA42!2496">介绍几本数学书</h4>
<div id="msgcns!28AF4251DF30CA42!2496" class="bvMsg">
<p>前面几篇谈了一些对数学的粗浅看法。其实，如果对某门数学有兴趣，最好的方法就是走进那个世界去学习和体验。
</p>
<p>这里说说几本我看过后觉得不错的数学教科书。
</p>
<p style="color: red;"><strong> 1. 线性代数 (Linear Algebra)：</strong>
</p>
<p>我想国内的大学生都会学过这门课程，但是，未必每一位老师都能贯彻它的精要。这门学科对于Learning是必备的基础，对它的透彻掌握是必不可少的。我在科大一年级的时候就学习了这门课，后来到了香港后，又重新把线性代数读了一遍，所读的是
</p>
<p><u><font color="#00ff00">Introduction to Linear Algebra (3rd Ed.)&nbsp; by Gilbert Strang.</font></u>
</p>
<p>这本书是MIT的线性代数课使用的教材，也是被很多其它大学选用的经典教材。它的难度适中，讲解清晰，重要的是对许多核心的概念讨论得比较
透彻。我个人觉得，学习线性代数，最重要的不是去熟练矩阵运算和解方程的方法——这些在实际工作中MATLAB可以代劳，关键的是要深入理解几个基础而又
重要的概念：子空间(Subspace)，正交(Orthogonality)，特征值和特征向量(Eigenvalues and
eigenvectors)，和线性变换(Linear
transform)。从我的角度看来，一本线代教科书的质量，就在于它能否给这些根本概念以足够的重视，能否把它们的联系讲清楚。Strang的这本书
在这方面是做得很好的。 </p>
<p>而且，这本书有个得天独厚的优势。书的作者长期在MIT讲授线性代数课(18.06)，课程的video在MIT的Open courseware网站上有提供。有时间的朋友可以一边看着名师授课的录像，一边对照课本学习或者复习。
</p>
<p><a title="http://ocw.mit.edu/OcwWeb/Mathematics/18-06Spring-2005/CourseHome/index.htm" href="http://ocw.mit.edu/OcwWeb/Mathematics/18-06Spring-2005/CourseHome/index.htm">http://ocw.mit.edu/OcwWeb/Mathematics/18-06Spring-2005/CourseHome/index.htm</a>
</p>
<p style="color: red;"><strong> 2. 概率和统计 (Probability and Statistics):</strong>
</p>
<p>概率论和统计的入门教科书很多，我目前也没有特别的推荐。我在这里想介绍的是一本关于多元统计的基础教科书：
</p>
<p><u><font color="#00ff00">Applied Multivariate Statistical Analysis (5th Ed.)&nbsp; by Richard A. Johnson and Dean W. Wichern</font></u>
</p>
<p>这本书是我在刚接触向量统计的时候用于学习的，我在香港时做研究的基础就是从此打下了。实验室的一些同学也借用这本书学习向量统计。这本书
没有特别追求数学上的深度，而是以通俗易懂的方式讲述主要的基本概念，读起来很舒服，内容也很实用。对于Linear regression,
factor analysis, principal component analysis (PCA), and canonical
component analysis (CCA)这些Learning中的基本方法也展开了初步的论述。 </p>
<p>之后就可以进一步深入学习贝叶斯统计和Graphical models。一本理想的书是
</p>
<p style="color: red;"><u>Introduction to Graphical Models (draft version).&nbsp; by M. Jordan and C. Bishop.</u>
</p>
<p>我不知道这本书是不是已经出版了（不要和Learning in Graphical
Models混淆，那是个论文集，不适合初学）。这本书从基本的贝叶斯统计模型出发一直深入到复杂的统计网络的估计和推断，深入浅
出，statistical
learning的许多重要方面都在此书有清楚论述和详细讲解。MIT内部可以access，至于外面，好像也是有电子版的。 </p>
<p><font color="#ffff00"><strong> <span style="color: red;">3. 分析 (Analysis)：</span></strong> </font>
</p>
<p>我想大家基本都在大学就学过微积分或者数学分析，深度和广度则随各个学校而异了。这个领域是很多学科的基础，值得推荐的教科书莫过于
</p>
<p><font color="#00ff00"><u>Principles of Mathematical Analysis, by Walter Rudin</u></font>
</p>
<p>有点老，但是绝对经典，深入透彻。缺点就是比较艰深——这是Rudin的书的一贯风格，适合于有一定基础后回头去看。
</p>
<p>在分析这个方向，接下来就是泛函分析(Functional Analysis)。
</p>
<p><u><font color="#00ff00">Introductory Functional Analysis with Applications, by Erwin Kreyszig.</font></u>
</p>
<p>适合作为泛函的基础教材，容易切入而不失全面。我特别喜欢它对于谱论和算子理论的特别关注，这对于做learning的研究是特别重要的。
Rudin也有一本关于functional
analysis的书，那本书在数学上可能更为深刻，但是不易于上手，所讲内容和learning的切合度不如此书。 </p>
<p>在分析这个方向，还有一个重要的学科是测度理论(Measure theory)，但是我看过的书里面目前还没有感觉有特别值得介绍的。
</p>
<p><font color="#ffff00"><strong> <span style="color: red;">4. 拓扑 (Topology)：</span></strong> </font>
</p>
<p>在我读过的基本拓扑书各有特色，但是综合而言，我最推崇：
</p>
<p><font color="#00ff00"><u>Topology (2nd Ed.)&nbsp; by James Munkres</u></font>
</p>
<p>这本书是Munkres教授长期执教MIT拓扑课的心血所凝。对于一般拓扑学(General
topology)有全面介绍，而对于代数拓扑(Algebraic
topology)也有适度的探讨。此书不需要特别的数学知识就可以开始学习，由浅入深，从最基本的集合论概念（很多书不屑讲这个）到Nagata-
Smirnov Theorem和Tychonoff
theorem等较深的定理（很多书避开了这个）都覆盖了。讲述方式思想性很强，对于很多定理，除了给出证明过程和引导你思考其背后的原理脉络，很多令人
赞叹的亮点——我常读得忘却饥饿，不愿释手。很多习题很有水平。 </p>
<p><font color="#ffff00"><strong> <span style="color: red;">5. 流形理论 (Manifold theory)：</span></strong> </font>
</p>
<p>对于拓扑和分析有一定把握时，方可开始学习流形理论，否则所学只能流于浮浅。我所使用的书是
</p>
<p><u><font color="#00ff00">Introduction to Smooth Manifolds.&nbsp; by John M. Lee</font></u>
</p>
<p>虽然书名有introduction这个单词，但是实际上此书涉入很深，除了讲授了基本的manifold, tangent
space, bundle, sub-manifold等，还探讨了诸如纲理论(Category theory)，德拉姆上同调(De Rham
cohomology)和积分流形等一些比较高级的专题。对于李群和李代数也有相当多的讨论。行文通俗而又不失严谨，不过对某些记号方式需要熟悉一下。
</p>
<p>虽然李群论是建基于平滑流形的概念之上，不过，也可能从矩阵出发直接学习李群和李代数——这种方法对于急需使用李群论解决问题的朋友可能更加实用。而且，对于一个问题从不同角度看待也利于加深理解。下面一本书就是这个方向的典范：
</p>
<p><font color="#00ff00"><u>Lie Groups, Lie Algebras, and Representations: An Elementary Introduction.&nbsp; by Brian C. Hall</u></font>
</p>
<p>此书从开始即从矩阵切入，从代数而非几何角度引入矩阵李群的概念。并通过定义运算的方式建立exponential
mapping，并就此引入李代数。这种方式比起传统的通过&#8220;左不变向量场(Left-invariant vector
field)&#8220;的方式定义李代数更容易为人所接受，也更容易揭示李代数的意义。最后，也有专门的论述把这种新的定义方式和传统方式联系起来。 </p>
<p>————————————————————————————
</p>
<p>无论是研究Vision,
Learning还是其它别的学科，数学终究是根基所在。学好数学是做好研究的基石。学好数学的关键归根结底是自己的努力，但是选择一本好的书还是大有益
处的。不同的人有不同的知识背景，思维习惯和研究方向，因此书的选择也因人而异，只求适合自己，不必强求一致。上面的书仅仅是从我个人角度的出发介绍的，
我的阅读经历实在非常有限，很可能还有比它们更好的书（不妨也告知我一声，先说声谢谢了）。
</p>
</div>
<br>
<br><img src ="http://www.cppblog.com/bneliao/aggbug/61183.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bneliao/" target="_blank">bneliao</a> 2008-09-07 01:50 <a href="http://www.cppblog.com/bneliao/articles/61183.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>拓扑：游走于直观与抽象之间zz</title><link>http://www.cppblog.com/bneliao/articles/61181.html</link><dc:creator>bneliao</dc:creator><author>bneliao</author><pubDate>Sat, 06 Sep 2008 16:05:00 GMT</pubDate><guid>http://www.cppblog.com/bneliao/articles/61181.html</guid><wfw:comment>http://www.cppblog.com/bneliao/comments/61181.html</wfw:comment><comments>http://www.cppblog.com/bneliao/articles/61181.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bneliao/comments/commentRss/61181.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bneliao/services/trackbacks/61181.html</trackback:ping><description><![CDATA[http://dahua.spaces.live.com/blog/cns!28AF4251DF30CA42!2478.entry<br>6月22日
<h4 style="margin-bottom: 0px;" id="subjcns!28AF4251DF30CA42!2478">拓扑：游走于直观与抽象之间</h4>
<div id="msgcns!28AF4251DF30CA42!2478" class="bvMsg">
<p>近日来，抽空再读了一遍点集拓扑(Point Set Topology)，这是我第三次重新学习这个理论了。我看电视剧和小说，极少能有兴致看第二遍，但是，对于数学，每看一次都有新的启发和收获。 </p>
<p>代
数，分析，和拓扑，被称为是现代数学的三大柱石。最初读拓扑，是在两三年前，由于学习流形理论的需要。可是，随着知识的积累，发现它是很多理论的根基。可
以说，没有拓扑，就没有现代意义的分析与几何。我们在各种数学分支中接触到的最基本的概念，比如，极限，连续，距离（度量），边界，路径，在现代数学中，
都源于拓扑。 </p>
<p>拓扑学是一门非常奇妙的学科，它把最直观的现象和最抽象的概念联系在一起了。拓扑描述的是普遍使用的概念（比如开集，闭
集，连续），我们对这些概念习以为常，理所当然地使用着，可是，真要定义它，则需要对它们本质的最深刻的洞察。数学家们经过长时间的努力，得到了这些概念
的现代定义。这里面很多第一眼看上去，会感觉惊奇——怎么会定义成这个样子。 </p>
<p>首先是开集。在学习初等数学时，我们都学习开区间
(a,
b)。可是，这只是在一条线上的，怎么推广到二维空间，或者更高维空间，或者别的形体上呢？最直观的想法，就是&#8220;一个不包含边界的集合&#8221;。可是，问题来
了，给一个集合，何谓&#8220;边界&#8221;？在拓扑学里面，开集(Open
Set)是最根本的概念，它是定义在集合运算的基础上的。它要求开集符合这样的条件：开集的任意并集和有限交集仍为开集。 </p>
<p>我最初的时
候，对于这样的定义方式，确实百思不解。不过，读下去，看了和做了很多证明后，发现，这样的定义一个很重要的意义在于：它保证了开集中每个点都有一个邻域
包含在这个集合内——所有点都和外界（补集）保持距离。这样的理解应该比使用集合运算的定义有更明晰的几何意义。但是，直观的东西不容易直接形成严谨的定
义，使用集合运算则更为严格。而集合运算定义中，任意并集的封闭性是对这个几何特点的内在保证。 </p>
<p>另外一个例子就是&#8220;连续函数
&#8221;(Continuous Function)。在学微积分时，一个耳熟能详的定义是&#8220;对任意的epsilon &gt; 0，存在delta
&gt; 0，使得 。。。。&#8221;，背后最直观的意思就是&#8220;足够近的点保证映射到任意小的范围内&#8221;。可是，epsilon,
delta都依赖于实空间，不在实空间的映射又怎么办呢？拓扑的定义是&#8220;如果一个映射的值域中任何开集的原像都是开集，那么它连续。&#8221;这里就没有
epsilon什么事了。 </p>
<p>这里的关键在于，在拓扑学中，开集的最重要意义就是要传递&#8220;邻域&#8221;的意思——开集本身就是所含点的邻域。这样连续定义成这样就顺理成章了。稍微把说法调节一下，上面的定义就变成了&#8220;对于f(x)的任意领域U，都有x的一个邻域V，使得V里面的点都映射到U中。&#8221; </p>
<p>这里面，我们可以感受到为什么开集在拓扑学中有根本性的意义。既然开集传达&#8220;邻域&#8221;的意思，那么，它最重要的作用就是要表达哪些点靠得比较近。给出一个拓扑结构，就是要指出哪些是开集，从而指出哪些点靠得比较近，这样就形成了一个聚集结构——这就是拓扑。 </p>
<p>可是这也可以通过距离来描述，为什么要用开集呢，反而不直观了。某种意义上说，拓扑是&#8220;定性&#8221;的，距离度量是&#8220;定量&#8221;的。随着连续变形，距离会不断变化，但是靠近的点还是靠近，因此本身固有的拓扑特性不会改变。拓扑学研究的就是这种本质特性——连续变化中的不变性。 </p>
<p>在
拓扑的基本概念中，最令人费解的，莫过于&#8220;紧性&#8221;(Compactness)。它描述一个空间或者一个集合&#8220;紧不紧&#8221;。正式的定义是&#8220;如果一个集合的任意
开覆盖都有有限子覆盖，那么它是紧的&#8221;。乍一看，实在有点莫名其妙。它究竟想描述一个什么东西呢？和&#8220;紧&#8221;这个形容词又怎么扯上关系呢？ </p>
<p>一
个直观一点的理解，几个集合是&#8220;紧&#8221;的，就是说，无限个点撒进去，不可能充分散开。无论邻域多么小，必然有一些邻域里面有无限个点。上面关于
compactness的这个定义的玄机就在有限和无限的转换中。一个紧的集合，被无限多的小邻域覆盖着，但是，总能找到其中的有限个就能盖全。那么，后
果是什么呢？无限个点撒进去，总有一个邻域包着无数个点。邻域们再怎么小都是这样——这就保证了无限序列中存在极限点。 </p>
<p>Compact这个概念虽然有点不那么直观，可是在分析中有着无比重要的作用。因为它关系到极限的存在性——这是数学分析的基础。了解泛函分析的朋友都知道，序列是否收敛，很多时候就看它了。微积分中，一个重要的定理——有界数列必然包含收敛子列，就是根源于此。 </p>
<p>在
学习拓扑，或者其它现代数学理论之前，我们的数学一直都在有限维欧氏空间之中，那是一个完美的世界，具有一切良好的属性，Hausdorff,
Locally compact, Simply
connected，Completed，还有一套线性代数结构，还有良好定义的度量，范数，与内积。可是，随着研究的加深，终究还是要走出这个圈子。这
个时候，本来理所当然的东西，变得不那么必然了。<br></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 两个点必然能分开？你要证明空间是Hausdorff的。<br></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有界数列必然存在极限点？这只在locally compact的空间如此。<br></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一个连续体内任意两点必然有路径连接？这可未必。</p>
<p>一
切看上去有悖常理，而又确实存在。从线性代数到一般的群，从有限维到无限维，从度量空间到拓扑空间，整个认识都需要重新清理。而且，这些绝非仅是数学家的
概念游戏，因为我们的世界不是有限维向量能充分表达的。当我们研究一些不是向量能表达的东西的时候，度量，代数，以及分析的概念，都要重新建立，而起点就
在拓扑。</p>
</div>
<br>
<br><img src ="http://www.cppblog.com/bneliao/aggbug/61181.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bneliao/" target="_blank">bneliao</a> 2008-09-07 00:05 <a href="http://www.cppblog.com/bneliao/articles/61181.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>图˙谱˙马尔可夫过程˙聚类结构zz</title><link>http://www.cppblog.com/bneliao/articles/61180.html</link><dc:creator>bneliao</dc:creator><author>bneliao</author><pubDate>Sat, 06 Sep 2008 15:47:00 GMT</pubDate><guid>http://www.cppblog.com/bneliao/articles/61180.html</guid><wfw:comment>http://www.cppblog.com/bneliao/comments/61180.html</wfw:comment><comments>http://www.cppblog.com/bneliao/articles/61180.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bneliao/comments/commentRss/61180.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bneliao/services/trackbacks/61180.html</trackback:ping><description><![CDATA[http://dahua.spaces.live.com/blog/cns!28AF4251DF30CA42!2339.entry
<h4 style="margin-bottom: 0px;" id="subjcns!28AF4251DF30CA42!2339">图˙谱˙马尔可夫过程˙聚类结构</h4>
<div id="msgcns!28AF4251DF30CA42!2339" class="bvMsg"><br>
<p>题目中所说到的四个词语，都是Machine Learning以及相关领域中热门的研究课题。表面看属于不同的topic，实际上则是看待同一个问题的不同角度。不少文章论述了它们之间的一些联系，让大家看到了这个世界的奇妙。
</p>
<p style="color: red;"><strong> 从图说起</strong>
</p>
<p>这里面，最简单的一个概念就是&#8220;图&#8221;(Graph)，它用于表示事物之间的相互联系。每个图有一批节点(Node)，每个节点表示一个对
象，通过一些边(Edge)把这些点连在一起，表示它们之间的关系。就这么一个简单的概念，它对学术发展的意义可以说是无可估量的。几乎所有领域研究的东
西，都是存在相互联系的，通过图，这些联系都具有了一个统一，灵活，而又强大的数学抽象。因此，很多领域的学者都对图有着深入探讨，而且某个领域关于图的
研究成果，可以被其它领域借鉴。 </p>
<p style="color: red;"><strong> 矩阵表示：让代数进入图的世界</strong>
</p>
<p>在数学上，一种被普遍使用的表达就是邻接矩阵(Adjacency Matrix)。一个有N个节点的图，可以用一个N x
N的矩阵G表示，G(i,
j)用一个值表示第i个节点和第j个节点的联系，通常来说这个值越大它们关系越密切，这个值为0表示它们不存在直接联系。这个表达，很直接，但是非常重
要，因为它把数学上两个非常根本的概念联系在一起：&#8220;图&#8221;(Graph)和&#8220;矩阵&#8221;(Matrix)。矩阵是代数学中最重要的概念，给了图一个矩阵表达，
就建立了用代数方法研究图的途径。数学家们几十年前开始就看到了这一点，并且开创了数学上一个重要的分支——代数图论(Algebraic Graph
Theory)。 </p>
<p>代数图论通过图的矩阵表达来研究图。熟悉线性代数的朋友知道，代数中一个很重要的概念叫做&#8220;谱&#8221;(Spectrum)。一个矩阵的很多
特性和它的谱结构——就是它的特征值和特征向量是密切相关的。因此，当我们获得一个图的矩阵表达之后，就可以通过研究这个矩阵的谱结构来研究图的特性。通
常，我们会分析一个图的邻接矩阵(Adjacency Matrix)或者拉普拉斯矩阵(Laplace
Matrix)的谱——这里多说一句，这两种矩阵的谱结构刚好是对称的。 </p>
<p style="color: red;"><strong> 谱：&#8220;分而治之&#8221;的代数</strong>
</p>
<p>谱，这个词汇似乎在不少地方出现过，比如我们可能更多听说的频谱，光谱，等等。究竟什么叫&#8220;谱&#8221;呢？它的概念其实并不神秘，简单地说，谱这
个概念来自&#8220;分而治之&#8221;的策略。一个复杂的东西不好直接研究，就把它分解成简单的分量。如果我们把一个东西看成是一些分量叠加而成，那么这些分量以及它们
各自所占的比例，就叫这个东西的谱。所谓频谱，就是把一个信号分解成多个频率单一的分量。 </p>
<p>矩阵的谱，就是它的特征值和特征向量，普通的线性代数课本会告诉你定义：如果A v = c v，那么c
就是A的特征值，v就叫特征向量。这仅仅是数学家发明的一种数学游戏么？——也许有些人刚学这个的时候，并一定能深入理解这么个公式代表什么。其实，这里
的谱，还是代表了一种分量结构，它为使用&#8220;分而治之&#8221;策略来研究矩阵的作用打开了一个重要途径。这里我们可以把矩阵理解为一个操作(operator)，
它的作用就是把一个向量变成另外一个向量：y = A x。对于某些向量，矩阵对它的作用很简单，A v = cv，相当于就把这个向量v
拉长了c倍。我们把这种和矩阵A能如此密切配合的向量v1, v2, ... 叫做特征向量，这个倍数c1, c2,
...叫特征值。那么来了一个新的向量x 的时候，我们就可以把x 分解为这些向量的组合，x = a1 v1 + a2 v2 +
...，那么A对x的作用就可以分解了：A x = A (a1 v1 + a2 v2 + ...) = a1 c1 v1 + a2 c2 v2
... 所以，矩阵的谱就是用于分解一个矩阵的作用的。 </p>
<p>这里再稍微延伸一点。一个向量可以看成一个关于整数的函数，就是输入i，它返回v( i
)。它可以延伸为一个连续函数（一个长度无限不可数的向量，呵呵），相应的矩阵 A
变成一个二元连续函数（面积无限大的矩阵）。这时候矩阵乘法中的求和变成了积分。同样的，A的作用可以理解为把一个连续函数映射为另外一个连续函数，这时
候A不叫矩阵，通常被称为算子。对于算子，上面的谱分析方法同样适用（从有限到无限，在数学上还需要处理一下，不多说了）——这个就是泛函分析中的一个重
要部分——谱论（Spectral Theory）。 </p>
<p><font color="#ffff00"><strong> <span style="color: red;">马尔可夫过程——从时间的角度理解图</span></strong> </font>
</p>
<p>回到&#8220;图&#8221;这个题目，那么图的谱是干什么的呢？按照上面的理解，似乎是拿来分解一个图的。这里谱的作用还是分治，但是，不是直观的理解为把
图的大卸八块，而是把要把在图上运行的过程分解成简单的过程的叠加。如果一个图上每个节点都有一个值，那么在图上运行的过程就是对这些值进行更新的过程。
一个简单，大家经常使用的过程，就是马尔可夫过程(Markov Process)。 </p>
<p>学过随机过程的朋友都了解马尔可夫过程。概念很简单——&#8220;将来只由现在决定，和过去无关&#8221;。考虑一个图，图上每个点有一个值，会被不断
更新。每个点通过一些边连接到其它一些点上，对于每个点，这些边的值都是正的，和为1。在图上每次更新一个点的值，就是对和它相连接的点的值加权平均。如
果图是联通并且非周期（数学上叫各态历经性, ergodicity)，那么这个过程最后会收敛到一个唯一稳定的状态（平衡状态)。 </p>
<p>图上的马尔可夫更新过程，对于很多学科有着非常重要的意义。这种数学抽象，可以用在什么地方呢？(1)
Google对搜索结果的评估(PageRank)原理上依赖于这个核心过程，(2)
统计中一种广泛运用的采样过程MCMC，其核心就是上述的转移过程，(3)
物理上广泛存在的扩散过程（比如热扩散，流体扩散）和上面的过程有很重要的类比，(4) 网络中的信息的某些归纳与交换过程和上述过程相同
(比如Random
Gossiping)，还有很多。非常多的实际过程通过某种程度的简化和近似，都可以归结为上述过程。因此，对上面这个核心过程的研究，对于很多现象的理
解有重要的意义。各个领域的科学家从本领域的角度出发研究这个过程，得出了很多实质上一致的结论，并且很多都落在了图的谱结构的这个关键点上。 </p>
<p style="color: red;"><strong> 图和谱在此联姻</strong>
</p>
<p>根据上面的定义，我们看到邻接矩阵A其实就是这个马尔可夫过程的转移概率矩阵。我们把各个节点的值放在一起可以得到一个向量v，那么我们就
可以获得对这个过程的代数表示， v(t+1) = A v(t)。稳定的时候，v = A
v。我们可以看到稳定状态就是A的一个特征向量，特征值就是1。这里谱的概念进来了。我们把A的特征向量都列出来v1, v2, ...，它们有 A
vi = ci vi。vi其实就是一种很特殊，但是很简单的状态，对它每进行一轮更新，所有节点的值就变成原来的ci倍。如果0 &lt; ci
&lt; 1，那么，相当于所有节点的值呈现指数衰减，直到大家都趋近于0。 </p>
<p>一般情况下，我们开始于一个任意一个状态u，它的更新过程就没那么简单了。我们用谱的方法来分析，把u分解成 u = v1 +
c2 v2 + c3 v3 + ...
（在数学上可以严格证明，对于上述的转移概率矩阵，最大的特征值就是1，这里对应于平衡状态v1，其它的特征状态v2, v3, ...,
对应于特征值1 &gt; c2 &gt; c3 &gt; ... &gt; -1)。那么，我们可以看到，当更新进行了t 步之后，状态变成
u(t) = v1 + c2^t v2 + c3^t v3 + ...，我们看到，除了代表平衡状态的分量保持不变外，其它分量随着t
增长而指数衰减，最后，其它整个趋近于平衡状态。 </p>
<p>从上面的分析看到，这个过程的收敛速度，其实是和衰减得最慢的那个非平衡分量是密切相关的，它的衰减速度取决于第二大特征值c2，c2
的大小越接近于1，收敛越慢，越接近于0，收敛越快。这里，我们看到了谱的意义。第一，它帮助把一个图上运行的马尔可夫过程分解为多个简单的字过程的叠
加，这里面包含一个平衡过程和多个指数衰减的非平衡过程。第二，它指出平衡状态是对应于最大特征值1的分量，而收敛速度主要取决于第二大特征值。 </p>
<p>我们这里知道了第二大特征值c2对于描述这个过程是个至关重要的量，究竟是越大越好，还是越小越好呢？这要看具体解决的问题。如果你要
设计一个采样过程或者更新过程，那么就要追求一个小的c2，它一方面提高过程的效率，另外一方面，使得图的结构改变的时候，能及时收敛，从而保证过程的稳
定。而对于网络而言，小的c2有利于信息的迅速扩散和传播。 </p>
<p style="color: red;"><strong> 聚类结构——从空间的角度理解图</strong>
</p>
<p>c2的大小往往取决于图上的聚类结构。如果图上的点分成几组，各自聚成一团，缺乏组与组之间的联系，那么这种结构是很不利于扩散的。在某些
情况下，甚至需要O(exp(N))的时间才能收敛。这也符合我们的直观想象，好比两个大水缸，它们中间的只有一根很细的水管相连，那么就需要好长时间才
能达到平衡。有兴趣的朋友可以就这个水缸问题推导一下，这个水缸系统的第二大特征值和水管流量与水缸的容积的比例直接相关，随比例增大而下降。 </p>
<p>对于这个现象进行推广，数学上有一个重要的模型叫导率模型(Conductance)。具体的公式不说了，大体思想是，节点集之间的导
通量和节点集大小的平均比例和第二大特征值之间存在一个单调的上下界关系。导率描述的是图上的节点连接的空间结合，这个模型把第二特征值c2和图的空间聚
集结构联系在一起了。
</p>
<p>图上的聚类结构越明显， c2越大；反过来说，c2越大，聚类的结构越明显，(c2 =
1)时，整个图就断裂成非连通的两块或者多块了。从这个意义上说，c2越大，越容易对这个图上的点进行聚类。机器学习中一个重要课题叫做聚类，近十年来，
基于代数图论发展出来的一种新的聚类方法，就是利用了第二大特征值对应的谱结构，这种聚类方法叫做谱聚类(Spectral
Clustering)。它在Computer Vision里面对应于一种著名的图像分割方法，叫做Normalized
Cut。很多工作在使用这种方法。其实这种方法的成功，取决于c2的大小，也就是说取决于我们如何构造出一个利于聚类的图，另外c2的值本身也可以作为衡
量聚类质量，或者可聚类性的标志。遗憾的是，在paper里面，使用此方法者众，深入探讨此方法的内在特点者少。 </p>
<p><font color="#ffff00"><strong> <span style="color: red;">归纳起来</span></strong></font><br></p>
<p>图是表达事物关系和传递扩散过程的重要数学抽象<br></p>
<p>图的矩阵表达提供了使用代数方法研究图的途径<br></p>
<p>谱，作为一种重要的代数方法，其意义在于对复杂对象和过程进行分解<br></p>
<p>图上的马尔可夫更新过程是很多实际过程的一个重要抽象<br></p>
<p>图的谱结构的重要意义在于通过它对马尔可夫更新过程进行分解分析<br></p>
<p>图的第一特征值对应于马尔可夫过程的平衡状态，第二特征值刻画了这个过程的收敛速度（采样的效率，扩散和传播速度，网络的稳定程度）。<br></p>
<p>图的第二特征分量与节点的聚类结构密切相关。可以通过谱结构来分析图的聚类结构。</p>
<p><font color="#80ff00"><u><strong> <span style="color: red;">马尔可夫过程代表了一种时间结构，聚类结构代表了一种空间结构，&#8220;谱&#8221;把它们联系在一起了，在数学刻画了这种时与空的深刻关系</span>。</strong> </u></font>
</p>
</div>
<br> <img src ="http://www.cppblog.com/bneliao/aggbug/61180.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bneliao/" target="_blank">bneliao</a> 2008-09-06 23:47 <a href="http://www.cppblog.com/bneliao/articles/61180.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>How to get a solution?zz</title><link>http://www.cppblog.com/bneliao/articles/61178.html</link><dc:creator>bneliao</dc:creator><author>bneliao</author><pubDate>Sat, 06 Sep 2008 15:39:00 GMT</pubDate><guid>http://www.cppblog.com/bneliao/articles/61178.html</guid><wfw:comment>http://www.cppblog.com/bneliao/comments/61178.html</wfw:comment><comments>http://www.cppblog.com/bneliao/articles/61178.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bneliao/comments/commentRss/61178.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bneliao/services/trackbacks/61178.html</trackback:ping><description><![CDATA[http://dahua.spaces.live.com/blog/cns!28AF4251DF30CA42!2323.entry<br>4月10日
<h4 style="margin-bottom: 0px;" id="subjcns!28AF4251DF30CA42!2323">How to get a solution?</h4>
<div id="msgcns!28AF4251DF30CA42!2323" class="bvMsg">
<p>我们所做的topic，一般有几个阶段：
<br></p>
<p><span style="color: red;">Analysis</span>: 分析问题，找到问题的关键
<br></p>
<p><span style="color: red;">Modeling / Formulation</span>:&nbsp; 对问题进行数学抽象，建立模型，或者formulate目标函数
<br></p>
<p><span style="color: red;">Solving</span>: 设计出求解的算法
<br></p>
<p><span style="color: red;">Experiments</span>: 实验</p>
<ul>
</ul>
<p>最近的工作都集中在Solving这部分，就说说这个吧。
</p>
<p>求解的方法
</p>
<p>求解问题有很多不同的方法，就我知道的来说，大概有这么几个大家族。
</p>
<ol>
    <li>
    <p><font color="#ffff00"><strong> <span style="color: red;">Heuristics。</span></strong> </font>就是根据对问题的观察而设
    计的一些简单的方法，不一定遵循什么规范，或者有什么深刻的数学根据。这类方法往往比较简单易懂，intuition比较明显，很多时候
    performance也挺不错的，不见得比高深的方法差，因而在实际工程中很受欢迎，几乎应用在全部的学科。不过，好像很多朋友对这类方法颇为不屑，认
    为&#8220;没有技术含量&#8221;，或者叫做&#8220;没有理论深度&#8221;。 </p>
    <p>确实，有相当部分的Heuristics纯粹粗制滥造，投机取巧。不过，还有很多Heuristics虽然简单，但是切中问题要害，在
    长期的复杂的实际应用中经受住了考验。这些方法，表面看来可能只是再简单不过的几条四则运算公式，说不上多少理论，但是并不代表它没有深刻的理论基础。一
    个典型的例子是Google
    PageRank中使用的传导公式（简单版本），道理和公式都很简单，可是，做过类似工作的朋友可能都知道，它和代数图论以及马尔可夫随机过程有着很深的
    联系。 又比如，Fourier
    Transform在刚出来的时候，仅仅是工程师的一些heuristics，后来关于它的理论已经成为了泛函分析的一个核心组成部分，也是信号处理的理
    论基础之一。 </p>
    <p>真正好的heuristics，它的好处肯定不是瞎懵出来，而是有内在原因的。对它们的原理的探索，不断带动理论方面的发展，甚至创造
    了新的理论方向。说到这里，有人可能会argue，这是&#8220;理论家们在故弄玄虚混饭吃&#8221;。Hmm，这种说法我不能认同，但是，确实存在&#8220;把工程方法胡乱进行
    理论化&#8221;的事实。什么才叫有价值的理论化，而不是故弄玄虚，确实值得思考，这里先不展开了。 </p>
    <p>
    </p>
    <p>
    </p>
    </li>
    <li>
    <p><strong style="color: red;"> Analytical Solution。</strong> 当你把
    问题formulate出来后，有些情况是直接可以从问题推导出解析解的。这种情况通常存在于objective
    function是Linear或者Quadratic的情况。大家都很喜欢这种情况的出现，理论漂亮，实现简洁。但是，据我的观察，很多情况下，这种
    elegance是通过减化模型换取的。把cost写成quadratic
    term，把distribution假设为Gauss，很多时候都能得到这样的结果。 </p>
    <p>我不反对进行简化，也欣赏漂亮的analytical
    solution，如果它把问题解决得很好。但是，这里面有个问题，很多能获得简单解析解的问题已经被做过了，剩下的很多难点，未必是一个简化模型能有效
    解决的。简化是一种很好的方法，但是，使用起来，尤其是在实际中的应用必须慎重，要清楚了解它们可能带来的问题。 </p>
    <p>比如说，很多模型喜欢使用差的平方来衡量误差大小。但是，这很早就被指出是unrobust的，一个很大的deviation会
    dominate整个optimization，使得solution严重偏离方向。如果这种robustness在带解决的问题中是一个必须考虑的要
    素，那么用平方误差就要仔细考虑了。 </p>
    <p>
    </p>
    </li>
    <li>
    <p><strong style="color: red;"> Numerical Optimization。</strong> 如
    果formulation没有解析解，那么自然的想法就是使用数值方法求解。目前大家常用的是基于Gradient/Hessian之类的local
    optimization的方法，有时会加上random initialization。如果objective
    function是convex的，那么这种方法保证收敛到global optimal，这是大家很希望的。convex
    problem无论在formulation还是在solution的阶段，都是很有学问的。很多问题可以formulate成convex的，但是未必
    都那么直接，这需要有这方面的基础。Solving一个convex
    problem有现成的方法，但是，如果能对问题的结构有insightful的观察，可能能利用问题本身的特点大幅度降低求解的复杂度——这往往比直接
    把问题扔进solver里面等答案更有意义。 </p>
    <p>除了convex optimization，还有一种数值方法应用非常广泛，叫做coordinate
    ascend或者alternate
    optimization。大概的思路是，几个有关的变量，轮流选择某个去优化，暂时固定其它的。在Machine
    Learning里面非常重要的Expectation-Maximization
    (EM算法)就属于这个大家族。另外，很多复杂的graphical model采用的variational
    inference也是属于此类。使用这类方法，有两个问题：一个是如果几个variable之间相互影响，变一个，其他跟着变的话，那么直接使用这种方
    法可能是错误的，并不能保证收敛。另外一个问题是，如果problem不是convex的话，可能没有任何保证你得到的solution和global
    solution有联系。很可能，你得到的解和真正的全局最优解相差十万八千里。这个没有什么通用有效的途径来解决。不过，针对具体问题的结构特点，在求
    解过程中施加一定的引导是有可能的。 </p>
    <p>
    </p>
    </li>
    <li>
    <p><font color="#ffff00"><strong> <span style="color: red;">Dynamic Programming。</span></strong> </font>这个方
    法更多见于经典计算机算法中，不过现在越来越多在Vision和Learning见到它的影子。主要思路是把大问题分解为小问题，总结小问题的
    solution为大问题的solution。至于如何设计分解和综合的过程，依赖于对问题的观察和分析，并无通用的法则可循。用DP解决问题的洞察力需
    要逐步的积累。不少经典算法就源自于DP，比如shotest
    path。一个可能有用的观察是，如果问题或者模型呈现链状，树状，或者有向无环图结构的，可能很有希望能通过DP高效解决。 </p>
    <p>
    </p>
    </li>
    <li>
    <p><strong style="color: red;"> Local Exchange。</strong> 很多建立在图上的
    问题，都可以通过某种局部交换来达到全局的平衡。像Belief propagation, Junction tree等等在graphical
    model的重要inference方法，还有tranduction
    model，都用到了类似的策略。这在实践中被证明为非常有效。但是，并不是随便设计的局部交换过程都是收敛的。这里面需要关注两个问题：(1)交换过程
    是不是能保证某些重要的invariance不被破坏；(2)交换过程中，是不是有一个objective，比如距离全局平衡的deviation，它在
    每一步都保持单调。有很多交换过程，在有向无环图中保证收敛，但是，在带环图中由于信息的重复传递可能引起不稳定，或者不能收敛到正确的解。 </p>
    <p>
    </p>
    </li>
    <li>
    <p><font color="#ffff00"><strong> <span style="color: red;">Monte Carlo Sampling。</span></strong> </font>蒙特
    卡罗采样的原理非常简单，就是用样本平均，来逼近期望（这个可能需要用intractable的积分完成，没法直接算）。求平均很简单，关键在于采样过
    程。我们求解问题，通常是在后验分布中采样，这种分布在大部分问题中，不要说直接采样了，可能连解析形式都没法给出。如果采样问题有效解决了，基本上我们
    研究的大部分问题其实都可以通过采样完成。 </p>
    <p>由于直接采样往往非常困难，于是就产生了其它的方法，间接做这个事情。一种想法就是，既然p(x)不好直接采，我找一个比较容易采样的
    q(x)来逼近p(x)，然后给从q(x)采出的每个样本加一个weight，p(x) /
    q(x)。这在理论上被严格证明是对的——这种方法叫做Importance
    Sampling。这里的问题在于，如果q(x)和p(x)不太接近，那么采样效率非常低下，如果在一个高维空间，可能采1000年都达不到要求。可是，
    要得到一个approximate很好的q(x)本身不比直接从p(x)采样来得容易。 </p>
    <p>还有一种聪明一点的方法，叫sequential importance
    sampling。在这里面q(x)，不是一蹴而就建立起来的，而是每个样本先采一部分，然后根据那部分，确定下一部分的proposal
    distribution，继续采，也就是说q(x)和样本都是dynamically built
    up。这个方法在vision里面一个非常著名的应用是用于tracking，相应发展出来的方法论叫做particle filtering。 </p>
    <p>另外一大类重要的采样方法，叫Markov Chain Monte
    Carlo(MCMC)。这个的想法是，设计一个马尔科夫链，让它的平衡分布恰好是p(x)，那么等它平衡时开始采。以前我们做随机过程作业是已知一个
    markov chain，求equilibrium
    distribution，设计MCMC就是反过来了。最重要的MCMC方法莫过于Metropolis-Hastings
    Algorithm和Gibbs Sampling，前者常被用于设计在solution space的随机游走(Random
    walk)，后者则是conditional sampling的基础方法。 </p>
    <p>可是Markov过程怎么转移呢。最简单的Random Walk结合acceptance
    rate之后理论上是对的。可是，让sampler随便乱走，猴年马月才能把solution
    space走一遍阿。于是，有人提出结合一个solution space的局部信息来引导它往有用的方向走。一个重要的方法叫做Hybric
    Monte
    Carlo(HMC)，想法就是把它模拟成一个物理场，把要sample的分布视为波尔兹曼分布后获得物理场的势能，通过哈密顿动力学模型（其实就是牛顿
    力学的推广）来驱动sampler。可是，如果问题更为复杂呢，比如整个solution
    space有几个井，sample掉到某一个井可能出不来了。为了解决这个问题，一种重要的方法叫Tempering，就是开始给分子充分加热，让它获得
    足够的动能能在各个井之间来回跳，然后逐步冷却，从而能捕捉到多个势井。 </p>
    <p>Monte
    Carlo方法较早的时候主要用于统计物理，目前已经广泛应用于计算机，生物，化学，地质学，经济学，社会学等等的研究。这是目前所知道的用于求解复杂的
    真实模型的最有效的方法。它的核心，就是猜——你直接解不出来，只好猜了，呵呵。但是，怎样才能猜得准，则是大有学问——几十年来各个领域关于Monte
    Carlo研究的工作汗牛充栋，有很多进展，但是还有很长的路要走。</p>
    </li>
</ol>
<p>和这里很多留学生一样，我一向潜心于自己的学习和研究。可是最近，我们的世界并不宁静，我认识的不只一个在美国的朋友受到了不太友好的挑衅——在不
知不觉中，我们可能已经身处反分裂和支持奥运的前线。我看到包括MIT
CSSA在内的很多学生团体开始组织起来支持自己的祖国。我没有具体帮上什么，但是，我对所有在用自己的行动捍卫国家荣誉的同胞怀有最深的敬意。我也希
望，我的努力，能让外国的朋友明白中国人是值得尊敬的。</p>
</div>
<br>
<br> <img src ="http://www.cppblog.com/bneliao/aggbug/61178.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bneliao/" target="_blank">bneliao</a> 2008-09-06 23:39 <a href="http://www.cppblog.com/bneliao/articles/61178.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>漫话距离zz</title><link>http://www.cppblog.com/bneliao/articles/61147.html</link><dc:creator>bneliao</dc:creator><author>bneliao</author><pubDate>Sat, 06 Sep 2008 09:38:00 GMT</pubDate><guid>http://www.cppblog.com/bneliao/articles/61147.html</guid><wfw:comment>http://www.cppblog.com/bneliao/comments/61147.html</wfw:comment><comments>http://www.cppblog.com/bneliao/articles/61147.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bneliao/comments/commentRss/61147.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bneliao/services/trackbacks/61147.html</trackback:ping><description><![CDATA[http://dahua.spaces.live.com/blog/cns!28AF4251DF30CA42!2069.entry<br>1月23日
<h4 style="margin-bottom: 0px;" id="subjcns!28AF4251DF30CA42!2069">漫话距离</h4>
<div id="msgcns!28AF4251DF30CA42!2069" class="bvMsg">
<p>我
们的生活从来不缺乏距离的概念，无论是时间的还是空间的，可以测量的还是不可以测量的。自我们来到这个世界，就会用我们还很幼小的眼睛测量着自己和身边的
人的距离，然后跟着距离自己最近的人学叫&#8220;妈妈&#8221;；长大了，我们学会了用&#8220;距离产生美&#8221;这种不知道属于公理还是定理的命题，提醒自己不要和心仪的mm走得
太近；而垂垂老矣的人们则开始计算自己到生命终点的距离，盘算着什么时候该立遗嘱了。 </p>
<p>什么叫距离呢？随便翻开一本数学教科书，你会发
现，这些书会在这个或者那个角落告诉你，所谓距离，就是一个符合对称性和三角不等式的非负二元函数。为什么要符合对称性和三角不等式呢——大部分的书会告
诉你，这是规定——不符合的就不是距离。少部分负责任一些的书会告诉你，不符合这些条件的&#8220;距离&#8221;会多麻烦。于是你接受了。 </p>
<p>当你放下书
本，回到我们多姿多彩的生活中的时候，这个呆板的定义似乎不能有效地解决你生活中的问题。你去hiking的时候，入口处告诉你，从山下到山上的距离是多
少多少里路，按说上山和下山的距离是一样的，可是当你攀到山顶又走回来的时候，心里可能犯嘀咕，怎么感觉距离不一样呢？伟大的数学家们是不会错的。这是相
对论！——那些费了半天劲才把洛仑兹变换搞明白的人们，生怕错过了这个机会就没有机会显示自己深厚的物理底蕴了。不过，我只是相信一点，根据目前人类的进
化水平，即使把世界短跑冠军的运动速度和地球公转自转速度加起来再乘以10，离光速还远着呢。 </p>
<p>再说一个例子，不知道男同胞们是不是发
现，当你想去接近你的梦中情人的时候，距离似乎遥不可及——走出太阳系似乎都没有那么远，反过来，当她想接近你的时候，这个距离比任何预先给定的正实数都
小——我有点怀疑，牛顿或者莱布尼茨当年是不是有过类似体验，才总结出了微机分——这告诉我们为什么微机分不是女生提出的。 </p>
<p>为了能让距
离去解释上面说到的现象，我们有必要把它的概念推广一下，把对称性去掉——很多情况下，我们甚至把三角不等式也去掉。一个著名的例子，就是
Kullback-Leibler
divergence——用来描述两个分布的&#8220;距离&#8221;。大家注意了，这里定义这个的人很聪明，为了不和数学家作对，他选择叫做divergence，而不
是distance。不过，很多信息论和统计学的书都犹抱琵琶半遮面地告诉我们，其实可以把它YY成为某种距离。伴随着对称性的丧失，距离的方向性出现
了。就是说从a到b的距离，和从b到a的距离是不一样的——恩，这种推广看起来很适合用来计算你和你心仪的人的距离，或者山顶和山脚的距离。 </p>
<p>小
学老师告诉我们怎么去量度两个点之间的距离，就是拿一把尺子。可是，很多时候，你没有机会使用直尺的。你所能做的就是从这点走到那点，看看费了多少劲——
这就是我们大多数人在生活经验中的距离。黎曼老先生，作为理论联系实际的代表，第一次从在数学上总结了这种生活上的距离——geodesic
distance，中文叫做测地距离。它是怎么算距离的呢？就是从起点出发，一步步走向目标，然后把每一步费了多少劲加起来。至于，每一步费了多少劲怎么
算，大家都可以有不同的算法——但是，这些都叫Riemann Metric。
为了大家计算距离时的身体健康，鼓励大家节省能源，规定，只有按照最省事的方法到达目标，这样算出来的才叫距离。
不过，在很多实际应用中，大家只能找到比较省事的方法，未必是&#8220;最省的&#8221;，也睁一只眼闭一只眼，把算出来的东西追加&#8220;距离&#8221;的光荣称号。 </p>
<p>打
破对称性的千年枷锁，扔掉直尺这种陈腐工具，人们获得了空前的思想解放。男生和女生们开始附庸风雅地用曾经只存在于象牙塔的概念——距离——去评价自己和
她或者他的关系。如何评价，见仁见智——在我看来，很多人的metric里面不外乎写了多少情书，给电信公司贡献了多少短信费，qq/msn在线了多少时
间，又或者吃了多少顿麦当劳。。。。。。在这个定义的基础上，&#8220;距离产生美&#8221;——这个挂在多少人口头的箴言横空出世了。根据距离就是费了多少劲的意思，这
句话告诉我们，只有费了很多功夫，死了无数脑细胞，才能得到，或者还得不到的才是美的；信手而获，不需要追求的，就谈不上美了。从这个意义上说，这句话和
高中的学到的&#8220;劳动产生价值&#8221;的道理是一样的，只不过，&#8220;劳动产生价值&#8221;是物质层次的——太俗了，&#8220;距离产生美&#8221;是精神层次的，档次和格调显然不一样。</p>
</div>
<br>
<br><img src ="http://www.cppblog.com/bneliao/aggbug/61147.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bneliao/" target="_blank">bneliao</a> 2008-09-06 17:38 <a href="http://www.cppblog.com/bneliao/articles/61147.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>学习数学zz</title><link>http://www.cppblog.com/bneliao/articles/61143.html</link><dc:creator>bneliao</dc:creator><author>bneliao</author><pubDate>Sat, 06 Sep 2008 09:34:00 GMT</pubDate><guid>http://www.cppblog.com/bneliao/articles/61143.html</guid><wfw:comment>http://www.cppblog.com/bneliao/comments/61143.html</wfw:comment><comments>http://www.cppblog.com/bneliao/articles/61143.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/bneliao/comments/commentRss/61143.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bneliao/services/trackbacks/61143.html</trackback:ping><description><![CDATA[http://dahua.spaces.live.com/blog/cns!28AF4251DF30CA42!1911.entry
<br>1月9日
<h4 style="margin-bottom: 0px;" id="subjcns!28AF4251DF30CA42!1911">学习数学</h4>
<div id="msgcns!28AF4251DF30CA42!1911" class="bvMsg">
<p>感觉数学似乎总是不够的。这些日子为了解决research中的一些问题，又在图书馆捧起了数学的教科书。 </p>
<p>从
大学到现在，课堂上学的和自学的数学其实不算少了，可是在研究的过程中总是发现需要补充新的数学知识。Learning和Vision都是很多种数学的交
汇场。看着不同的理论体系的交汇，对于一个researcher来说，往往是非常exciting的enjoyable的事情。不过，这也代表着要充分了
解这个领域并且取得有意义的进展是很艰苦的。 </p>
<p>记得在两年前的一次blog里面，提到过和learning有关的数学。今天看来，我对于数学在这个领域的作用有了新的思考。 </p>
<p>对于Learning的研究， </p>
<p><font style="color: red;" color="#ffff00">Linear Algebra (线性代数)</font> 和 <font style="color: red;" color="#ffff00">Statistics (统计学)</font>
是最重要和不可缺少的。这代表了Machine
Learning中最主流的两大类方法的基础。一种是以研究函数和变换为重点的代数方法，比如Dimension reduction，feature
extraction，Kernel等，一种是以研究统计模型和样本分布为重点的统计方法，比如Graphical model,
Information theoretical
models等。它们侧重虽有不同，但是常常是共同使用的，对于代数方法，往往需要统计上的解释，对于统计模型，其具体计算则需要代数的帮助。 </p>
<p>以代数和统计为出发点，继续往深处走，我们会发现需要更多的数学。 </p>
<p><font style="color: red;" color="#ffff00">Calculus (微积分)，</font>只
是数学分析体系的基础。其基础性作用不言而喻。Learning研究的大部分问题是在连续的度量空间进行的，无论代数还是统计，在研究优化问题的时候，对
一个映射的微分或者梯度的分析总是不可避免。而在统计学中，Marginalization和积分更是密不可分——不过，以解析形式把积分导出来的情况则
不多见。 </p>
<p><font color="#ffff00"><span style="color: red;">Partial Differential Equation （偏微分方程)</span>，</font>这主要用于描述动态过程，或者仿动态过程。这个学科在Vision中用得比Learning多，主要用于描述连续场的运动或者扩散过程。比如Level set, Optical flow都是这方面的典型例子。 </p>
<p><font style="color: red;" color="#ffff00">Functional Analysis (泛函分析)，</font>
通俗地，可以理解为微积分从有限维空间到无限维空间的拓展——当然了，它实际上远不止于此。在这个地方，函数以及其所作用的对象之间存在的对偶关系扮演了
非常重要的角色。Learning发展至今，也在向无限维延伸——从研究有限维向量的问题到以无限维的函数为研究对象。Kernel Learning
和 Gaussian Process
是其中典型的例子——其中的核心概念都是Kernel。很多做Learning的人把Kernel简单理解为Kernel
trick的运用，这就把kernel的意义严重弱化了。在泛函里面，Kernel (Inner Product)
是建立整个博大的代数体系的根本，从metric, transform到spectrum都根源于此。 </p>
<p><font style="color: red;" color="#ffff00">Measure Theory (测度理论)，</font>这
是和实分析关系非常密切的学科。但是测度理论并不限于此。从某种意义上说，Real Analysis可以从Lebesgue
Measure（勒贝格测度）推演，不过其实还有很多别的测度体系——概率本身就是一种测度。测度理论对于Learning的意义是根本的，现代统计学整
个就是建立在测度理论的基础之上——虽然初级的概率论教科书一般不这样引入。在看一些统计方面的文章的时候，你可能会发现，它们会把统计的公式改用测度来
表达，这样做有两个好处：所有的推导和结论不用分别给连续分布和离散分布各自写一遍了，这两种东西都可以用同一的测度形式表达：连续分布的积分基于
Lebesgue测度，离散分布的求和基于计数测度，而且还能推广到那种既不连续又不离散的分布中去（这种东西不是数学家的游戏，而是已经在实用的东西，
在Dirchlet Process或者Pitman-Yor
Process里面会经常看到)。而且，即使是连续积分，如果不是在欧氏空间进行，而是在更一般的拓扑空间（比如微分流形或者变换群），那么传统的黎曼积
分（就是大学一年级在微积分课学的那种）就不work了，你可能需要它们的一些推广，比如Haar
Measure或者Lebesgue-Stieltjes积分。 </p>
<p><font style="color: red;" color="#ffff00">Topology（拓扑学)，</font>这
是学术中很基础的学科。它一般不直接提供方法，但是它的很多概念和定理是其它数学分支的基石。看很多别的数学的时候，你会经常接触这样一些概念：Open
set / Closed set，set basis，Hausdauf,&nbsp; continuous function，metric
space,&nbsp; Cauchy sequence, neighborhood,&nbsp; compactness,
connectivity。很多这些也许在大学一年级就学习过一些，当时是基于极限的概念获得的。如果，看过拓扑学之后，对这些概念的认识会有根本性的拓
展。比如，连续函数，当时是由epison法定义的，就是无论取多小的正数epsilon，都存在xxx，使得xxx。这是需要一种metric去度量距
离的，在general
topology里面，对于连续函数的定义连坐标和距离都不需要——如果一个映射使得开集的原像是开集，它就是连续的——至于开集是基于集合论定义的，不
是通常的开区间的意思。这只是最简单的例子。当然，我们研究learning也许不需要深究这些数学概念背后的公理体系，但是，打破原来定义的概念的局限
在很多问题上是必须的——尤其是当你研究的东西它不是在欧氏空间里面的时候——正交矩阵，变换群，流形，概率分布的空间，都属于此。 </p>
<p><font style="color: red;" color="#ffff00">Differential Manifold (微分流形)，</font><span style="color: red;">
</span>通俗地说它研究的是平滑的曲面。一个直接的印象是它是不是可以用来fitting一个surface什么的——当然这算是一种应用，但是这是非常初步的。
本质上说，微分流形研究的是平滑的拓扑结构。一个空间构成微分流形的基本要素是局部平滑：从拓扑学来理解，就是它的任意局部都同胚于欧氏空间，从解析的角
度来看，就是相容的局部坐标系统。当然，在全局上，它不要求和欧氏空间同胚。它除了可以用于刻画集合上的平滑曲面外，更重要的意义在于，它可以用于研究很
多重要的集合。一个n-维线性空间的全部k-维子空间(k &lt; n)就构成了一个微分流形——著名的Grassman
Manifold。所有的标准正交阵也构成一个流形。一个变换群作用于一个空间形成的轨迹(Orbit)
也是通常会形成流形。在流形上，各种的分析方法，比如映射，微分，积分都被移植过来了。前一两年在Learning里面火了好长时间的Manifold
Learning其实只是研究了这个分支的其中一个概念的应用: embedding。其实，它还有很多可以发掘的空间。 </p>
<p><font style="color: red;" color="#ffff00">Lie Group Theory (李群论)，</font>一
般意义的群论在Learning中被运用的不是很多，群论在Learning中用得较多的是它的一个重要方向Lie
group。定义在平滑流行上的群，并且其群运算是平滑的话，那么这就叫李群。因为Learning和编码不同，更多关注的是连续空间，因为Lie
group在各种群中对于Learning特别重要。各种子空间，线性变换，非奇异矩阵都基于通常意义的矩阵乘法构成李群。在李群中的映射，变换，度量，
划分等等都对于Learning中代数方法的研究有重要指导意义。 </p>
<p><font style="color: red;" color="#ffff00">Graph Theory（图论)，</font>图，
由于它在表述各种关系的强大能力以及优雅的理论，高效的算法，越来越受到Learning领域的欢迎。经典图论，在Learning中的一个最重要应用就
是graphical models了，它被成功运用于分析统计网络的结构和规划统计推断的流程。Graphical
model所取得的成功，图论可谓功不可没。在Vision里面，maxflow
(graphcut)算法在图像分割，Stereo还有各种能量优化中也广受应用。另外一个重要的图论分支就是Algebraic graph
theory (代数图论)，主要运用于图的谱分析，著名的应用包括Normalized Cut和Spectral
Clustering。近年来在semi-supervised learning中受到特别关注。</p>
</div>
<br><br> <img src ="http://www.cppblog.com/bneliao/aggbug/61143.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bneliao/" target="_blank">bneliao</a> 2008-09-06 17:34 <a href="http://www.cppblog.com/bneliao/articles/61143.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于平均值zz</title><link>http://www.cppblog.com/bneliao/articles/61140.html</link><dc:creator>bneliao</dc:creator><author>bneliao</author><pubDate>Sat, 06 Sep 2008 09:06:00 GMT</pubDate><guid>http://www.cppblog.com/bneliao/articles/61140.html</guid><wfw:comment>http://www.cppblog.com/bneliao/comments/61140.html</wfw:comment><comments>http://www.cppblog.com/bneliao/articles/61140.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bneliao/comments/commentRss/61140.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bneliao/services/trackbacks/61140.html</trackback:ping><description><![CDATA[http://dahua.spaces.live.com/blog/cns!28AF4251DF30CA42!2078.entry
<br>1月27日
<h4 style="margin-bottom: 0px;" id="subjcns!28AF4251DF30CA42!2078">关于平均值</h4>
<div id="msgcns!28AF4251DF30CA42!2078" class="bvMsg">
<p>小时候，老师就告诉我们，读书讲究先由薄而厚，再由厚而薄。前者是吸收和积累，后者是融会和消化。
</p>
<p>这些年，读了不少关于统计学习的东西，很多东西都记不清楚了。从我自己的角度看来（可能是很肤浅的），学概率和统计，关键是记住三个概念：测度(measure)，期望(expectation)，和独立性(independence)。
</p>
<p>测度是现代概率理论的基石。在经典的概率论里面——比如我们在本科学的那些——大多是通过举例子和文字说明的方式告诉你概率是什么，这容易
明白，不过缺乏严密的公理化根基。现代概率论整个建立在测度理论的基础上，概率的定义非常简单，不过也很抽象——所谓&#8220;概率&#8221;，就是归一化的测度。没有测
度，就没有整个概率论的大厦，所以它很重要——不过，它在实用中直接用上的机会不大，所以不是这篇文章的主体。关于独立性，以及它的一个孪生的名
词：Markov，也扮演着非常重要的角色，它是Graphical models的基础。有兴趣的可以去读M. I. Jordan的书。 </p>
<p>而在统计学习的实际应用中，就是你平时写code，用得最多的就是期望，或者一个通俗点的版本——平均值。其实这两者不太一样，期望是从model出发演绎的，平均值通常是指从data出发归纳的。不过它们的关系确实非常密切。
</p>
<p><font color="#ffff00"><strong> <span style="color: red;">统计学习在很多情况下，就是求平均值</span></strong> </font>
</p>
<p>我们平常说去Learn一个model——其实，在很多情况下，这就是干一件听上去很简单的事情，求平均值。我们知道，我们所接触的大部分
重要的概率分布，都属于exponential family，比如Gauss, Binomial, Multinomial,
Dirichlet, Poisson, Exponential,
Gamma等等分布都属于这个家族。它的一个重要特点就是——得期望者得天下。就是说，知道了某些统计量的期望，就知道了整个model，至于model
的参数，或者就是期望本身（比如Gauss)，或者不难从期望中得到。可以证明，对于这些model，对它们的最大似然估计(Maximum
Likelihood estimation)，就是从data中算出某些统计量的平均值作为model的期望。 </p>
<p>在Bayes学习中，我们还考虑先验分布(prior)。在这里，model的估计还是求平均值。所谓prior是怎么来的？就是以前
曾经观察过的data那里总结得到的，然后以prior的形式影响当前的model估计。一般而言，使用exponential
family，我们通常会使用conjugate
prior，这种prior，基本就是沿着刚才说的，假想我们已经看过一些data的思路得到的，它的形式和data
mean几乎如出一辙。而带了prior的估计，还是在求平均值，不过这里的平均值就是（假想）以前观察过的数据和当前的数据合在一起求平均。 </p>
<p>对于更加复杂的Graphical
model，每个节点的estimate和update，很多时候，其实是做了这样的事情——把其它节点传来的平均值和这个节点接触的数据的平均值混合进
行新的平均。从最简单的Gauss, 到更加复杂的Gaussian Mixture Model, Latent Dirichlet
Allocation, Markov Random Field, Generalized Kalman
Filtering概莫能外——大家可以仔细看看它们的每一个update公式，看看哪个不是在求平均值。 </p>
<p><font color="#ffff00"><strong> <span style="color: red;">怎样求平均值</span></strong> </font>
</p>
<p>平均值是很重要的。不过怎么求呢？这似乎是小学初中就解决了的问题。不过，求平均值的世界其实是如此博大精深。如果说它是少林武学，我现在这点水平，也就够在嵩山下扫扫地罢了。很多在世界上赫赫有名的数学家，穷毕生心血，方能一窥堂奥。
</p>
<p>虽然，只有扫地的水平，不过起码也看过大师们练武。这门学问主要有两个方面：得到data求平均值，得到model求期望。
</p>
<p>先说说求data的平均值。这太简单了，有什么好说的。不就是加法和乘法么，小学学过算术的人都会算，即使没学过，拿个计算器也照样算。在
通常的实数空间内，确实很简单；不过对于一般的求平均值的情况，就非常非常困难了。一般来说，求平均值有两个流派，一种是基于线性代数(linear
algebra)，另外一种是基于度量空间(metric space)。前面一种大家很熟悉： </p>
<blockquote>
<p>m = (x1 + x2 + ... + xn) * (1/n)。</p>
</blockquote>
<p>这是我们读了这么多年书最常见的平均值。不过，这样定义太局限了，它要求这些东西能做加法和数乘——我不得不说，这个要求实在太高，只有线性空间
（这种空间是数学里面的贵族，它们什么好处都全了）能够满足——对于数学领域更广大的人民群众（各种更一般的数学结构，比如群，拓扑流形），加法和数乘简
直是一种奢侈得不切实际的活动。 </p>
<p>其实平均值是一个非常广泛的概念，不仅仅存在于线性空间中，还为广大人民群众服务。对于某个度量空间，它的一般性定义是这么给出的
</p>
<blockquote>
<p>使得 d(m, x1) + d(m, x2) + ... + d(m, xn) 最小的那个m</p>
</blockquote>
<p>也就是说，求平均值是一个优化问题。关于这个问题，在不同的空间中有不同的答案：在最高级的希尔伯特空间中（定义了内积的完备线性空间），m就是上
面给出的基于线性代数的形式。所以说，基于线性代数的定义仅仅是基于度量空间的定义的一个特例。不过由于这个特例被广泛使用，所以大家一说平均值就想起
它，而不是一般形式。在推广一些的巴拿赫空间中（定义了范数的完备线性空间），上述的问题是一个凸优化问题，因为范数必然是凸函数。它具有唯一的最优解。
</p>
<p>最困难的是在非线性空间中。一个典型的例子是黎曼流形（注意，这里我们只讨论黎曼流形，对于更为一般的拓扑流形或者微分流形，因为不具有
度量结构，所以不能定义均值。）在黎曼流形上，两点间的距离是通过测地距离给出的。在黎曼流形上，通过测地距离定义的平均值，叫做黎曼中心。一部分朋友对
于这几个术语可能不太熟悉，还是举个形象点的例子。比如，在地球上给出几个地点，你要在地面上找一个&#8220;平均地点&#8221;，使得它到那几个地点的&#8220;地面距离&#8221;的平
方和最小。如果，用传统的算术方法拿这些地点的三维坐标来算，你估计得在那钻个油井了。对于&#8220;球面平均&#8221;问题（专门一点的说法叫做特殊正交群SO(3)的
黎曼中心，恩，这个名词我也有点晕），到了在本世纪，在数学里依旧可以发paper，目前还没有一般情况下的解析解。 </p>
<p>别的领域我不懂，不过&#8220;球面平均&#8221;在vision里面价值是很大的，它是对三维旋转变换建立统计模型的基础——我们再一次看到了求平均
值对于统计的重要意义。球面平均求的是&#8220;平均&#8221;的旋转，如果对于一般的仿射变换(Affiine
transform)，&#8220;平均&#8221;的变换又怎么求呢？这是个open problem，留待大家思考。 </p>
<p style="color: red;"><strong> 怎样求期望</strong>
</p>
<p>说完从data求平均值，再说说从model得到期望(expectation)——这们学问就更博大了。虽然，期望的定义很简单——求和或者积分就行了。不过，它的实际计算，对于很多实际模型是intractable的。
</p>
<p>概率论最早源于掷色子，我们的前辈数学家们为了破解求复杂模型求期望的问题，提出的方法就是掷色子。在学术上，美其名曰&#8220;蒙特卡罗方法&#8221;(Monte Carlo)。原理很简单，不断地掷色子来大量采样，然后从采来的样本求平均值来逼近模型的期望。
</p>
<p>掷色子是世界上最有学问的之一，正因为如此，我们对于&#8220;赌神&#8221;，&#8220;赌王&#8221;之类的人物崇拜犹如滔滔江水，因为它们掷色子掷得好。无数的统计学家把毕生经历奉献给掷色子（采样）事业，并且做出伟大成就。关于采样的专著和文献，汗牛充栋。
</p>
<p>掷色子就这么难么？是的。据估算，即使对于一个复杂度不高的model，要得到一个可以接受的估计，所需的样本量往往大得惊人，而且指数增
长。如果不掌握要领，你即使掷到宇宙末日，估计离一个靠谱的估计还远着呢。采样技术名目繁多，最流行的莫过于重要性采样(importance
sampling)和马尔科夫链蒙特卡罗过程(MCMC)。具体就不多说了。 </p>
</div>
<br><br> <img src ="http://www.cppblog.com/bneliao/aggbug/61140.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bneliao/" target="_blank">bneliao</a> 2008-09-06 17:06 <a href="http://www.cppblog.com/bneliao/articles/61140.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Learning中的代数结构的建立zz</title><link>http://www.cppblog.com/bneliao/articles/61139.html</link><dc:creator>bneliao</dc:creator><author>bneliao</author><pubDate>Sat, 06 Sep 2008 09:04:00 GMT</pubDate><guid>http://www.cppblog.com/bneliao/articles/61139.html</guid><wfw:comment>http://www.cppblog.com/bneliao/comments/61139.html</wfw:comment><comments>http://www.cppblog.com/bneliao/articles/61139.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bneliao/comments/commentRss/61139.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bneliao/services/trackbacks/61139.html</trackback:ping><description><![CDATA[<meta http-equiv="Content-Type" content="text/html; charset=" utf-8="">
<meta name="ProgId" content="Word.Document">
<meta name="Generator" content="Microsoft Word 12">
<meta name="Originator" content="Microsoft Word 12">
<link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Caa%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml">
<link rel="themeData" href="file:///C:%5CDOCUME%7E1%5Caa%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx">
<link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5Caa%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"><!--[if gte mso 9]><xml>
Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
MicrosoftInternetExplorer4
</xml><![endif]--><!--[if gte mso 9]><xml>
</xml><![endif]--><style>
<!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;
mso-font-charset:2;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:0 268435456 0 0 -2147483648 0;}
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:1;
mso-generic-font-family:roman;
mso-font-format:other;
mso-font-pitch:variable;
mso-font-signature:0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:-1610611985 1073750139 0 0 159 0;}
@font-face
{font-family:"\@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:595.3pt 841.9pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:42.55pt;
mso-footer-margin:49.6pt;
mso-paper-source:0;
layout-grid:15.6pt;}
div.Section1
{page:Section1;}
/* List Definitions */
@list l0
{mso-list-id:55320605;
mso-list-template-ids:-2104713660;}
@list l1
{mso-list-id:411857944;
mso-list-template-ids:153365594;}
@list l2
{mso-list-id:1536193052;
mso-list-template-ids:1395705748;}
@list l2:level1
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
-->
</style><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
</style>
<![endif]-->
<p>http://dahua.spaces.live.com/blog/cns!28AF4251DF30CA42!2489.entry
<br></p>
<p>7月9日</p>
<p><strong>Learning</strong><strong>中的代数结构的建立</strong></p>
<p>Learning是一个融会多种数学于一体的领域。说起与此有关的数学学科，我们可能会迅速联想到线性代数以及建立在向量空间基础上的统计模型——事实上，主流的论文中确实在很大程度上基于它们。 </p>
<p>R^n (n-维实向量空间) 是我们在paper中见到最多的空间，它确实非常重要和实用，但是，仅仅依靠它来描述我们的世界并不足够。事实上，数学家们给我们提供了丰富得多的工具。
</p>
<p>&#8220;空间&#8221;(space)，这是一个很有意思的名词，几乎出现在所有的数学分支的基础定义之中。归纳起来，所谓空间就是指一个集合以及在上面定义的某种数学结构。关于这个数学结构的定义或者公理，就成为这个数学分支的基础，一切由此而展开。
</p>
<p>还是从我们最熟悉的空间——R^n 说起吧。大家平常使用这个空间的时候，除了线性运算，其实还用到了别的数学结构，包括度量结构和内积结构。
<br></p>
<p>第 一，它是一个拓扑空间(Topological space)。而且从拓扑学的角度看，具有非常优良的性质：Normal (implying Hausdorff and Regular), Locally Compact,
Paracompact, with Countable basis, Simply connected (implying connected
and path connected), Metrizable.&nbsp;
<br></p>
<p>第二，它是一个度量空间(Metric
space)。我们可以计算上面任意两点的距离。
<br></p>
<p>第三，它是一个有限维向量空间(Finite dimensional space)。因此，我们可以对里面的元素进行代数运算（加法和数乘），我们还可以赋予它一组有限的基，从而可以用有限维坐标表达每个元素。
<br></p>
<p>第四，基于度量结构和线性运算结构，可以建立起分析(Analysis)体系。我们可以对连续函数进行微分，积分，建立和求解微分方程，以及进行傅立叶变换和小波分析。
<br></p>
<p>第 五，它是一个希尔伯特空间（也就是完备的内积空间）(Hilbert space, Complete inner product space)。它有一套很方便计算的内积(inner product)结构——这个空间的度量结构其实就是从其内积结构诱导出来。更重要的，它是完备的(Complete)——代表任何一个柯西序列 (Cauchy
sequence)都有极限——很多人有意无意中其实用到了这个特性，不过习惯性地认为是理所当然了。
<br></p>
<p>第六，它上面的线性映射构成的算子空间仍旧是有限维的——一个非常重要的好处就是，所有的线性映射都可以用矩阵唯一表示。特别的，因为它是有限维完备空间，它的泛函空间和它本身是同构的，也是R^n。因而，它们的谱结构，也就可以通过矩阵的特征值和特征向量获得。
<br></p>
<p>第七，它是一个测度空间——可以计算子集的大小（面积/体积）。正因为此，我们才可能在上面建立概率分布(distribution)——这是我们接触的绝大多数连续统计模型的基础。</p>
<ul type="disc">
</ul>
<p>我 们可以看到，这是一个非常完美的空间，为我们的应用在数学上提供了一切的方便，在上面，我们可以理所当然地认为它具有我们希望的各种良好性质，而无须特别
的证明；我们可以直接使用它的各种运算结构，而不需要从头建立；而且很多本来不一样的概念在这里变成等价的了，我们因此不再需要辨明它们的区别。 </p>
<p>以此为界，Learning的主要工作分成两个大的范畴： </p>
<ol start="1" type="1">
    <li class="MsoNormal" style="text-align: left;">建立一种表达形式，让它处于上面讨论的R^n空间里面。 </li>
    <li class="MsoNormal" style="text-align: left;">获得了有限维向量表达后，建立各种代数算法或者统计模型进行分析和处理。</li>
</ol>
<p>这里只讨论第一个范畴。先看看，目前用得比较广泛的一些方法：
</p>
<ol start="1" type="1">
    <li class="MsoNormal" style="text-align: left;">直 接基于原始数据建立表达。我们关心的最终目标是一个个现实世界中的对象：一幅图片，一段语音，一篇文章，一条交易记录，等等。这些东西大部分本身没有附着
    一个数值向量的。为了构造一个向量表达，我们可以把传感器中记录的数值，或者别的什么方式收集的数值数据按照一定的顺序罗列出来，就形成一个向量了。如果 有n个数字，就认为它们在R^n里面。 </li>
</ol>
<p>不过，这在数学上有一点小问题，在大部分情况下，根据数据产生的物理原理，这些向量的值域并不能 充满整个空间。比如图像的像素值一般是正值，而且在一个有界闭集之中。这带来的问题是，对它们进行线性运算很可能得到的结果会溢出正常的范围——在大部分 paper中，可能只是采用某些heuristics的手段进行简单处理，或者根本不管，很少见到在数学上对此进行深入探讨的——不过如果能解决实际问
题，这也是无可厚非的，毕竟不是所有的工作都需要像纯数学那样追求严谨。 </p>
<ol start="2" type="1">
    <li class="MsoNormal" style="text-align: left;">量化(quantization)。这是
    在处理连续信号时被广泛采用的方式。只是习以为常，一般不提名字而已。比如一个空间信号（Vision中的image）或者时间信号，它们的domain 中的值是不可数无限大的(uncountably infinite)，不要说表示为有限维向量，即使表达为无限序列也是不可能的。在这种情况下，一般在有限域内，按照一定顺序每隔一定距离取一个点来代表
    其周围的点，从而形成有限维的表达。这就是信号在时域或空域的量化。 </li>
</ol>
<p>这样做不可避免要丢失信息。但是，由于小邻域内信号的高度相关，信息丢失的程度往往并不显著。而且，从理论上说，这相当于在频域中的低通过率。对于有限能量的连续信号，不可能在无限高的频域中依然保持足够的强度，只要采样密度足够，丢失的东西可以任意的少。
</p>
<p>除了表示信号，对于几何形体的表达也经常使用量化，比如表示curve和surface。 </p>
<ol start="3" type="1">
    <li class="MsoNormal" style="text-align: left;">找 出有限个数充分表达一个对象也许不是最困难的。不过,在其上面建立数学结构却未必了。一般来说，我们要对其进行处理，首先需要一个拓扑结构用以描述空间上 的点是如何联系在一起。直接建立拓扑结构在数学上往往非常困难，也未必实用。因此，绝大部分工作采取的方式是首先建立度量结构。一个度量空间，其度量会自
    然地诱导出一个拓扑结构——不过，很多情况下我们似乎会无视它的存在。 </li>
</ol>
<p>最简单的情况，就是使用原始向量表达的欧氏距离 (Euclidean distance)作为metric。不过，由于原始表达数值的不同特性，这种方式效果一般不是特别好，未必能有效表达实际对象的相似性（或者不相似 性）。因此，很多工作会有再此基础上进行度量的二次建立。方式是多种多样的，一种是寻求一个映射，把原空间的元素变换到一个新的空间，在那里欧氏距离变得
更加合适。这个映射发挥的作用包括对信息进行筛选，整合，对某些部分进行加强或者抑制。这就是大部分关于feature
selection，feature extraction，或者subspace
learning的文章所要做的。另外一种方式，就是直接调节距离的计算方式（有些文章称之为metric
learning）。 </p>
<p>这两种方式未必是不同的。如果映射是单射，那么它相当于在原空间建立了一个不同的度量。反过来，通过改变距离计算方式建立的度量在特定的条件下对应于某种映射。
</p>
<ol start="4" type="1">
    <li class="MsoNormal" style="text-align: left;">大 家可能注意到，上面提到的度量建立方法，比如欧氏距离，它需要对元素进行代数运算。对于普通的向量空间，线性运算是天然赋予的，我们无须专门建立，所以可
    以直接进行度量的构造——这也是大部分工作的基础。可是，有些事物其原始表达不是一个n-tuple，它可能是一个set，一个graph，或者别的什么 特别的object。怎么建立代数运算呢？
    </li>
</ol>
<p>一种方法是直接建立。就是给这些东西定义自己的加法和数乘。这往往不是那么直接（能很容易建 立的线性运算结构早已经被建立好并广泛应用了），可能需要涉及很深的数学知识，并且要有对问题本身的深入了解和数学上的洞察力。不过，一个新的代数结构一
旦建立起来，其它的数学结构，包括拓扑，度量，分析，以及内积结构也随之能被自然地诱导出来，我们也就具有了对这个对象空间进行各种数学运算和操作的基 础。加法和数乘看上去简单，但是如果我们对于本来不知道如何进行加法和数乘的空间建立了这两样东西，其理论上的贡献是非常大的。
</p>
<p>（一个 小问题：大家常用各种graphical model，但是，每次这些model都是分别formulate，然后推导出estimation和evaluation的步骤方法。是否可能 对"the space of graphical model"或者它的某个特定子集建立某种代数结构呢？（不一定是线性空间，比如群，环，广群， etc）从而使得它们在代数意义上统一起来，而相应的estimation或者evaluation也可以用过代数运算derive。这不是我的研究范 围，也超出了我目前的能力和知识水平，只是我相信它在理论上的重要意义，留作一个远景的问题。事实上，数学中确实有一个分支叫做 Algebraic statistics 可能在探讨类似的问题，不过我现在对此了解非常有限。） </p>
<ol start="5" type="1">
    <li class="MsoNormal" style="text-align: left;">回到我们的正题，除了直接建立运算 定义，另外一种方式就是嵌入(embedding)到某个向量空间，从而继承其运算结构为我所用。当然这种嵌入也不是乱来，它需要保持原来这些对象的某种
    关系。最常见的就是保距嵌入(isometric embedding)，我们首先建立度量结构（绕过向量表达，直接对两个对象的距离通过某种方法进行计算），然后把这个空间嵌入到目标空间，通常是有限维
    向量空间，要求保持度量不变。 </li>
</ol>
<p>&#8220;嵌入&#8221;是一种在数学上应用广泛的手段，其主要目标就是通过嵌入到一个属性良好，结构丰富的空间，从而利
用其某种结构或者运算体系。在拓扑学中，嵌入到metric space是对某个拓扑空间建立度量的重要手段。而在这里，我们是已有度量的情况下，通过嵌入获取线性运算的结构。除此以来，还有一种就是前些年比较热的 manifold embedding，这个是通过保持局部结构的嵌入，获取全局结构，后面还会提到。 </p>
<ol start="6" type="1">
    <li class="MsoNormal" style="text-align: left;">接下来的一 个重要的代数结构，就是内积(inner product)结构。内积结构一旦建立，会直接诱导出一种性质良好的度量，就是范数(norm)，并且进而诱导出拓扑结构。一般来说，内积需要建立在线 性空间的基础上，否则连一个二元运算是否是内积都无法验证。不过，kernel理论指出，对于一个空间，只要定义一个正定核(positive
    kernel)——一个符合正定条件的二元运算，就必然存在一个希尔伯特空间，其内积运算等效于核运算。这个结论的重要意义在于，我们可以绕开线性空间，
    通过首先定义kernel的方式，诱导出一个线性空间(叫做再生核希尔伯特空间 Reproducing Kernel Hilbert Space)，从而我们就自然获得我们所需要的度量结构和线性运算结构。这是kernel theory的基础。 </li>
</ol>
<p>在很多教科书中，以二 次核为例子，把二维空间变成三维，然后告诉大家kernel用于升维。对于这种说法，我一直认为在一定程度上是误导的。事实上，kernel的最首要意义 是内积的建立（或者改造），从而诱导出更利于表达的度量和运算结构。对于一个问题而言，选择一个切合问题的kernel比起关注&#8220;升维&#8221;来得更为重要。
</p>
<p>kernel被视为非线性化的重要手段，用于处理非高斯的数据分布。这是有道理的。通过nonlinear kernel改造的内积空间，其结构和原空间的结构确实不是线性关联，从这个意义上说，它实施了非线性化。不过，我们还应该明白，它的最终目标还是要回到
线性空间，新的内积空间仍旧是一个线性空间，它一旦建立，其后的运算都是线性的，因此，kernel的使用就是为了寻求一个新的线性空间，使得线性运算更
加合理——非线性化的改造最终仍旧是要为线性运算服务。 </p>
<p>值得一提的是，kernelization本质上说还是一种嵌入过程：对于一个空间先建立内积结构，并且以保持内积结构不变的方式嵌入到一个高维的线性空间，从而继承其线性运算体系。
</p>
<ol start="7" type="1">
    <li class="MsoNormal" style="text-align: left;">上 面说到的都是从全局的方式建立代数结构的过程，但是那必须以某种全局结构为基础（无论预先定义的是运算，度量还是内积，都必须适用于全空间。）但是，全局
    结构未必存在或者适合，而局部结构往往简单方便得多。这里就形成一种策略，以局部而达全局——这就是流形(manifold)的思想，而其则根源于拓扑 学。 </li>
</ol>
<p>从拓扑学的角度说，流形就是一个非常优良的拓扑空间：符合Hausdorff分离公理（任何不同的两点都可以通过不相交的邻域分
离），符合第二可数公理（具有可数的拓扑基），并且更重要的是，局部同胚于R^n。因此，一个正则(Regular)流形基本就具有了各种最良好的拓扑特 性。而局部同胚于R^n，代表了它至少在局部上可以继承R^n的各种结构，比如线性运算和内积，从而建立分析体系。事实上，拓扑流形继承这些结构后形成的 体系，正是现代流形理论研究的重点。继承了分析体系的流形，就形成了微分流形(Differential manifold)，这是现代微分几何的核心。而微分流形各点上的切空间(Tangent Space)，则获得了线性运算的体系。而进一步继承了局部内积结构的流形，则形成黎曼流形(Riemann manifold)，而流形的全局度量体系——测地距离(geodesics)正是通过对局部度量的延伸来获得。进一步的，当流行本身的拓扑结构和切空间 上的线性结构发生关系——也就获得一簇拓扑关联的线性空间——向量丛(Vector bundle)。 </p>
<p>虽然manifold theory作为现代几何学的核心，是一个博大精深的领域，但是它在learning中的应用则显得非常狭窄。事实上，对于manifold，很多做 learning的朋友首先反应的是ISOMAP, LLE, eigenmap之类的算法。这些都属于embedding。当然，这确实是流形理论的一个重要方面。严格来说，这要求是从原空间到其映像的微分同胚映 射，因此，嵌入后的空间在局部上具有相同的分析结构，同时也获得了各种好处——全局的线性运算和度量。不过，这个概念在learning的应用中被相当程
度的放宽了——微分同胚并不能被完全保证，而整个分析结构也不能被完全保持。大家更关注的是保持局部结构中的某个方面——不过这在实际应用中的折衷方案也 是可以理解的。事实表明，当原空间中的数据足够密集的情况下，这些算法工作良好。 </p>
<p>Learning中流形应用的真正问题在于它被过滥地 运用于稀疏空间(Sparse space)，事实上在高维空间中撒进去几千乃至几十万点，即使最相邻的几点也难称为局部了，局部的范围和全局的范围其实已经没有了根本差别，连局部的概
念都立不住脚的时候，后面基于其展开的一切工作也都没有太大的意义。事实上，稀疏空间有其本身的规律和法则，通过局部形成全局的流形思想从本质上是不适合 于此的。虽然，流形是一种非常美的理论，但是再漂亮的理论也需要用得其所——它应该用于解决具有密集数据分布的低维空间。至于，一些paper所报告的在
高维空间（比如人脸）运用流形方法获得性能提升，其实未必是因为&#8220;流形&#8221;本身所起的作用，而很可能是其它方面的因素。
</p>
<ol start="8" type="1">
    <li class="MsoNormal" style="text-align: left;">流 形在实际应用中起重要作用的还有两个方面：一个是研究几何形体的性质（我们暂且不谈这个），还有就是它和代数结构的结合形成的李群(Lie group)和李代数(Lie algebra)。 当我们研究的对象是变换本身的时候，它们构成的空间是有其特殊性的，比如所有子空间投影形成了Grassmann流形，所有的可逆线性算子，或者仿射算 子，也形成各自的流形。对他们的最重要操作是变换的结合，而不是加法数乘，因此，它们上面定义的更合适的代数结构应该是群和不是线性空间。而群和微分流形
    的结合体——李群则成为它们最合适的描述体系——而其切空间则构成了一种加强的线性空间：李代数，用于描述其局部变化特性。
    </li>
</ol>
<p>李代数和李 群的关系是非常漂亮的。它把变换的微变化转换成了线性空间的代数运算，使得移植传统的基于线性空间的模型和算法到李空间变得可能。而且李代数中的矩阵比起
变换本身的矩阵甚至更能反映变换的特性。几何变换的李代数矩阵的谱结构就能非常方便地用于分析变换的几何特性。 </p>
<p>最后，回头总结一下关于 嵌入这个应用广泛的策略，在learning中的isometry, kernel和manifold embedding都属于此范畴，它们分别通过保持原空间的度量结构，内积结构和局部结构来获得到目标（通常是向量空间）的嵌入，从而获得全局的坐标表
达，线性运算和度量，进而能被各种线性算法和模型所应用。 </p>
<p>在获得这一系列好处的同时，也有值得我们注意的地方。首先，嵌入只是一种数学 手段，并不能取代对问题本身的研究和分析。一种不恰当的原始结构或者嵌入策略，很多时候甚至适得其反——比如稀疏空间的流形嵌入，或者选取不恰当的 kernel。另外，嵌入适合于分析，而未必适合于重建或者合成。这是因为嵌入是一个单射(injection)，目标空间不是每一个点都和原空间能有效 对应的。嵌入之后的运算往往就打破了原空间施加的限制。比如两个元素即使都是从原空间映射过来，它们的和却未必有原像，这时就不能直接地回到原空间了。当
然可以考虑在原空间找一个点它的映射与之最近，不过这在实际中的有效性是值得商榷的。</p>
<p>和Learning有关的数学
世界是非常广博的，我随着学习和研究的深入，越来越发现在一些我平常不注意的数学分支中有着适合于问题的结构和方法。比如，广群(groupoid)和广
代数(algebroid)能克服李群和李代数在表示连续变换过程中的一些困难——这些困难困扰了我很长时间。解决问题和建立数学模型是相辅相成的，一方
面，一个清晰的问题将使我们有明确的目标去寻求合适的数学结构，另一方面，对数学结构的深入理解对于指导问题的解决也是有重要作用的。对于解决一个问题来 说，数学工具的选择最重要的是适合，而不是高深，但是如果在现有数学方法陷入困难的时候，寻求更高级别的数学的帮助，往往能柳暗花明。数学家长时间的努力
解决的很多问题，并不都是理论游戏，他们的解决方案中很多时候蕴含着我们需要的东西，而且可能导致对更多问题的解决——但是我们需要时间去学习和发现它
们。</p>
<p>&nbsp;</p><img src ="http://www.cppblog.com/bneliao/aggbug/61139.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bneliao/" target="_blank">bneliao</a> 2008-09-06 17:04 <a href="http://www.cppblog.com/bneliao/articles/61139.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>