英文单词是怎么念出来:lilin的共享空间 — Windows Live

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 00:01:03
计算机图像图形学相关好书推荐[转]
一.数字图像处理相关书籍
英文版:
1. 《Digital Image Processing》
Rafael C. Gonzalez
Richard E. Woods
电子工业出版社,Prentice Hall
(此书有中文版)
2. Gonzalez & Woods: Digital Image Processing 电子工业出版社
讲得比较全面,而且比较细致,入门的绝对好书。
3. Digital Image Processing (Using Matlab) 电子工业出版社
和上一本内容相近,但增加了Matlab实现代码。强烈推荐。
中文版:
1.  阮秋琦 译,Gonzalez & Woods:《数字图像处理》电子工业出版社
2.  章毓晋: 《图像工程(上)》清华大学出版社
上册是中文版入门书中公认比较好的一本
3.  章毓晋: 《图像分割》科学出版社(科海有售 23元)
4.《图像工程 上册 图像处理和分析》章.. 清华大学出版社
5.《数字图像处理》 高等教育出版社 东南大学编的
6.《图像分割》章.. 科学出版社
二.计算机图形学相关书籍
英文版:
DonaldHearn: Computer Graphics 清华大学出版社
中文版:
1.《计算机图形学的算法基础》第二版    D. F. Rogers原著,石教英、彭群生翻译,计算机图形学经典名著
此书非常适于自学,以前不少人正是看此书初版的中译本而进入图形学领域研究的。
2.   蔡士杰等译,DonaldHearn: 《计算机图形学》电子工业出版社
3. 潘云鹤: 《计算机图形学--原理、方法和应用》
三.计算机视觉相关书籍
英文版:
1. Horn: Robot Vision
相关章节非常清楚紧密,虽然内容少了一点,因为主要和robot有关。不过值得入门看
2. Marr: Vision
他首先提出把Vision的system,algorithm,theory分开,还提除了诸如2.5 Dimension等概念。只要想想ICCV的best paper叫做Marr's Price就知道他牛了。经典书,老了一点,不过值得看看。
3.David A.Forsyth,Jean Ponce: Computer Vision: A Modern Approach
介绍的topics比较多,可以看看当作vision的overview。另外作者是想描述modern vision,所以可以看看。(draft公开可下载)
4.Ramesh Jain,Rangachar Kasturi,Brain G.Schunck: Machine Vision 机械工业出版社
中文版:
1.章毓晋: 《图像工程(下)》清华大学出版社
2.政南宁: 《计算机视觉与模式识别》国防工业出版社
很好,但是对于数学的要求也比较高。
3.张正友(好歹是咱浙大校友啊~~)、马颂德: 《计算机视觉》浙江大学出版社     太难了,对于入门级的读者不是十分合适。
4. 贾云德: 《机器视觉》科学出版社
四.模式识别相关书籍
英文版:
Richard O.Duda,Peter E.Hart,David G.Stork: Pattern Classification
中文版:
边肇祺,张学工: 《模式识别》,清华大学出版社
15:12 |固定链接 |学问研究
1月15日
深入问题本身(转载)
很多做research的朋友喜欢top-down approach,包括我自己。就是说,在开始一个topic的时候,在第一时间就设定了大体的formulation,model又或者methodology。至于选择哪种设定,往往取决于研究者本身的偏好,知识背景,或者对问题的第一反应。
接下来的事情就顺理成章了,推导数学模型和相关公式以及算法步骤,然后设计程序进行实验。当然少不了再拉上几个相关工作,比较一番。如果自己的设计很幸运地有明显的improvement,于是非常满意,开始写paper(在不少情况下,paper的理论部分甚至提前写好了)。可是,如果不work呢? 通常大家会采取下面一些方法中的一种或者几种:
观察实验结果,猜想几个不work的原因,然后回头局部调整模型和算法;
换一下数据集,看看能不能work
祭起“终极法宝”——调参数,人工修改或者写脚本遍历,直到找到一组work的参数为止。不过,那些作为“绿叶”用的参照算法,通常是没有这种待遇了。
无论如何,你总算把实验搞定了。但是,为什么work呢?除了几条曲线,你总得找一些“让人信服”的理由。在我所在的领域,有一些理由几乎是万能的,因而普遍出现在paper里面:
以前的算法,不考虑某某因素,而这个因素是很重要的,我的算法考虑了,所以效果更好
以前的算法,把某些因素分开考虑,但是它们实际上是相关联了,我的算法把它们结合在一起,体现了这种关联关系,所以更好
以前的算法是线性的,但是这个问题本身明显是非线性的,我这里用了非线性的方法,所以更符合实际。为了进一步解释清楚,还画出一些二维或者三维的toy samples,显示出线性和非线性有“多么巨大的差别”
以前的方法用的是参数化模型(比如高斯分布),而现实世界明显不是这样子,我这里采用非参数化模型,能更准确地逼近实际分布
主流方法大都采用某某算法完成某个步骤,或者某某特征来描述某个方面,其实这个算法或者特征在这里不太适合,我换了一个更适合的或者更“先进”的。
还有很多,不一而足。总体来说,就是增加了某方面的复杂性,推广了模型,或者把某些部分变得更加时髦,数学更深。正因为多了东西可以调节,只要花上足够时间去设定参数,还是有很大机会能找到一组能得到improvement的参数的。可是,这种improvement是不是真正有意义呢?是不是足够significant,以至于所增加的复杂性是值得的呢?
我们的世界总是无限复杂的,和无数的因素相关,这些因素又总是有某种联系。我们的前辈们留给我们的最好的方法,就是从问题中分离出最关键的要素,和最重要的关系,而非不断地增加价值不大的因素,建立意义不大的联系。
我并不是一个完全拒绝复杂,但是我个人觉得对复杂性的增长应该慎重。每增加一个要素,都应该是基于对问题的深入分析,而不是先入为主的设想和冠冕堂皇的理由。这不完全是知识能力的问题,更多的是一种治学态度——是不是愿意安心下来对问题本身进行深入细致的解剖,找出问题本身的关键所在,而不是脱离问题预先构想某种“漂亮”模型或者“巧妙”方法,并且通过上面所述的种种方法推销出去。
研究是一种创新的过程,广拓思路是必须的。但是真正有价值的novelty应该是建立在对问题本身的深入理解,确实发现了别人忽略的关键因素,或者主流算法的真正不足,并且创造性地提出解决方法。这需要持之以恒的努力。真正经得起考验的学术价值,源于解决还没有被解决的问题,而不是使用了某种所谓别人没用过的“新颖”方法来解决本来已经解决的问题,又或者给模型加入某个要素来取得非实质性的性能改进。
上面所说的这些问题,几乎都发生在我的身上。而汤老师的很多建议,其实正是指出了这些问题,却没有被我认真思考,反而总是以为只要理论做得高深,模型设计得精巧,就是好的工作。来了MIT之后,更多地阅读一些有历史价值的文章(现在看CVPR反而比较少了),接触一些更加solid的工作。许多有重要贡献的工作,往往未必有很炫的方法和模型,但是,其对于问题本身的深入发掘和洞察却令我惭愧。
要做真正的学问,首先要戒除浮躁。
8:33 |固定链接 |学问研究
How to get a solution?(转载)
我们所做的topic,一般有几个阶段:
Analysis: 分析问题,找到问题的关键
Modeling / Formulation:  对问题进行数学抽象,建立模型,或者formulate目标函数
Solving: 设计出求解的算法
Experiments: 实验
最近的工作都集中在Solving这部分,就说说这个吧。
求解的方法
求解问题有很多不同的方法,就我知道的来说,大概有这么几个大家族。
Heuristics。就是根据对问题的观察而设计的一些简单的方法,不一定遵循什么规范,或者有什么深刻的数学根据。这类方法往往比较简单易懂,intuition比较明显,很多时候performance也挺不错的,不见得比高深的方法差,因而在实际工程中很受欢迎,几乎应用在全部的学科。不过,好像很多朋友对这类方法颇为不屑,认为“没有技术含量”,或者叫做“没有理论深度”。
确实,有相当部分的Heuristics纯粹粗制滥造,投机取巧。不过,还有很多Heuristics虽然简单,但是切中问题要害,在长期的复杂的实际应用中经受住了考验。这些方法,表面看来可能只是再简单不过的几条四则运算公式,说不上多少理论,但是并不代表它没有深刻的理论基础。一个典型的例子是Google PageRank中使用的传导公式(简单版本),道理和公式都很简单,可是,做过类似工作的朋友可能都知道,它和代数图论以及马尔可夫随机过程有着很深的联系。 又比如,Fourier Transform在刚出来的时候,仅仅是工程师的一些heuristics,后来关于它的理论已经成为了泛函分析的一个核心组成部分,也是信号处理的理论基础之一。
真正好的heuristics,它的好处肯定不是瞎懵出来,而是有内在原因的。对它们的原理的探索,不断带动理论方面的发展,甚至创造了新的理论方向。说到这里,有人可能会argue,这是“理论家们在故弄玄虚混饭吃”。Hmm,这种说法我不能认同,但是,确实存在“把工程方法胡乱进行理论化”的事实。什么才叫有价值的理论化,而不是故弄玄虚,确实值得思考,这里先不展开了。
Analytical Solution。当你把问题formulate出来后,有些情况是直接可以从问题推导出解析解的。这种情况通常存在于objective function是Linear或者Quadratic的情况。大家都很喜欢这种情况的出现,理论漂亮,实现简洁。但是,据我的观察,很多情况下,这种elegance是通过减化模型换取的。把cost写成quadratic term,把distribution假设为Gauss,很多时候都能得到这样的结果。
我不反对进行简化,也欣赏漂亮的analytical solution,如果它把问题解决得很好。但是,这里面有个问题,很多能获得简单解析解的问题已经被做过了,剩下的很多难点,未必是一个简化模型能有效解决的。简化是一种很好的方法,但是,使用起来,尤其是在实际中的应用必须慎重,要清楚了解它们可能带来的问题。
比如说,很多模型喜欢使用差的平方来衡量误差大小。但是,这很早就被指出是unrobust的,一个很大的deviation会dominate整个optimization,使得solution严重偏离方向。如果这种robustness在带解决的问题中是一个必须考虑的要素,那么用平方误差就要仔细考虑了。
Numerical Optimization。如果formulation没有解析解,那么自然的想法就是使用数值方法求解。目前大家常用的是基于Gradient/Hessian之类的local optimization的方法,有时会加上random initialization。如果objective function是convex的,那么这种方法保证收敛到global optimal,这是大家很希望的。convex problem无论在formulation还是在solution的阶段,都是很有学问的。很多问题可以formulate成convex的,但是未必都那么直接,这需要有这方面的基础。Solving一个convex problem有现成的方法,但是,如果能对问题的结构有insightful的观察,可能能利用问题本身的特点大幅度降低求解的复杂度——这往往比直接把问题扔进solver里面等答案更有意义。
除了convex optimization,还有一种数值方法应用非常广泛,叫做coordinate ascend或者alternate optimization。大概的思路是,几个有关的变量,轮流选择某个去优化,暂时固定其它的。在Machine Learning里面非常重要的Expectation-Maximization (EM算法)就属于这个大家族。另外,很多复杂的graphical model采用的variational inference也是属于此类。使用这类方法,有两个问题:一个是如果几个variable之间相互影响,变一个,其他跟着变的话,那么直接使用这种方法可能是错误的,并不能保证收敛。另外一个问题是,如果problem不是convex的话,可能没有任何保证你得到的solution和global solution有联系。很可能,你得到的解和真正的全局最优解相差十万八千里。这个没有什么通用有效的途径来解决。不过,针对具体问题的结构特点,在求解过程中施加一定的引导是有可能的。
Dynamic Programming。这个方法更多见于经典计算机算法中,不过现在越来越多在Vision和Learning见到它的影子。主要思路是把大问题分解为小问题,总结小问题的solution为大问题的solution。至于如何设计分解和综合的过程,依赖于对问题的观察和分析,并无通用的法则可循。用DP解决问题的洞察力需要逐步的积累。不少经典算法就源自于DP,比如shotest path。一个可能有用的观察是,如果问题或者模型呈现链状,树状,或者有向无环图结构的,可能很有希望能通过DP高效解决。
Local Exchange。很多建立在图上的问题,都可以通过某种局部交换来达到全局的平衡。像Belief propagation, Junction tree等等在graphical model的重要inference方法,还有tranduction model,都用到了类似的策略。这在实践中被证明为非常有效。但是,并不是随便设计的局部交换过程都是收敛的。这里面需要关注两个问题:(1)交换过程是不是能保证某些重要的invariance不被破坏;(2)交换过程中,是不是有一个objective,比如距离全局平衡的deviation,它在每一步都保持单调。有很多交换过程,在有向无环图中保证收敛,但是,在带环图中由于信息的重复传递可能引起不稳定,或者不能收敛到正确的解。
Monte Carlo Sampling。蒙特卡罗采样的原理非常简单,就是用样本平均,来逼近期望(这个可能需要用intractable的积分完成,没法直接算)。求平均很简单,关键在于采样过程。我们求解问题,通常是在后验分布中采样,这种分布在大部分问题中,不要说直接采样了,可能连解析形式都没法给出。如果采样问题有效解决了,基本上我们研究的大部分问题其实都可以通过采样完成。
由于直接采样往往非常困难,于是就产生了其它的方法,间接做这个事情。一种想法就是,既然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)采样来得容易。
还有一种聪明一点的方法,叫sequential importance sampling。在这里面q(x),不是一蹴而就建立起来的,而是每个样本先采一部分,然后根据那部分,确定下一部分的proposal distribution,继续采,也就是说q(x)和样本都是dynamically built up。这个方法在vision里面一个非常著名的应用是用于tracking,相应发展出来的方法论叫做particle filtering。
另外一大类重要的采样方法,叫Markov Chain Monte Carlo(MCMC)。这个的想法是,设计一个马尔科夫链,让它的平衡分布恰好是p(x),那么等它平衡时开始采。以前我们做随机过程作业是已知一个markov chain,求equilibrium distribution,设计MCMC就是反过来了。最重要的MCMC方法莫过于Metropolis-Hastings Algorithm和Gibbs Sampling,前者常被用于设计在solution space的随机游走(Random walk),后者则是conditional sampling的基础方法。
可是Markov过程怎么转移呢。最简单的Random Walk结合acceptance rate之后理论上是对的。可是,让sampler随便乱走,猴年马月才能把solution space走一遍阿。于是,有人提出结合一个solution space的局部信息来引导它往有用的方向走。一个重要的方法叫做Hybric Monte Carlo(HMC),想法就是把它模拟成一个物理场,把要sample的分布视为波尔兹曼分布后获得物理场的势能,通过哈密顿动力学模型(其实就是牛顿力学的推广)来驱动sampler。可是,如果问题更为复杂呢,比如整个solution space有几个井,sample掉到某一个井可能出不来了。为了解决这个问题,一种重要的方法叫Tempering,就是开始给分子充分加热,让它获得足够的动能能在各个井之间来回跳,然后逐步冷却,从而能捕捉到多个势井。
Monte Carlo方法较早的时候主要用于统计物理,目前已经广泛应用于计算机,生物,化学,地质学,经济学,社会学等等的研究。这是目前所知道的用于求解复杂的真实模型的最有效的方法。它的核心,就是猜——你直接解不出来,只好猜了,呵呵。但是,怎样才能猜得准,则是大有学问——几十年来各个领域关于Monte Carlo研究的工作汗牛充栋,有很多进展,但是还有很长的路要走。
和这里很多留学生一样,我一向潜心于自己的学习和研究。可是最近,我们的世界并不宁静,我认识的不只一个在美国的朋友受到了不太友好的挑衅——在不知不觉中,我们可能已经身处反分裂和支持奥运的前线。我看到包括MIT CSSA在内的很多学生团体开始组织起来支持自己的祖国。我没有具体帮上什么,但是,我对所有在用自己的行动捍卫国家荣誉的同胞怀有最深的敬意。我也希望,我的努力,能让外国的朋友明白中国人是值得尊敬的。
8:31 |固定链接 |学问研究
和机器学习和计算机视觉相关的数学(转载)
(以下转自一位MIT牛人的空间文章,写得很实际:)
作者:Dahua
感觉数学似乎总是不够的。这些日子为了解决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中受到特别关注。
这是大牛们做的很好的综述啊!
据说,是MIT一牛人对数学在机器学习中的作用给的评述!
继续学习!
继续Fighting!!!
8:18 |固定链接 |学问研究
转MIT 大牛学习的体会
From:http://dahua.spaces.live.com/default.aspx
1. 线性代数 (Linear Algebra):
我想国内的大学生都会学过这门课程,但是,未必每一位老师都能贯彻它的精要。这门学科对于Learning是必备的基础,对它的透彻掌握是必不可少的。我在科大一年级的时候就学习了这门课,后来到了香港后,又重新把线性代数读了一遍,所读的是
Introduction to Linear Algebra (3rd Ed.)  by Gilbert Strang.
这本书是MIT的线性代数课使用的教材,也是被很多其它大学选用的经典教材。它的难度适中,讲解清晰,重要的是对许多核心的概念讨论得比较透彻。我个人觉得,学习线性代数,最重要的不是去熟练矩阵运算和解方程的方法——这些在实际工作中MATLAB可以代劳,关键的是要深入理解几个基础而又重要的概念:子空间(Subspace),正交(Orthogonality),特征值和特征向量(Eigenvalues and eigenvectors),和线性变换(Linear transform)。从我的角度看来,一本线代教科书的质量,就在于它能否给这些根本概念以足够的重视,能否把它们的联系讲清楚。Strang的这本书在这方面是做得很好的。
而且,这本书有个得天独厚的优势。书的作者长期在MIT讲授线性代数课(18.06),课程的video在MIT的Open courseware网站上有提供。有时间的朋友可以一边看着名师授课的录像,一边对照课本学习或者复习。
http://ocw.mit.edu/OcwWeb/Mathematics/18-06Spring-2005/CourseHome/index.htm
2. 概率和统计 (Probability and Statistics):
概率论和统计的入门教科书很多,我目前也没有特别的推荐。我在这里想介绍的是一本关于多元统计的基础教科书:
Applied Multivariate Statistical Analysis (5th Ed.)  by Richard A. Johnson and Dean W. Wichern
这本书是我在刚接触向量统计的时候用于学习的,我在香港时做研究的基础就是从此打下了。实验室的一些同学也借用这本书学习向量统计。这本书没有特别追求数学上的深度,而是以通俗易懂的方式讲述主要的基本概念,读起来很舒服,内容也很实用。对于Linear regression, factor analysis, principal component analysis (PCA), and canonical component analysis (CCA)这些Learning中的基本方法也展开了初步的论述。
之后就可以进一步深入学习贝叶斯统计和Graphical models。一本理想的书是
Introduction to Graphical Models (draft version).  by M. Jordan and C. Bishop.
我不知道这本书是不是已经出版了(不要和Learning in Graphical Models混淆,那是个论文集,不适合初学)。这本书从基本的贝叶斯统计模型出发一直深入到复杂的统计网络的估计和推断,深入浅出,statistical learning的许多重要方面都在此书有清楚论述和详细讲解。MIT内部可以access,至于外面,好像也是有电子版的。
3. 分析 (Analysis):
我想大家基本都在大学就学过微积分或者数学分析,深度和广度则随各个学校而异了。这个领域是很多学科的基础,值得推荐的教科书莫过于
Principles of Mathematical Analysis, by Walter Rudin
有点老,但是绝对经典,深入透彻。缺点就是比较艰深——这是Rudin的书的一贯风格,适合于有一定基础后回头去看。
在分析这个方向,接下来就是泛函分析(Functional Analysis)。
Introductory Functional Analysis with Applications, by Erwin Kreyszig.
适合作为泛函的基础教材,容易切入而不失全面。我特别喜欢它对于谱论和算子理论的特别关注,这对于做learning的研究是特别重要的。Rudin也有一本关于functional analysis的书,那本书在数学上可能更为深刻,但是不易于上手,所讲内容和learning的切合度不如此书。
在分析这个方向,还有一个重要的学科是测度理论(Measure theory),但是我看过的书里面目前还没有感觉有特别值得介绍的。
4. 拓扑 (Topology):
在我读过的基本拓扑书各有特色,但是综合而言,我最推崇:
Topology (2nd Ed.)  by James Munkres
这本书是Munkres教授长期执教MIT拓扑课的心血所凝。对于一般拓扑学(General topology)有全面介绍,而对于代数拓扑(Algebraic topology)也有适度的探讨。此书不需要特别的数学知识就可以开始学习,由浅入深,从最基本的集合论概念(很多书不屑讲这个)到Nagata-Smirnov Theorem和Tychonoff theorem等较深的定理(很多书避开了这个)都覆盖了。讲述方式思想性很强,对于很多定理,除了给出证明过程和引导你思考其背后的原理脉络,很多令人赞叹的亮点——我常读得忘却饥饿,不愿释手。很多习题很有水平。
5. 流形理论 (Manifold theory):
对于拓扑和分析有一定把握时,方可开始学习流形理论,否则所学只能流于浮浅。我所使用的书是
Introduction to Smooth Manifolds.  by John M. Lee
虽然书名有introduction这个单词,但是实际上此书涉入很深,除了讲授了基本的manifold, tangent space, bundle, sub-manifold等,还探讨了诸如纲理论(Category theory),德拉姆上同调(De Rham cohomology)和积分流形等一些比较高级的专题。对于李群和李代数也有相当多的讨论。行文通俗而又不失严谨,不过对某些记号方式需要熟悉一下。
虽然李群论是建基于平滑流形的概念之上,不过,也可能从矩阵出发直接学习李群和李代数——这种方法对于急需使用李群论解决问题的朋友可能更加实用。而且,对于一个问题从不同角度看待也利于加深理解。下面一本书就是这个方向的典范:
Lie Groups, Lie Algebras, and Representations: An Elementary Introduction.  by Brian C. Hall
此书从开始即从矩阵切入,从代数而非几何角度引入矩阵李群的概念。并通过定义运算的方式建立exponential mapping,并就此引入李代数。这种方式比起传统的通过“左不变向量场(Left-invariant vector field)“的方式定义李代数更容易为人所接受,也更容易揭示李代数的意义。最后,也有专门的论述把这种新的定义方式和传统方式联系起来。
————————————————————————————
无论是研究Vision, Learning还是其它别的学科,数学终究是根基所在。学好数学是做好研究的基石。学好数学的关键归根结底是自己的努力,但是选择一本好的书还是大有益处的。不同的人有不同的知识背景,思维习惯和研究方向,因此书的选择也因人而异,只求适合自己,不必强求一致。上面的书仅仅是从我个人角度的出发介绍的,我的阅读经历实在非常有限,很可能还有比它们更好的书(不妨也告知我一声,先说声谢谢了)。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Learning中的代数结构的建立
Learning是一个融会多种数学于一体的领域。说起与此有关的数学学科,我们可能会迅速联想到线性代数以及建立在向量空间基础上的统计模型——事实上,主流的论文中确实在很大程度上基于它们。
R^n (n-维实向量空间) 是我们在paper中见到最多的空间,它确实非常重要和实用,但是,仅仅依靠它来描述我们的世界并不足够。事实上,数学家们给我们提供了丰富得多的工具。
“空间”(space),这是一个很有意思的名词,几乎出现在所有的数学分支的基础定义之中。归纳起来,所谓空间就是指一个集合以及在上面定义的某种数学结构。关于这个数学结构的定义或者公理,就成为这个数学分支的基础,一切由此而展开。
还是从我们最熟悉的空间——R^n 说起吧。大家平常使用这个空间的时候,除了线性运算,其实还用到了别的数学结构,包括度量结构和内积结构。
第一,它是一个拓扑空间(Topological space)。而且从拓扑学的角度看,具有非常优良的性质:Normal (implying Hausdorff and Regular), Locally Compact, Paracompact, with Countable basis, Simply connected (implying connected and path connected), Metrizable.
第二,它是一个度量空间(Metric space)。我们可以计算上面任意两点的距离。
第三,它是一个有限维向量空间(Finite dimensional space)。因此,我们可以对里面的元素进行代数运算(加法和数乘),我们还可以赋予它一组有限的基,从而可以用有限维坐标表达每个元素。
第四,基于度量结构和线性运算结构,可以建立起分析(Analysis)体系。我们可以对连续函数进行微分,积分,建立和求解微分方程,以及进行傅立叶变换和小波分析。
第五,它是一个希尔伯特空间(也就是完备的内积空间)(Hilbert space, Complete inner product space)。它有一套很方便计算的内积(inner product)结构——这个空间的度量结构其实就是从其内积结构诱导出来。更重要的,它是完备的(Complete)——代表任何一个柯西序列(Cauchy sequence)都有极限——很多人有意无意中其实用到了这个特性,不过习惯性地认为是理所当然了。
第六,它上面的线性映射构成的算子空间仍旧是有限维的——一个非常重要的好处就是,所有的线性映射都可以用矩阵唯一表示。特别的,因为它是有限维完备空间,它的泛函空间和它本身是同构的,也是R^n。因而,它们的谱结构,也就可以通过矩阵的特征值和特征向量获得。
第七,它是一个测度空间——可以计算子集的大小(面积/体积)。正因为此,我们才可能在上面建立概率分布(distribution)——这是我们接触的绝大多数连续统计模型的基础。
我们可以看到,这是一个非常完美的空间,为我们的应用在数学上提供了一切的方便,在上面,我们可以理所当然地认为它具有我们希望的各种良好性质,而无须特别的证明;我们可以直接使用它的各种运算结构,而不需要从头建立;而且很多本来不一样的概念在这里变成等价的了,我们因此不再需要辨明它们的区别。
以此为界,Learning的主要工作分成两个大的范畴:
建立一种表达形式,让它处于上面讨论的R^n空间里面。
获得了有限维向量表达后,建立各种代数算法或者统计模型进行分析和处理。
这里只讨论第一个范畴。先看看,目前用得比较广泛的一些方法:
直接基于原始数据建立表达。我们关心的最终目标是一个个现实世界中的对象:一幅图片,一段语音,一篇文章,一条交易记录,等等。这些东西大部分本身没有附着一个数值向量的。为了构造一个向量表达,我们可以把传感器中记录的数值,或者别的什么方式收集的数值数据按照一定的顺序罗列出来,就形成一个向量了。如果有n个数字,就认为它们在R^n里面。
不过,这在数学上有一点小问题,在大部分情况下,根据数据产生的物理原理,这些向量的值域并不能充满整个空间。比如图像的像素值一般是正值,而且在一个有界闭集之中。这带来的问题是,对它们进行线性运算很可能得到的结果会溢出正常的范围——在大部分paper中,可能只是采用某些heuristics的手段进行简单处理,或者根本不管,很少见到在数学上对此进行深入探讨的——不过如果能解决实际问题,这也是无可厚非的,毕竟不是所有的工作都需要像纯数学那样追求严谨。
量化(quantization)。这是在处理连续信号时被广泛采用的方式。只是习以为常,一般不提名字而已。比如一个空间信号(Vision中的image)或者时间信号,它们的domain中的值是不可数无限大的(uncountably infinite),不要说表示为有限维向量,即使表达为无限序列也是不可能的。在这种情况下,一般在有限域内,按照一定顺序每隔一定距离取一个点来代表其周围的点,从而形成有限维的表达。这就是信号在时域或空域的量化。
这样做不可避免要丢失信息。但是,由于小邻域内信号的高度相关,信息丢失的程度往往并不显著。而且,从理论上说,这相当于在频域中的低通过率。对于有限能量的连续信号,不可能在无限高的频域中依然保持足够的强度,只要采样密度足够,丢失的东西可以任意的少。
除了表示信号,对于几何形体的表达也经常使用量化,比如表示curve和surface。
找出有限个数充分表达一个对象也许不是最困难的。不过,在其上面建立数学结构却未必了。一般来说,我们要对其进行处理,首先需要一个拓扑结构用以描述空间上的点是如何联系在一起。直接建立拓扑结构在数学上往往非常困难,也未必实用。因此,绝大部分工作采取的方式是首先建立度量结构。一个度量空间,其度量会自然地诱导出一个拓扑结构——不过,很多情况下我们似乎会无视它的存在。
最简单的情况,就是使用原始向量表达的欧氏距离(Euclidean distance)作为metric。不过,由于原始表达数值的不同特性,这种方式效果一般不是特别好,未必能有效表达实际对象的相似性(或者不相似性)。因此,很多工作会有再此基础上进行度量的二次建立。方式是多种多样的,一种是寻求一个映射,把原空间的元素变换到一个新的空间,在那里欧氏距离变得更加合适。这个映射发挥的作用包括对信息进行筛选,整合,对某些部分进行加强或者抑制。这就是大部分关于feature selection,feature extraction,或者subspace learning的文章所要做的。另外一种方式,就是直接调节距离的计算方式(有些文章称之为metric learning)。
这两种方式未必是不同的。如果映射是单射,那么它相当于在原空间建立了一个不同的度量。反过来,通过改变距离计算方式建立的度量在特定的条件下对应于某种映射。
大家可能注意到,上面提到的度量建立方法,比如欧氏距离,它需要对元素进行代数运算。对于普通的向量空间,线性运算是天然赋予的,我们无须专门建立,所以可以直接进行度量的构造——这也是大部分工作的基础。可是,有些事物其原始表达不是一个n-tuple,它可能是一个set,一个graph,或者别的什么特别的object。怎么建立代数运算呢?
一种方法是直接建立。就是给这些东西定义自己的加法和数乘。这往往不是那么直接(能很容易建立的线性运算结构早已经被建立好并广泛应用了),可能需要涉及很深的数学知识,并且要有对问题本身的深入了解和数学上的洞察力。不过,一个新的代数结构一旦建立起来,其它的数学结构,包括拓扑,度量,分析,以及内积结构也随之能被自然地诱导出来,我们也就具有了对这个对象空间进行各种数学运算和操作的基础。加法和数乘看上去简单,但是如果我们对于本来不知道如何进行加法和数乘的空间建立了这两样东西,其理论上的贡献是非常大的。
(一个小问题:大家常用各种graphical model,但是,每次这些model都是分别formulate,然后推导出estimation和evaluation的步骤方法。是否可能对"the space of graphical model"或者它的某个特定子集建立某种代数结构呢?(不一定是线性空间,比如群,环,广群, etc)从而使得它们在代数意义上统一起来,而相应的estimation或者evaluation也可以用过代数运算derive。这不是我的研究范围,也超出了我目前的能力和知识水平,只是我相信它在理论上的重要意义,留作一个远景的问题。事实上,数学中确实有一个分支叫做 Algebraic statistics 可能在探讨类似的问题,不过我现在对此了解非常有限。)
回到我们的正题,除了直接建立运算定义,另外一种方式就是嵌入(embedding)到某个向量空间,从而继承其运算结构为我所用。当然这种嵌入也不是乱来,它需要保持原来这些对象的某种关系。最常见的就是保距嵌入(isometric embedding),我们首先建立度量结构(绕过向量表达,直接对两个对象的距离通过某种方法进行计算),然后把这个空间嵌入到目标空间,通常是有限维向量空间,要求保持度量不变。
“嵌入”是一种在数学上应用广泛的手段,其主要目标就是通过嵌入到一个属性良好,结构丰富的空间,从而利用其某种结构或者运算体系。在拓扑学中,嵌入到metric space是对某个拓扑空间建立度量的重要手段。而在这里,我们是已有度量的情况下,通过嵌入获取线性运算的结构。除此以来,还有一种就是前些年比较热的manifold embedding,这个是通过保持局部结构的嵌入,获取全局结构,后面还会提到。
接下来的一个重要的代数结构,就是内积(inner product)结构。内积结构一旦建立,会直接诱导出一种性质良好的度量,就是范数(norm),并且进而诱导出拓扑结构。一般来说,内积需要建立在线性空间的基础上,否则连一个二元运算是否是内积都无法验证。不过,kernel理论指出,对于一个空间,只要定义一个正定核(positive kernel)——一个符合正定条件的二元运算,就必然存在一个希尔伯特空间,其内积运算等效于核运算。这个结论的重要意义在于,我们可以绕开线性空间,通过首先定义kernel的方式,诱导出一个线性空间(叫做再生核希尔伯特空间 Reproducing Kernel Hilbert Space),从而我们就自然获得我们所需要的度量结构和线性运算结构。这是kernel theory的基础。
在很多教科书中,以二次核为例子,把二维空间变成三维,然后告诉大家kernel用于升维。对于这种说法,我一直认为在一定程度上是误导的。事实上,kernel的最首要意义是内积的建立(或者改造),从而诱导出更利于表达的度量和运算结构。对于一个问题而言,选择一个切合问题的kernel比起关注“升维”来得更为重要。
kernel被视为非线性化的重要手段,用于处理非高斯的数据分布。这是有道理的。通过nonlinear kernel改造的内积空间,其结构和原空间的结构确实不是线性关联,从这个意义上说,它实施了非线性化。不过,我们还应该明白,它的最终目标还是要回到线性空间,新的内积空间仍旧是一个线性空间,它一旦建立,其后的运算都是线性的,因此,kernel的使用就是为了寻求一个新的线性空间,使得线性运算更加合理——非线性化的改造最终仍旧是要为线性运算服务。
值得一提的是,kernelization本质上说还是一种嵌入过程:对于一个空间先建立内积结构,并且以保持内积结构不变的方式嵌入到一个高维的线性空间,从而继承其线性运算体系。
上面说到的都是从全局的方式建立代数结构的过程,但是那必须以某种全局结构为基础(无论预先定义的是运算,度量还是内积,都必须适用于全空间。)但是,全局结构未必存在或者适合,而局部结构往往简单方便得多。这里就形成一种策略,以局部而达全局——这就是流形(manifold)的思想,而其则根源于拓扑学。
从拓扑学的角度说,流形就是一个非常优良的拓扑空间:符合Hausdorff分离公理(任何不同的两点都可以通过不相交的邻域分离),符合第二可数公理(具有可数的拓扑基),并且更重要的是,局部同胚于R^n。因此,一个正则(Regular)流形基本就具有了各种最良好的拓扑特性。而局部同胚于R^n,代表了它至少在局部上可以继承R^n的各种结构,比如线性运算和内积,从而建立分析体系。事实上,拓扑流形继承这些结构后形成的体系,正是现代流形理论研究的重点。继承了分析体系的流形,就形成了微分流形(Differential manifold),这是现代微分几何的核心。而微分流形各点上的切空间(Tangent Space),则获得了线性运算的体系。而进一步继承了局部内积结构的流形,则形成黎曼流形(Riemann manifold),而流形的全局度量体系——测地距离(geodesics)正是通过对局部度量的延伸来获得。进一步的,当流行本身的拓扑结构和切空间上的线性结构发生关系——也就获得一簇拓扑关联的线性空间——向量丛(Vector bundle)。
虽然manifold theory作为现代几何学的核心,是一个博大精深的领域,但是它在learning中的应用则显得非常狭窄。事实上,对于manifold,很多做learning的朋友首先反应的是ISOMAP, LLE, eigenmap之类的算法。这些都属于embedding。当然,这确实是流形理论的一个重要方面。严格来说,这要求是从原空间到其映像的微分同胚映射,因此,嵌入后的空间在局部上具有相同的分析结构,同时也获得了各种好处——全局的线性运算和度量。不过,这个概念在learning的应用中被相当程度的放宽了——微分同胚并不能被完全保证,而整个分析结构也不能被完全保持。大家更关注的是保持局部结构中的某个方面——不过这在实际应用中的折衷方案也是可以理解的。事实表明,当原空间中的数据足够密集的情况下,这些算法工作良好。
Learning中流形应用的真正问题在于它被过滥地运用于稀疏空间(Sparse space),事实上在高维空间中撒进去几千乃至几十万点,即使最相邻的几点也难称为局部了,局部的范围和全局的范围其实已经没有了根本差别,连局部的概念都立不住脚的时候,后面基于其展开的一切工作也都没有太大的意义。事实上,稀疏空间有其本身的规律和法则,通过局部形成全局的流形思想从本质上是不适合于此的。虽然,流形是一种非常美的理论,但是再漂亮的理论也需要用得其所——它应该用于解决具有密集数据分布的低维空间。至于,一些paper所报告的在高维空间(比如人脸)运用流形方法获得性能提升,其实未必是因为“流形”本身所起的作用,而很可能是其它方面的因素。
流形在实际应用中起重要作用的还有两个方面:一个是研究几何形体的性质(我们暂且不谈这个),还有就是它和代数结构的结合形成的李群(Lie group)和李代数(Lie algebra)。 当我们研究的对象是变换本身的时候,它们构成的空间是有其特殊性的,比如所有子空间投影形成了Grassmann流形,所有的可逆线性算子,或者仿射算子,也形成各自的流形。对他们的最重要操作是变换的结合,而不是加法数乘,因此,它们上面定义的更合适的代数结构应该是群和不是线性空间。而群和微分流形的结合体——李群则成为它们最合适的描述体系——而其切空间则构成了一种加强的线性空间:李代数,用于描述其局部变化特性。
李代数和李群的关系是非常漂亮的。它把变换的微变化转换成了线性空间的代数运算,使得移植传统的基于线性空间的模型和算法到李空间变得可能。而且李代数中的矩阵比起变换本身的矩阵甚至更能反映变换的特性。几何变换的李代数矩阵的谱结构就能非常方便地用于分析变换的几何特性。
最后,回头总结一下关于嵌入这个应用广泛的策略,在learning中的isometry, kernel和manifold embedding都属于此范畴,它们分别通过保持原空间的度量结构,内积结构和局部结构来获得到目标(通常是向量空间)的嵌入,从而获得全局的坐标表达,线性运算和度量,进而能被各种线性算法和模型所应用。
在获得这一系列好处的同时,也有值得我们注意的地方。首先,嵌入只是一种数学手段,并不能取代对问题本身的研究和分析。一种不恰当的原始结构或者嵌入策略,很多时候甚至适得其反——比如稀疏空间的流形嵌入,或者选取不恰当的kernel。另外,嵌入适合于分析,而未必适合于重建或者合成。这是因为嵌入是一个单射(injection),目标空间不是每一个点都和原空间能有效对应的。嵌入之后的运算往往就打破了原空间施加的限制。比如两个元素即使都是从原空间映射过来,它们的和却未必有原像,这时就不能直接地回到原空间了。当然可以考虑在原空间找一个点它的映射与之最近,不过这在实际中的有效性是值得商榷的。
和Learning有关的数学世界是非常广博的,我随着学习和研究的深入,越来越发现在一些我平常不注意的数学分支中有着适合于问题的结构和方法。比如,广群(groupoid)和广代数(algebroid)能克服李群和李代数在表示连续变换过程中的一些困难——这些困难困扰了我很长时间。解决问题和建立数学模型是相辅相成的,一方面,一个清晰的问题将使我们有明确的目标去寻求合适的数学结构,另一方面,对数学结构的深入理解对于指导问题的解决也是有重要作用的。对于解决一个问题来说,数学工具的选择最重要的是适合,而不是高深,但是如果在现有数学方法陷入困难的时候,寻求更高级别的数学的帮助,往往能柳暗花明。数学家长时间的努力解决的很多问题,并不都是理论游戏,他们的解决方案中很多时候蕴含着我们需要的东西,而且可能导致对更多问题的解决——但是我们需要时间去学习和发现它们。
拓扑:游走于直观与抽象之间
近日来,抽空再读了一遍点集拓扑(Point Set Topology),这是我第三次重新学习这个理论了。我看电视剧和小说,极少能有兴致看第二遍,但是,对于数学,每看一次都有新的启发和收获。
代数,分析,和拓扑,被称为是现代数学的三大柱石。最初读拓扑,是在两三年前,由于学习流形理论的需要。可是,随着知识的积累,发现它是很多理论的根基。可以说,没有拓扑,就没有现代意义的分析与几何。我们在各种数学分支中接触到的最基本的概念,比如,极限,连续,距离(度量),边界,路径,在现代数学中,都源于拓扑。
拓扑学是一门非常奇妙的学科,它把最直观的现象和最抽象的概念联系在一起了。拓扑描述的是普遍使用的概念(比如开集,闭集,连续),我们对这些概念习以为常,理所当然地使用着,可是,真要定义它,则需要对它们本质的最深刻的洞察。数学家们经过长时间的努力,得到了这些概念的现代定义。这里面很多第一眼看上去,会感觉惊奇——怎么会定义成这个样子。
首先是开集。在学习初等数学时,我们都学习开区间 (a, b)。可是,这只是在一条线上的,怎么推广到二维空间,或者更高维空间,或者别的形体上呢?最直观的想法,就是“一个不包含边界的集合”。可是,问题来了,给一个集合,何谓“边界”?在拓扑学里面,开集(Open Set)是最根本的概念,它是定义在集合运算的基础上的。它要求开集符合这样的条件:开集的任意并集和有限交集仍为开集。
我最初的时候,对于这样的定义方式,确实百思不解。不过,读下去,看了和做了很多证明后,发现,这样的定义一个很重要的意义在于:它保证了开集中每个点都有一个邻域包含在这个集合内——所有点都和外界(补集)保持距离。这样的理解应该比使用集合运算的定义有更明晰的几何意义。但是,直观的东西不容易直接形成严谨的定义,使用集合运算则更为严格。而集合运算定义中,任意并集的封闭性是对这个几何特点的内在保证。
另外一个例子就是“连续函数”(Continuous Function)。在学微积分时,一个耳熟能详的定义是“对任意的epsilon > 0,存在delta > 0,使得 。。。。”,背后最直观的意思就是“足够近的点保证映射到任意小的范围内”。可是,epsilon, delta都依赖于实空间,不在实空间的映射又怎么办呢?拓扑的定义是“如果一个映射的值域中任何开集的原像都是开集,那么它连续。”这里就没有epsilon什么事了。
这里的关键在于,在拓扑学中,开集的最重要意义就是要传递“邻域”的意思——开集本身就是所含点的邻域。这样连续定义成这样就顺理成章了。稍微把说法调节一下,上面的定义就变成了“对于f(x)的任意领域U,都有x的一个邻域V,使得V里面的点都映射到U中。”
这里面,我们可以感受到为什么开集在拓扑学中有根本性的意义。既然开集传达“邻域”的意思,那么,它最重要的作用就是要表达哪些点靠得比较近。给出一个拓扑结构,就是要指出哪些是开集,从而指出哪些点靠得比较近,这样就形成了一个聚集结构——这就是拓扑。
可是这也可以通过距离来描述,为什么要用开集呢,反而不直观了。某种意义上说,拓扑是“定性”的,距离度量是“定量”的。随着连续变形,距离会不断变化,但是靠近的点还是靠近,因此本身固有的拓扑特性不会改变。拓扑学研究的就是这种本质特性——连续变化中的不变性。
在拓扑的基本概念中,最令人费解的,莫过于“紧性”(Compactness)。它描述一个空间或者一个集合“紧不紧”。正式的定义是“如果一个集合的任意开覆盖都有有限子覆盖,那么它是紧的”。乍一看,实在有点莫名其妙。它究竟想描述一个什么东西呢?和“紧”这个形容词又怎么扯上关系呢?
一个直观一点的理解,几个集合是“紧”的,就是说,无限个点撒进去,不可能充分散开。无论邻域多么小,必然有一些邻域里面有无限个点。上面关于compactness的这个定义的玄机就在有限和无限的转换中。一个紧的集合,被无限多的小邻域覆盖着,但是,总能找到其中的有限个就能盖全。那么,后果是什么呢?无限个点撒进去,总有一个邻域包着无数个点。邻域们再怎么小都是这样——这就保证了无限序列中存在极限点。
Compact这个概念虽然有点不那么直观,可是在分析中有着无比重要的作用。因为它关系到极限的存在性——这是数学分析的基础。了解泛函分析的朋友都知道,序列是否收敛,很多时候就看它了。微积分中,一个重要的定理——有界数列必然包含收敛子列,就是根源于此。
在学习拓扑,或者其它现代数学理论之前,我们的数学一直都在有限维欧氏空间之中,那是一个完美的世界,具有一切良好的属性,Hausdorff, Locally compact, Simply connected,Completed,还有一套线性代数结构,还有良好定义的度量,范数,与内积。可是,随着研究的加深,终究还是要走出这个圈子。这个时候,本来理所当然的东西,变得不那么必然了。
两个点必然能分开?你要证明空间是Hausdorff的。
有界数列必然存在极限点?这只在locally compact的空间如此。
一个连续体内任意两点必然有路径连接?这可未必。
一切看上去有悖常理,而又确实存在。从线性代数到一般的群,从有限维到无限维,从度量空间到拓扑空间,整个认识都需要重新清理。而且,这些绝非仅是数学家的概念游戏,因为我们的世界不是有限维向量能充分表达的。当我们研究一些不是向量能表达的东西的时候,度量,代数,以及分析的概念,都要重新建立,而起点就在拓扑。
8:14 |固定链接 |学问研究
院士指点:研究生如何获得完整的科研训练(转)
院士指点:研究生如何获得完整的科研训练
作者:杨乐,著名数学家。1939年11月生于江苏省南通市,1980年当选为中国科学院学部委员(院士))
在导师的指导下,接受一次完整的研究工作训练,做出一篇合格的学位论文,是研究生学习期间的一项重要任务。
当前有些研究生培养单位有硬性规定:要拿到学位,至少要发表一篇SCI论文,甚至对论文总数也有要求。这样做效果并不好,因为在研究生阶段做出一两篇有意义的论文,并不代表学生曾受到完整的研究工作训练,只有在导师指导下接受一次完整的研究工作训练,才意味着具备了独立从事研究工作的能力。
完整的科研训练第一步是选题。我们要选定的是今后很长时间甚至一辈子从事的研究领域和方向,所以应该是国际上目前受关注的、有发展前途的重要领域或方向。此外,选题要根据自己的兴趣,所在的学校和导师也要考虑。学位论文的题目应当适当宽大些,这样才可以掌握这个领域和方向中的理论和方法,讨论范围太窄很难成为一篇优秀的学位论文。
选题当然要重视导师的意见,但是“老师给什么,我就做什么”的想法并不可取,因为大多数老师脑子里最常见的是两类问题:一类是他所在研究领域的著名难题,比如搞数论的脑子里就有黎曼猜想、哥德巴赫猜想,这种问题已经出现了几十年、几百年,很多著名学者都没做出来,当然不适合作为研究生的学位论文选题;另外一类问题老师已经知道该怎么做,甚至已经做过,只是他觉得意义不大就没有发表,如果老师给你这类问题,他肯定可以让你做出来,但是这样的问题没有多大意思。以上两类问题,第一类太困难,第二类又太没有价值,都不是好的学位论文选题。
阅读文献是研究工作中十分重要的一部分。文献常常包含一个领域的经典著作和最新文献。所谓经典著作,通常是该领域和方向学术奠基人的著作,可能二三十年前就已经产生,但是直到现在,其理论和方法还发挥着重要作用,不掌握它就少了一件工具、一样武器。如果把它弄懂,就可以用最快的速度到达该领域的前沿。另外,每一个领域和方向都在不断地产生新成果,所以还要掌握最新文献,否则可能花了很多工夫做出一些成果,到头来却发现,两年前美国或西欧某位学者发表的文章中早已提到这个结果。
刻苦攻关是研究工作最具决定性的环节。获取任何有价值的成果决不可能轻而易举,总要经过冥思苦想的探索。常常你觉得走投无路、准备放弃时,其实已是进入关键时期,这时候一定要坚持下来,再考虑用其他方法进行探索,就像学者王国维提出的“做学问三种境界”的中间阶段——“衣带渐宽终不悔,为伊消得人憔悴”。刻苦攻关需要的是坚强的毅力和百折不挠的精神,如果中间停顿下来,就没有后面的成果可言了。
经过研读文献和刻苦攻关,取得了有意义的结果,要注意拓展和扩大这些成果。有时候,换个角度思考所得结果和处理方法,就可能得到更有价值的成果。比如上个世纪70年代,我和张广厚完成一项在国际上被认为很有影响和价值的工作,其实,那项工作是我们过去一项工作的继续。我们花费很大心血完成了一篇论文,但是结果并不太好,看起来也没有那么大的影响力,后来我们就换了一个角度考虑问题,完成了第二篇论文,结果获得很高评价。
最后,论文的成文环节也非常重要。一篇论文应当做到推理严谨,表达流畅,叙述清晰易懂,形式美好。我读研究生的时候,从论文初稿到投送发表,至少写3遍,因为每一次改写都是对整个论文的再思考。上世纪70年代,我和张广厚的每篇论文都经过充分讨论,当时他患视网膜炎,不能过多用眼,都是由我执笔写,他说最后的论文看不懂,并不是真的看不懂,而是粗粗一看跟最开始完全不同,因为最后的版本更加严谨,表达也更加流畅了。
在研究生阶段,如果能够在导师的指导下,经过从选题到阅读文献、刻苦攻关、扩大战果再到撰写论文这样一个完整的训练过程,研究生就具备了独立从事科研工作的能力。同时,再具备远大的理想、浓厚的兴趣和长期的努力,很多人都可以在自己的研究领域成为卓越的科学家。(来源:光明日报)
8:12 |固定链接 |学问研究
数学研究入门(转)
中国田径队为在短跑项目上获得突破,几十年来一贯坚持训练“从难、从严、从实战出发”和“大训练量”的“三从一大”原则,这样做的结果不要说世界级比赛拿不到奖牌,甚至在亚洲也难拿冠军.2000年前后,中国田径教练孙海平通过引入新的训练理念和方法,在2004年的雅典奥运会上,成功地将刘翔推到110米栏世界冠军的宝座,而且后来刘翔还打破世界记录,让世界华人为之骄傲和自豪!孙海平在年轻的时候当过8年的职业运动员,尽管他那时训练刻苦,却一直默默无闻.当上教练员后,他通过改变训练方式,不但让刘翔在国际田径赛场上傲视群雄,更没有让其成为昙花一现的流星,这就是方法的功效. 同样的,做科研,我们要寻求并遵循做科研的方法.
人贵有自知之明,我这里总结的关于进行数学科研的一些心得也不是放之四海而皆准的真理.有兴趣的可以看华罗庚,王梓坤等数学大师的传记以获取更多的关于科研的诀窍,并根据自身的特点找出适合自己的科研方法.
一、研究的特点、层次和境界
做研究是一个从search到research的反复过程.对于不同层次的人,人们对他做研究的要求也是不一样的. 一般来讲,老师给有答案的问题做是大学生做的事情;导师给没有答案的问题做是硕士生做的事情;自己发现问题并寻求答案是一个博士生也就是真正做科研的人做的事情.所以, 对于一个从事科研的人来讲, 能提和会提问题是很关键的.这就是为什么人们至今对希尔伯特一百多年前提出的二十三个问题津津乐道.
所谓问题,就是对现有知识的异议和挑战.这要求我们要学会从学知识、运用知识到创造知识的转变.如果完成不了这个转变,即使大学阶段学习再好,也做不了研究.
关于做科研,著名数学家华罗庚总结出四种境界:
第一种是照葫芦画瓢模仿,实际上相当于做习题.在研究的初级阶段做些习题是有必要的,但是一辈子做习题而无创新就没有意思.
第二种境界是套用现成的方法解决新问题.这和第一种境界没有太大的区别,但这样做时,由于过去的方法并不完全适用于现在的问题,所以还是有一些改进工作要做的.或许,在用老方法尝试解决新问题的时候会产生新的思路.我们不要小瞧这样的工作,著名数学家陈景润的1+2的研究成果就是利用挪威数学家布朗的“筛法”得到的.但一个人做科研不能老局限在这种境界里,要考虑针对新问题有无更有效的方法.否则,一发现新问题,就老想着把它归结到以前碰到过的问题类里面,这样会把自己的思维给限制住,影响我们的创造力.
第三种境界:用创新性的方法解决遇到的新问题.这种境界完全有别于前两种境界,是能力提高的表现.
第四种境界是开辟新领域,新方向.这属于拓荒探宝性质的工作,其意义不言而喻.它要求很高,一般人很难达到.
做研究是要出成果的, 成果有多种形式.与上述境界相对应, 理论成果相应地分为如下几个层次:
能解决实际问题——这是科研成果的最高层次;
能解释某种现象——具有所谓的理论意义;
所得结果能自得其乐,被人欣赏——这在老外称为结果是interesting,这应是最起码的;
完成科研任务(包括评职称)——尽管需要却是比较低级的;
领单位的科研奖励——这是最低级的.
二、科研的步骤
如何找idea? 这是一个老生常谈的问题,要想写出好的科研论文,要掌握好几个环节,这里我们以做椅子为例进行类比分析.我们知道现在家俱商场里椅子的款式是各式各样.如果你也想做一些椅子到商场里去卖, 那么怎样做才有人喜欢买呢? 这要从以下几点入手:
1. Background
首先你要弄清楚椅子的结构和当今流行的款式. 光听别人说椅子多么好,如果你从来没见过椅子,你不可能做出招人喜欢的椅子来.你见过了,到上面坐坐,观察椅子每一部分的结构和用途,并调研一下现在流行的款式,才有可能做出新款式的椅子,做出后到商场展销的时候也会受顾客欢迎.写文章也是这样,它要求我们一开始就要把所研究的问题搞清楚:即弄清楚问题的性质,目前的研究现状以及所面临的困难.而要弄清楚这些,光在外围转悠是不行的,要深入到问题里面, 起码要把问题的来龙去脉搞清楚.
2. Motivation(Why)
数学研究可以从市场营销学的角度进行分析,既然市场上已经有很多同类商品了,为什么我们要生产我们的商品?我们的商品和别人的商品相比有什么优势?这种critical thinking很重要!下面我们仍以生产椅子为例进行说明.人最早的时候是坐木墩子,但木墩子太沉不好挪动,这就有了凳子;凳子的缺陷是坐时间久了,腰疼没法休息,于是有了靠背,出现了椅子;坐椅子时间久了,感觉胳膊没地方放,于是有了扶手,出现了圈椅.做研究也是这样,整理一篇论文之前我们一定要细心考虑我为什么要写这篇论文:这种研究是新的吗?意义何在? 目前有没有这方面的研究。如果有了,我整理的这篇论文有什么优势? 如果单纯为写论文而写论文,尽管有时也能发表,但时间久了自己都觉得没意思.在这方面的训练可以从读别人文献的时候开始:既然别人已经研究过这个体系,那么为什么这篇文章还要研究类似的东西?是它的结论推翻了以前的结论,还是它用了新的方法手段得到相同的结论?如果只是手段不同,换汤不换药,那么意义在什么地方?
3. How (Main Results)
问题的症结找到以后,怎么解决? 这里有两点,
一是凭自己的基础、汗水和聪明才智进行创造性工作,找到解决问题的方法;
二是借鉴别的东西,比如看到床上面铺上被子以后坐在上面很舒坦,受此启发,我们可以在椅子上也铺上被子,这样坐起来自然也应该很舒服,于是沙发出现了.
写文章也是这样,我们可以通过阅读参考文献,借鉴别人研究问题的方法而构建自己的新方法.即所谓“它山之石,可以攻玉”.
三、课题的选取
选取课题当然要慎重.应用性的研究课题非常明确,一般没有选择的余地.对于理论型研究课题,
王梓坤院士提示我们要坚持两点:
坚持学科发展的最前沿,特别要选择前人未研究过但又有很大潜力和意义的新课题,力求创新;
其次是攻克目前学科上的公认难题.
从另一角度讲,选课题可采取如下两种策略:
一是选择与别人正面交锋.在别人工作的基础上做进一步的改进,如使别人的结果为你所得结果的一个特殊情况,这也包括解决别人的公开问题或猜想.这样做的条件是你要有坚实的基础和扎实的功底.
二是避开别人的强项,如同爬山,不与对方选择同一条线路,你从山左边跑,我从山右边跑.尽管我跑的速度不如对方,但由于线路不同,所以最后的胜利者难说一定是你.这种策略对应于研究问题时从不同的角度进行研究.
下面,我们介绍实现上述策略的几种方法.
1. 利用类比方法建立新理论和新方法
不同的学科之间是有很多共性的.所以我们对一些新问题的研究可以借鉴老问题的研究方法.这包含两个方面:
一是推广.如我们可以把实数范围内的一些结论推广到复数范围内,也可以尝试把低维空间中的一些结论推广到高维空间.这样做当然有些结论可能是不成立的,自然需要考虑建立新的结论.而且即使它成立,证明过程或借用的研究工具也可能是完全不同的.
二是利用新问题和某老问题的一些共性而借用解决老问题的方法提出解决新问题的方法.这方面的最典型的例子莫过于著名数学家欧拉对于倒数平方和级数的计算.
2. 改变问题的描述形式
当我们对一些问题的研究没有任何进展的时候,可以考虑对问题的表述形式进行转换,这样做可以使我们转换角度研究问题,有利于我们借助新的研究工具打开一个新的研究渠道.如方程组问题也可以表述成最优值为零的无约束优化问题。这样,我们就可以利用最优化方法里的一些工具研究方程组问题.最优化算法中著名的共轭梯度算法就是通过这种转化建立的.
3. 通过归纳推理建立结论
对于简单枚举推理结论的或然性,华罗庚先生曾做过通俗的说明:从一个袋子里摸出来的第一个是红玻璃球,第二个是红玻璃球,甚至第三个、第四个、第五个都是红玻璃球的时候,我们立刻会出现一种猜想:“是不是这个袋子里的东西都是红玻璃球?”当我们有一次摸出一个白玻璃球的时候,这个猜想失败了.这时,我们会出现另一个猜想:“是不是袋里的东西都是玻璃球?”当有一次摸出来的是一个木球的时候,这个猜想又失败了.那时我会出现第三个猜想:“是不是袋里的东西都是球?”这个猜想对不对,还必须继续加以检验,只有把袋里的东西全部摸出来,才能见分晓.这是简单枚举推理的过程,其可靠程度取决于所考察对象的范围及数量.简单枚举推理固然有“以偏概全”的缺点,光使用它是不够的,所以我们需要进一步分析某类事物中的部分对象之所以具有某种属性的内在原因,然后推出关于此类事物的一般性结论.这种不完全归纳推理称为科学归纳推理.比如,人们对金属热胀冷缩的现象就是先通过简单枚举然后经过研究其分子结构而通过科学归纳法得到的.由于科学归纳推理是通过对事物因果联系的科学分析得出结论的,所以只要人们对事物原因的分析是正确的,那么,其结论就是可靠的.
4. 探求因果联系
俗话说:“无风不起浪.”任何现象的出现都不可能没有原因.所以,因果联系具有确定性.据此,我们可以由某种结果探明其原因.比如在数值计算过程中,若不时出现某种稀奇的结果,这时我们就要对算法、程序或对计算的问题进行细究,找出原因.
四、科研档次的提高
一个人做科研不能老局限于华老所说的第二种境界.王梓坤先生说过:做学问一定先打破一个缺口,在一个方向上有自己的建树,建立自己所谓的根据地.但做科研不能老局限于自己的“责任田”里,而要通过扩大自己的知识面加强自己的主攻方向,扩大自己的根据地. 策略是顺藤摸瓜,展开与自己的研究领域相关的其他领域的研究,以实现专和博的统一.有时我们会从一个研究分支转到另一个研究分支,但这并不是把原来所搞分支丢掉跳到另一分支,而是在搞熟弄通的分支附近,扩大眼界,在这个过程中逐渐转到另一分支.这样,原来的知识在新的领域就能有用,选择的范围就会越来越大. 这样做要求我们有比较宽的知识面和扎实的基础.事实上,在应用数学方面有所建树的人其数学功底都很深.如同相声演员, 有的不但能说学逗唱,而且还能吹拉弹唱,甚至称得上专业,这值得我们思考.不过话说回来,尽管我们要求做研究的人知识面要宽,但千万千万不要看着别人做得很来劲,就抛弃自己正在做的研究去跟着别人跑,因为这无异于拿自己的短处跟别人的长处相比.
五、做研究所需要的基本条件
王梓坤院士认为做科学研究需要德、识、才、学四个要素.
所谓德是指一个人的品德,它不但包括我们和别人相处过程中所表现出的谦虚、谨慎的优良品质,还包括我们在研究过程中所需要的实事求是,勤勤恳恳和脚踏实地的实干精神.
所谓学,它指的是一个人的学问,也就是扎实的基础.
才是指一个人的才干,也就是一个人利用所掌握的知识解决实际问题的能力.一个人基础好还不够,只有当他把所掌握的知识真正用来解决实际问题时,他的知识才是真正有用的.
识是指一个人直觉的观察力和丰富的想象力。直觉的观察力是指对问题一针见血的分析能力,这是发现问题和解决问题的关键.对一个问题,它值得不值得解决,如果要解决的话应从哪里入手,对于一个成熟的研究人员来讲,他心中一定要有数. 同时,一个人要想在科学上有所建树,他必须有丰富的想象能力,因为按部就班的人是没有创造力的.
具体说来,做研究的必要条件有一下几点:
1. 有扎实的基础
一个想要真正做研究的人一定要精读一些优秀教材,对该学科的基本知识和基本理论有一个全面、系统的了解,使自己真正进入这一学科领域。如果有条件允许可以读一些本学科现代的经典著作,这是是研究生攀登这一门学科的最好的阶梯和捷径。在大学阶段,我们获得了一定的基础知识,接受了科学的基本训练,但这是初步的,仅打下了一个基础。到研究生阶段,我们要尽可能对本学科领域作全面、深入的了解,根基愈宽阔,则将来可致力的范围亦愈广阔。当我们研究一门学问向上攀登时,就必须对前人的工作进行研究,弄清楚他们的思想、他们的理论、他们科学研究的过程,了解他们遇到的困难、他们受到的种种局限。如果把这些情况研究得一清二楚了,你就能创造自己的东西了。“传承拓新”,这是科学研究的一个普遍规律。
随着一个人研究工作的推进,他的基础会渐渐显露出来.讲到基础,凡是作过科学研究或即将从事科学研究的人总会发问:基础要多大才好?如果我们笼统地回答说,基础愈大愈好,是不解决问题的.对此,我们很难界定一个具体的标准,我们的建议是若遇到自己所掌握的知识不足以支撑我们的研究需要时,最好能抽出一定的时间补一下自己的基础.
2. 善于思考,保持思路清醒的头脑
只有善于思考的人才会在研究中少走弯路,并善于在研究中发现新思路.独立思考是科学研究的根本.历史上,任何一个重大的发明不是没有通过独立思考就能搞出来的.由于一切事物都在不断地发展着,昨天已经获得的成果,固然变成了我们知识上的财富,但当这些财富不能用来解决今天遇到的新问题的时候,我们就必须创造新方法,如此,便必须依赖于突破前人成规的独立思考能力.当然,独立思考也并不是说不要读书,不要看文献,不要听老师的讲述了.书本、文献、老师都是要的,牛顿的成功尚且归功于自己站在巨人的肩上何况我们呢?只是我们不要拘泥于这些.独立思考也不是说一个人独自在那里冥思苦想,不和他人交流.因为独立思考也要借助别人的结果和智慧.
3. 善于思考,激发灵感
谈到灵感,很多人会想到美国发明家爱迪生的那句名言:“天才就是百分之九十九的汗水加百分之一的灵感”。这是不少人的座右铭, 似乎只要“出大力, 流大汗”就可以成才. 但许多人并不知道,爱迪生这句名言还有下半句:“但是,这百分之一的灵感恰恰是最重要的!有时要比那百分之九十九的汗水还要重要! ” 不管对于一个科学家, 艺术家, 还是对于一个普通人, 汗水和灵感都是至关重要的.那么,什么是灵感?灵感是创造性劳动过程中出现的“一闪念”的一种心里状态,它不但能由表及里,透过表面现象看本质,体现出高度的抽象概括能力和敏锐的洞察力,而且还能由此及彼体现出丰富的想象力和一定的创造性。古往今来,历史上的无数发明创造都离不开人的灵感。汗水产生量变,灵感产生质变.灵感是知识的一个升华过程。我们要善于激发自己的灵感.灵感并不是什么神秘的东西,而是经过长时间的思考和实践之后,思想处于高度集中和紧张时,对所考虑的问题已基本成熟但又没有彻底成熟,一旦受到某种启发时融会贯通时所产生的新思想. 许多事实证明:灵感多数是在思维长期处于紧张状态而暂时松弛时得到的. 对于炭的化学结构,德国化学家凯库勒苦苦思索不得其解,但在乘车回家的路上他忽然毛塞顿开.相反,过久地考虑同一个问题会使我们陷入死胡同,白白地浪费精力和实践.与其这样,不如先把它放一放,换一个问题或角度思考.然后再转过头考虑原来的问题,并努力把他们串起来,这样有利于新思想的出现.
4. 经常参加一些学术活动, 练好外语
要想提高自己的科研水平,就必须经常参加一些学术活动,以及时掌握科研发展的动向和目前科研的主流. 参加学术活动对我们的另外一个好处是,一旦碰到自己感兴趣的课题,并且自己有一点想法,就可以尝试与这方面的专家等进行实质性沟通.这很可能就是自己研究道路的一个转折点.
5. 要善于与导师交流
与导师和周围的人之间建立和谐的关系相当重要.即使你比导师还聪明,但不要表现得比他厉害.这是一个人的品德问题.无论是研究生还是博士生一定要明白一个道理:学习主要靠自己,指导教师的作用是次要的。尽管如此,在学习期间,与指导教师经常交流还是十分重要的。研究生从交流中向指导教师学习,学习老师是如何思考问题的,如何深入研究的,如何撰写论文的,如何治学的,等等。因此,判断师生之间关系是否融洽、培养是否收到成效、教师是否称职、学生是否努力的一个重要要素就是师生之间能否经常交流。要知道优良的导师有无数成功的和失败的经验,特别是后者,往往是在书本上不易找到的——因为书本上仅仅记录了成功的创作,而很少记录下在发明之前无数次失败和无数次逐步推进的艰苦思索过程.而优良的导师正如航行的领航者一样,他可以告诉你哪儿有礁石,哪儿是航道,特别是在自己读了很多书或论文没有任何想法的时候.
6. 要虚心、善于与人合作
我们每个人都有自己擅长的地方也有自己的弱项,这要求我们在做研究时要学会搭配.比如,有的人功底很好,可找不到题目,而有的人很会提问题,自己却不能解答.这两类人在一起,如果合作愉快会产生1+1>2的效果.当然,合作有时会因为作者排名产生不愉快,所以我们说善于与人合作实在是一种优秀的品德.
7. 摆正心态,忌图侥幸
任何发明创造和科研成果都不是偶然出现的.牛顿看见苹果从树上掉下来并非是他发现万有引力定律的真正原因,我们只能说这个现象启发了他.阿基米德发现浮力定律就是在他沉溺于浮力问题的思考中在他下游泳池的时候豁然开朗的.所以,科学上的灵感不是坐待可以得来的.如果说科学上的发现有什么偶然的机遇的话,那么这种“偶然的机遇”只能给那些学有素养的人,给那些善于独立思考的人,给那些具有锲而不舍精神的人,而不会给懒汉. 关于心态,我们要避免两种倾向:对自己的专业漫不经心,这山看着那山高,控制论,航天宇宙都了解一点但都是皮毛,一看自己的专业就觉得没有多大意思,这无异于逛过花花世界的人瞧不起自己的家乡一样,最终只能一事无成.另外一种倾向是只守住自己专业的那个小角落,不观察世界新局势.长此以往,不但会使自己的思想枯竭,而且性情也会孤僻.
8. 耐得住寂寞
一个做科学研究的人,一定要有科学的态度,做一个经受得住寂寞的人。
现如今浮躁的心态和不健全的考核制度使很多刚进入科学研究的年轻人急于出成果,见效益。但一个真正想做研究的人,要想在学术界立住脚,他的工作必须令人信服,而这需要有成果来支撑。而别人一旦发觉你的某个成果站立不住,它的反面影响力远比你文章的正面影响力深远。所以,做研究的人要严谨,要有诚信,要尊重事实,并捍卫真理。不要有了结果,即使数据靠不住,也出文章。要做到这一点,就要耐得住寂寞。
我们都熟知陈景润为解决哥德巴赫猜想废寝忘食的故事。我们年轻一代人可能受不了这个苦。不过,我们还是要说:要想出成果,就得耐得住寂寞. 一个浮躁的人是做不了研究的。
9. 重视点滴工作,从手头做起,循序渐进
不要轻视容易解决的问题和忽视点滴工作.科学之所以得有今日,并不是由于极少数的天才一步登天般地创造出来的,而是由于人类日积月累长期辛勤思考的结果.任何一个成功的科学工作,如果分析一下,都是由于不少步骤所组成的.由第一步看第二步,是容易的,较直觉的;由前一步看后一步,也莫不如此.但是,一连若干步贯穿起来,这便成为一件烦难而深入的工作了.所以,我们的着眼点应是从容易入手,逐步深入,一步不苟地进入科学内核之中. 对于任何一个问题的研究都不是一下子就得到问题的正确答案的.人们在一开始是得到一个近似答案或近似解,然后一步步逼近正确答案.
祝愿各位读者能在数学上做出突出的成绩!
http://windherd.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&_c=BlogPart&partqs=cat%3d%25e7%25a7%2591%25e7%25a0%2594%25e8%25b7%25af%25e4%25b8%258a
from:http://www.51xuewen.com/blog/B_aShow.aspx?blog=wangyj02&ID=6940
8:10 |固定链接 |学问研究
“治学和为人之道”——著名数学家杨乐院士在东南大学的演讲(摘要)
杨乐院士
各位老师、各位同学:
很高兴在东南大学的九龙湖校区给大家做这个讲座。东南大学是一所水平很高,培养了很多卓越人才的大学。在二十世纪二十年代,原来的南京高师改名为东南大学,那时,国内的高等教育并不发达,大学数量很少,但是东南大学却集中了一批在国内极其突出的学者,这些学者以及他们所培养的学生都成为了各个学科带头的学者。
我是江苏人,回到南京感觉很亲切。在江苏念完了小学中学后,我去北京大学念书,后来又到中国科学院念研究生,我的导师是熊庆来先生。在二十世纪二十年代,熊先生来到东南大学创办数学系,在做数学系教授兼系主任期间,培养了众多数、理、化方面杰出的人才,著名数学家严济慈先生就是其中之一。严先生在东大读书期间成绩非常优秀,毕业后去法国深造。在严先生之前,法国政府并不承认中国高校的学历,出于严先生所表现出的卓越才能和扎实的学术功底,法国政府自严先生起开始承认中国高校的学历。二十世纪二十年代东大还走出了诸如竺可桢教授、中国生物学鼻祖胡先骕教授等一大批学术泰斗,这是值得我们每位东大学子引以自豪和骄傲的。那时,东南大学办《学衡》杂志,在全国都有深远的影响,所以东南大学在这方面是有非常光荣的传统的。
今晚,我想跟同学们谈谈关于“做学问”和“做人”的一些感受,供同学们参考!
治学
同学们在学习的过程中,要打好基础,尤其要打好数学基础。
虽然大学中的科系各有特色,但对于相当多的学科来说打好数学基础非常重要。许多同学只重视专业课学习而往往忽视了基础课的学习,要想成为自己专业方面的高层次的人才,并做出比较突出的成绩,应重视基础课的学习,对于理工类学生来说,尤应打好数学基础。
数学是一门很有用的工具,在学术史上具有越来越重要的地位。数学在历史上曾一度是随物理力学、天文等学科需求的发展而发展的。就在半个多世纪前,数学主要用在物理、力学和天文学方面,而其它学科的研究虽然也运行数学但并不运行高深的数学知识。但随着科技的发展,到了二十世纪七十年代以来,尤其是现在,数学已经渗透到各门科学,如高新技术、经济、金融、保险、证券、管理等各个方面。以数学在生命科学中的应用发展为例,在五十年代,我国高校中生物学专业的学生只有一个学期的数学课,研究主要依靠采集、比较、分析便可完成,许多生物学专业同学的数学水平只相当于高中生。文革十年是我国科学技术发展止步的十年,十年浩劫平息后,我们的生物学在试图找出与世界生物学发展的差距的过程中发现,世界高端的生物学研究中已应用了大量深奥的数学工具,而我们高校中生物学专业的学生所受的数学训练已不能应付研究的需要。这充分说明数学在生命科学领域已经发挥了重要的作用。其他科学领域,如信息科学、能源科学、环境科学,随着二十世纪六七十年代以来的飞速发展,内容也越来越趋丰富,过去依靠采集、比较、分析的研究手段,已不能满足定量化、精密化的要求,而逐渐开始依赖数学,往往数学工具应用的越深入越有助于研究工作的开展。
现在每门科学的研究都离不开计算机了,但计算机却无法代替数学。虽然计算机在各个学科领域已被广泛应用,但数学严谨的逻辑推理是计算机所不能代替的。相反,用计算机进行研究工作,必须要建立数学模型和选择适当的计算方法然后进行计算,对数值计算的结果与我们理想中的精确结果作比较,进行误差估计,衡量收敛速度,而这些都必须由数学完成。因此计算机只是我们进行科研的手段而决不能代替我们的逻辑推理。所以,随着各门学科越来越多地利用计算机进行研究,这对我们数学修养与能力的要求也日益提高。
这是我们要打好基础,尤其是数学基础的一个方面,但是更重要的并不在于数学的直接作用,而在于数学是培养和锻炼人的能力的一个重要方面。首先,数学所研究的数量关系和空间形式可以充分锻炼我们的几何直观和空间想象能力。其次,数学是一门严谨的科学,它可以锻炼我们严谨的逻辑推理能力。此外,通过做数学题,可以锻炼我们的分析思考归纳能力、证明的能力和计算能力,而所有这些能力归结到一点就是创新能力。中国目前正处在一个高速发展的阶段,创新能力尤被强调。所谓创新,就是要求从基本原理、原始思想上考虑问题,然后求得突破,这与数学对我们的能力要求是一致的。如果能打好数学基础,那么我们的能力和素质都能得到相应的提高。以国内一批出色学者为例,中国科学院、工程院院士们很多都爱好数学,他们认为在学校中对数学的偏爱使他们受益良多。比如,著名的钱学森教授就非常重视数学,钱先生本人数学功底极强。又如,在激光照排方面做出极大贡献的王选教授,就毕业于北大数学系。最后,对于其他科学家望而却步的新兴学科领域,数学家往往最容易跨入,因此从这个意义上来说数学是储备人才的重要手段。所以我认为东大要成为一流大学,要培养高层次的专业人才,数学教学尤为重要。而世界上诸多一流大学都毫无例外的有很强的数学系,数学的修养,是成为高层次人才的必须。
也许,在座的同学们要问如何学习数学?确实,中学数学与大学的高等数学有很大的不同。相比中学数学课,大学高等数学课有内容量大、重理论性、概念性知识较强的特点,这就要求我们同学在课后必须花时间去钻研,要用比上课课时更多的时间去复习。新入学的同学要有这样的思想准备,要肯花时间、花功夫。学好数学没有什么捷径,但我也可以向同学们介绍三点学习数学的经验。首先,要多动脑——多思考、多钻研、多分析,在学习中带上研究的性质。数学的特点在于严谨的逻辑推导,但也往往由于逻辑的推导而掩盖了原始的数学思想。所以对于数学的证明推理,就要在学习过程中找出原始的数学思想逻辑,即还原数学家在证明自己思想时的步骤。如果能在学习中带上研究性质,认真分析思考,自己的研究能力和数学修养就会不断提高,自身的创新能力也会在不知不觉中得到提高。其次,要多动手。平时的学习中除了看参考书、教科书,应学会把书和笔记放在一边,以自己的语言把主要的内容复述出来,找出自己不清楚的地方。巩固的过程中,要做一些基本训练的题,也需要做一些带有思考性质的题。最后,要加强自学。要学会自己安排自己的学习,对于学有余力的同学应利用课余时间扩大自身的知识深度和广度。
为人
在做人方面,我也想和东大学子谈谈自己的经验和体会。今年是改革开放30年,这30年中,中国虽然经历了一些曲折,但同时也取得了非常伟大的成绩。尤其是在经济领域,随着市场经济的进一步发展,中国的经济面貌发生了巨大的改变,经济总量迅速提高。尽管如此,中国的大环境中仍然存在着一些问题。其中最为突出的是人们对物质因素过于注重。发展经济是对的,改革开放前,国家只考虑政治因素、不顾及人民生活水平的巨大进步。但是一个人除了需要物质因素,同时也需要有精神因素。作为一个年轻人,尤其是处于教育战线上的年轻人,丰富的精神因素更是值得提倡,对于整个社会是非常重要的。随着我国经济的发展,国力的增强以及世界大环境的巨大变化,精神因素对于我国未来的发展也是非常重要的。现在浮躁的情绪,急功近利的情况也比较严重,同学们不应受这种风气的影响,应该保持脚踏实地的优良学风,这种违背客观规律的事情最终必将走向失败。尤其在人才的培养和教育上,更不应该急于求成,这需要很长的一段时间,我们需要耐心等待,不能操之过急。
在对人才的培养上,我也提出几点建议。
第一,在年轻时,要树立远大的理想。
我认为一个人的生命是十分短暂的,用文学语言来说就是瞬间即逝。如何让短暂的生命过得有价值,这是我们需要思考的。作为年轻人不能只注重眼前的一些利益,比如工作、工资、房子等问题,而不去树立自己人生的远大理想和抱负,这是非常可惜的。我不是反对大家去追求自己的物质生活,只是年轻人不应该把待遇或拿一个奖作为自己的人生目标,而应树立更远大的理想并为此而努力奋斗。这些年来随着我国经济的迅速发展,国家要求我们的科学技术和高等教育有更高的水平,我们要培养出一批杰出的人才带动经济的发展,来承担中国乃至世界上更多的责任。因而,在教育事业上只看到眼前利益,是远远不够的。我希望同学们能为我国的学科发展、国家的进步树立更远大的志向,向世界上在每一个专业中做出杰出贡献的学者学习。
除了要有远大的理想以外,我觉得对于自己所学的专业要有浓厚的兴趣。我认为树立远大的理想十分重要,因为它是人生发展的动力。同时我更希望同学们要善于培养自己浓厚的专业兴趣。我认识一些数学系的学生,他们时常抱怨自己对数学缺乏兴趣,认为数学十分无味、枯燥。但是,不要以为兴趣是天生的,兴趣完全是可以通过后天培养的,接触多了就可以慢慢对它产生兴趣。同学们可能发现这样一个例子,现今,20岁上下的年轻人中很少有人对京剧感兴趣,而像我这个年纪的人因为从小接触京剧,自然而然对它就比较感兴趣。所以,对于自己所学的专业同样也是如此,大家只要多接触自己的学科,多下功夫,用心去掌握它,就能够比较容易地掌握这门学科,并对此有强烈的兴趣。
第二,对真理要有执着的追求。
我想说,一个人要想在学术上有所成就,不仅需要树立远大的理想,培养浓厚的专业兴趣,最重要的是要对真理拥有执着的追求,要具备长期的脚踏实地的勤奋和努力。当今大学本科的学习时间普遍为四年,作为一个学生,四年的学习时间是极其短暂的,而随着社会的发展,无论哪一门学科的内容都相当丰富,要想在这四年中接触掌握本学科分支领域的前沿都是不可能的。这就需要本科生去继续深造,去完成研究生阶段的学习。只有当拿到了博士学位后,你才可以说在本学科中有了扎实的学术基础,才可以开始独立从事研究工作。所以,一般情况下,杰出的学者在博士毕业五六年后通常会取得丰硕的成果。这时,他们比较年轻,富于创新精神,不受条条框框的约束,精力旺盛,因而能够专心致志地做学问。
对不再继续深造,而选择走上工作岗位的同学该如何对待自己的未来,我也想提下自己的看法。大家都知道,在大学本科阶段所学到的知识只是学科领域中非常基础的,它只能满足于刚走上工作岗位的同学的需求。但世界是日新月异的,几十年后,随着社会和经济的发展,任何专业领域都会发生巨大的变化,可能你就不适合你所工作的岗位的要求。所以大家应该趁年轻时继续学习提高,而不是停滞不前。对此,我想为大家提供两种办法,首先,在走上工作岗位之后,不要固步自封,要不断提醒自己,这个工作在现在和今后会对我提出怎样的要求。大家要把这个工作做好,就不仅要使自己的专业能力达到当时的要求,也要做到未雨绸缪,不断提升自己,让自己的能力能够满足未来社会发展的需要。其次,因为选择就业的本科生不可避免的在专业领域与研究生存在一定差距,这就需要本科生在工作之余根据自己的专业方向和岗位要求继续学习相应的专业课程,要努力将自己在专业领域的学科水平达到研究生的学科要求,这就需要相当长久的持续不断的恒心和努力。我想说,要想成为在某个领域的高层次、高水平的人才,需要的是二十年乃至更长时间的努力。一个人努力几星期或是两三个月是不难做到的,但要让一个人十五年、二十年如一日的勤奋努力,对任何人都不太容易了。但是,由于每门学期都有丰富的内容,所以你要成为高水平的人才就需要如此长的时间。所以对我们大学生,有如此好的条件,就需要树立远大的理想,对所学专业要有浓厚的兴趣,对真理要有执着的追求,而最最重要的是要有长期的和脚踏实地的勤奋和努力。尤其在这个浮躁的社会,对物质利益的追求成为大多数人的人生目标。但是只要静下心来,抓紧时间,认真学习研究前人丰富的学术成果,就可能在该学术领域取得自己的成就。这就如同跑马拉松一样,需要的不是短暂的冲刺,而是要通过自己脚踏实地的勤奋和努力才能实现自己的人生抱负。
最后,我想对当今学术界的不端行为和学术道德问题也提下自己的看法。
我认为,搞学问、做科学研究是一件非常高尚的事业,我们要追求真、善、美。没有这些,学术就无从谈起,因而对学术界学风和诚信的关注是至关重要的。我也曾在美国《数学评论》寄给我的论文中看到了我们的一些学术不端行为确实非常之严重。
我认为写论文是对真理的一种追求,而考试则是对学生所学的知识的一种考察手段。剽窃文章、考试作弊的行为不仅是对知识的欺骗,更是对学术精神的反叛。这使我想起我的大学时光,那是上世纪五十年代,我在校六年时间中没有听说过任何一个同学作弊,尽管当时的监考并不严。我想告诉大家要想成为各领域的高端人才,做学问和做人都不能有一点虚假,只有这样才能为国家、社会、专业发展贡献出自己的力量。
前面我已经提到,东南大学有深厚的文化和优良的传统,这十几年来,学校的规模得到了迅速的扩大,九龙湖校区环境清幽,是适合做学问的地方,大家不应该浪费这一良好的学习环境,而应该扎扎实实做学问。相信在将来一定会在东南大学涌现出更多的高层次的人才。
(周南希 周 静 郑江震整理)
“至于至善”--Strive for Perfection!
http://www3.seu.edu.cn/~xcb/ddb/1080/news0801.htm
8:06 |固定链接 |学问研究
1月14日
test
hi buddies
1:52 |固定链接
12月8日
Tomcat6启动问题
关键字: tomcat 6 apr source
1,
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: ...
Tomcat6使用了Apache下一个叫Apache Portable Runtime(APR)的组件,这条信息说的是找不到APR使用的基础原生库
上网站http://tomcat.apache.org/进入Tomcat Native链接,在里面找个对应平台最新的二进制文件下载
我下载的是http://www.apache.org/dist/tomcat/tomcat-connectors/native/1.1.16/binaries/win32/tcnative-1.dll
将这个文件放到$JAVA_HOME/bin就可以
2,
Tomcat6和Eclipse一起使用时,启动时控制台会有下面警告信息
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:...' did not find a matching property.
出现SetPropertiesRule警告的原因是因为Tomcat在server.xml的Context节点中不支持source属性:
解决方法是在Servers视图里双击创建的server,然后在其server的配置界面中选中"Publish module contexts to separate XML files"选项。
不过"Publish module contexts to separate XML files"究竟是什么意思,有必要看下"Tomcat Publishing Options"。
3,
Tomcat6和Eclipse一起使用时,启动或者发布项目时提示Publishing failed:Resource /xxxx does not exist
解决方法:
刷新一下项目,有可能是磁盘文件和Eclipse项目中文件不一致造成的