MIT大牛Lin Dahua博文精选转载word资料20页.docx
- 文档编号:24426876
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:20
- 大小:40.31KB
MIT大牛Lin Dahua博文精选转载word资料20页.docx
《MIT大牛Lin Dahua博文精选转载word资料20页.docx》由会员分享,可在线阅读,更多相关《MIT大牛Lin Dahua博文精选转载word资料20页.docx(20页珍藏版)》请在冰豆网上搜索。
MIT大牛LinDahua博文精选转载word资料20页
MIT大牛LinDahua博文精选转载
这个工作可让学生分组负责收集整理,登在小黑板上,每周一换。
要求学生抽空抄录并且阅读成诵。
其目的在于扩大学生的知识面,引导学生关注社会,热爱生活,所以内容要尽量广泛一些,可以分为人生、价值、理想、学习、成长、责任、友谊、爱心、探索、环保等多方面。
如此下去,除假期外,一年便可以积累40多则材料。
如果学生的脑海里有了众多的鲜活生动的材料,写起文章来还用乱翻参考书吗?
林达华的博文,值得花点时间来读,这里精选几篇。
April10Howtogetasolution?
我们所做的topic,一般有几个阶段:
“师”之概念,大体是从先秦时期的“师长、师傅、先生”而来。
其中“师傅”更早则意指春秋时国君的老师。
《说文解字》中有注曰:
“师教人以道者之称也”。
“师”之含义,现在泛指从事教育工作或是传授知识技术也或是某方面有特长值得学习者。
“老师”的原意并非由“老”而形容“师”。
“老”在旧语义中也是一种尊称,隐喻年长且学识渊博者。
“老”“师”连用最初见于《史记》,有“荀卿最为老师”之说法。
慢慢“老师”之说也不再有年龄的限制,老少皆可适用。
只是司马迁笔下的“老师”当然不是今日意义上的“教师”,其只是“老”和“师”的复合构词,所表达的含义多指对知识渊博者的一种尊称,虽能从其身上学以“道”,但其不一定是知识的传播者。
今天看来,“教师”的必要条件不光是拥有知识,更重于传播知识。
Analysis:
分析问题,找到问题的关键Modeling/Formulation:
对问题进行数学抽象,建立模型,或者formulate目标函数Solving:
设计出求解的算法Experiments:
实验最近的工作都集中在Solving这部分,就说说这个吧。
求解的方法求解问题有很多不同的方法,就我知道的来说,大概有这么几个大家族。
家庭是幼儿语言活动的重要环境,为了与家长配合做好幼儿阅读训练工作,孩子一入园就召开家长会,给家长提出早期抓好幼儿阅读的要求。
我把幼儿在园里的阅读活动及阅读情况及时传递给家长,要求孩子回家向家长朗诵儿歌,表演故事。
我和家长共同配合,一道训练,幼儿的阅读能力提高很快。
Heuristics。
就是根据对问题的观察而设计的一些简单的方法,不一定遵循什么规范,或者有什么深刻的数学根据。
这类方法往往比较简单易懂,intuition比较明显,很多时候performance也挺不错的,不见得比高深的方法差,因而在实际工程中很受欢迎,几乎应用在全部的学科。
不过,好像很多朋友对这类方法颇为不屑,认为"没有技术含量",或者叫做"没有理论深度"。
确实,有相当部分的Heuristics纯粹粗制滥造,投机取巧。
不过,还有很多Heuristics虽然简单,但是切中问题要害,在长期的复杂的实际应用中经受住了考验。
这些方法,表面看来可能只是再简单不过的几条四则运算公式,说不上多少理论,但是并不代表它没有深刻的理论基础。
一个典型的例子是GooglePageRank中使用的传导公式(简单版本),道理和公式都很简单,可是,做过类似工作的朋友可能都知道,它和代数图论以及马尔可夫随机过程有着很深的联系。
又比如,FourierTransform在刚出来的时候,仅仅是工程师的一些heuristics,后来关于它的理论已经成为了泛函分析的一个核心组成部分,也是信号处理的理论基础之一。
真正好的heuristics,它的好处肯定不是瞎懵出来,而是有内在原因的。
对它们的原理的探索,不断带动理论方面的发展,甚至创造了新的理论方向。
说到这里,有人可能会argue,这是"理论家们在故弄玄虚混饭吃"。
Hmm,这种说法我不能认同,但是,确实存在"把工程方法胡乱进行理论化"的事实。
什么才叫有价值的理论化,而不是故弄玄虚,确实值得思考,这里先不展开了。
AnalyticalSolution。
当你把问题formulate出来后,有些情况是直接可以从问题推导出解析解的。
这种情况通常存在于objectivefunction是Linear或者Quadratic的情况。
大家都很喜欢这种情况的出现,理论漂亮,实现简洁。
但是,据我的观察,很多情况下,这种elegance是通过减化模型换取的。
把cost写成quadraticterm,把distribution假设为Gauss,很多时候都能得到这样的结果。
我不反对进行简化,也欣赏漂亮的analyticalsolution,如果它把问题解决得很好。
但是,这里面有个问题,很多能获得简单解析解的问题已经被做过了,剩下的很多难点,未必是一个简化模型能有效解决的。
简化是一种很好的方法,但是,使用起来,尤其是在实际中的应用必须慎重,要清楚了解它们可能带来的问题。
比如说,很多模型喜欢使用差的平方来衡量误差大小。
但是,这很早就被指出是unrobust的,一个很大的deviation会dominate整个optimization,使得solution严重偏离方向。
如果这种robustness在带解决的问题中是一个必须考虑的要素,那么用平方误差就要仔细考虑了。
NumericalOptimization。
如果formulation没有解析解,那么自然的想法就是使用数值方法求解。
目前大家常用的是基于Gradient/Hessian之类的localoptimization的方法,有时会加上randominitialization。
如果objectivefunction是convex的,那么这种方法保证收敛到globaloptimal,这是大家很希望的。
convexproblem无论在formulation还是在solution的阶段,都是很有学问的。
很多问题可以formulate成convex的,但是未必都那么直接,这需要有这方面的基础。
Solving一个convexproblem有现成的方法,但是,如果能对问题的结构有insightful的观察,可能能利用问题本身的特点大幅度降低求解的复杂度--这往往比直接把问题扔进solver里面等答案更有意义。
除了convexoptimization,还有一种数值方法应用非常广泛,叫做coordinateascend或者alternateoptimization。
大概的思路是,几个有关的变量,轮流选择某个去优化,暂时固定其它的。
在MachineLearning里面非常重要的Expectation-Maximization(EM算法)就属于这个大家族。
另外,很多复杂的graphicalmodel采用的variationalinference也是属于此类。
使用这类方法,有两个问题:
一个是如果几个variable之间相互影响,变一个,其他跟着变的话,那么直接使用这种方法可能是错误的,并不能保证收敛。
另外一个问题是,如果problem不是convex的话,可能没有任何保证你得到的solution和globalsolution有联系。
很可能,你得到的解和真正的全局最优解相差十万八千里。
这个没有什么通用有效的途径来解决。
不过,针对具体问题的结构特点,在求解过程中施加一定的引导是有可能的。
DynamicProgramming。
这个方法更多见于经典计算机算法中,不过现在越来越多在Vision和Learning见到它的影子。
主要思路是把大问题分解为小问题,总结小问题的solution为大问题的solution。
至于如何设计分解和综合的过程,依赖于对问题的观察和分析,并无通用的法则可循。
用DP解决问题的洞察力需要逐步的积累。
不少经典算法就源自于DP,比如shotestpath。
一个可能有用的观察是,如果问题或者模型呈现链状,树状,或者有向无环图结构的,可能很有希望能通过DP高效解决。
LocalExchange。
很多建立在图上的问题,都可以通过某种局部交换来达到全局的平衡。
像Beliefpropagation,Junctiontree等等在graphicalmodel的重要inference方法,还有tranductionmodel,都用到了类似的策略。
这在实践中被证明为非常有效。
但是,并不是随便设计的局部交换过程都是收敛的。
这里面需要关注两个问题:
(1)交换过程是不是能保证某些重要的invariance不被破坏;
(2)交换过程中,是不是有一个objective,比如距离全局平衡的deviation,它在每一步都保持单调。
有很多交换过程,在有向无环图中保证收敛,但是,在带环图中由于信息的重复传递可能引起不稳定,或者不能收敛到正确的解。
MonteCarloSampling。
蒙特卡罗采样的原理非常简单,就是用样本平均,来逼近期望(这个可能需要用intractable的积分完成,没法直接算)。
求平均很简单,关键在于采样过程。
我们求解问题,通常是在后验分布中采样,这种分布在大部分问题中,不要说直接采样了,可能连解析形式都没法给出。
如果采样问题有效解决了,基本上我们研究的大部分问题其实都可以通过采样完成。
由于直接采样往往非常困难,于是就产生了其它的方法,间接做这个事情。
一种想法就是,既然p(x)不好直接采,我找一个比较容易采样的q(x)来逼近p(x),然后给从q(x)采出的每个样本加一个weight,p(x)/q(x)。
这在理论上被严格证明是对的--这种方法叫做ImportanceSampling。
这里的问题在于,如果q(x)和p(x)不太接近,那么采样效率非常低下,如果在一个高维空间,可能采1000年都达不到要求。
可是,要得到一个approximate很好的q(x)本身不比直接从p(x)采样来得容易。
还有一种聪明一点的方法,叫sequentialimportancesampling。
在这里面q(x),不是一蹴而就建立起来的,而是每个样本先采一部分,然后根据那部分,确定下一部分的proposaldistribution,继续采,也就是说q(x)和样本都是dynamicallybuiltup。
这个方法在vision里面一个非常著名的应用是用于tracking,相应发展出来的方法论叫做particlefiltering。
另外一大类重要的采样方法,叫MarkovChainMonteCarlo(MCMC)。
这个的想法是,设计一个马尔科夫链,让它的平衡分布恰好是p(x),那么等它平衡时开始采。
以前我们做随机过程作业是已知一个markovchain,求equilibriumdistribution,设计MCMC就是反过来了。
最重要的MCMC方法莫过于Metropolis-HastingsAlgorithm和GibbsSampling,前者常被用于设计在solutionspace的随机游走(Randomwalk),后者则是conditionalsampling的基础方法。
可是Markov过程怎么转移呢。
最简单的RandomWalk结合acceptancerate之后理论上是对的。
可是,让sampler随便乱走,猴年马月才能把solutionspace走一遍阿。
于是,有人提出结合一个solutionspace的局部信息来引导它往有用的方向走。
一个重要的方法叫做HybricMonteCarlo(HMC),想法就是把它模拟成一个物理场,把要sample的分布视为波尔兹曼分布后获得物理场的势能,通过哈密顿动力学模型(其实就是牛顿力学的推广)来驱动sampler。
可是,如果问题更为复杂呢,比如整个solutionspace有几个井,sample掉到某一个井可能出不来了。
为了解决这个问题,一种重要的方法叫Tempering,就是开始给分子充分加热,让它获得足够的动能能在各个井之间来回跳,然后逐步冷却,从而能捕捉到多个势井。
MonteCarlo方法较早的时候主要用于统计物理,目前已经广泛应用于计算机,生物,化学,地质学,经济学,社会学等等的研究。
这是目前所知道的用于求解复杂的真实模型的最有效的方法。
它的核心,就是猜--你直接解不出来,只好猜了,呵呵。
但是,怎样才能猜得准,则是大有学问--几十年来各个领域关于MonteCarlo研究的工作汗牛充栋,有很多进展,但是还有很长的路要走。
和这里很多留学生一样,我一向潜心于自己的学习和研究。
可是最近,我们的世界并不宁静,我认识的不只一个在美国的朋友受到了不太友好的挑衅--在不知不觉中,我们可能已经身处反分裂和支持奥运的前线。
我看到包括MITCSSA在内的很多学生团体开始组织起来支持自己的祖国。
我没有具体帮上什么,但是,我对所有在用自己的行动捍卫国家荣誉的同胞怀有最深的敬意。
我也希望,我的努力,能让外国的朋友明白中国人是值得尊敬的。
June22拓扑:
游走于直观与抽象之间近日来,抽空再读了一遍点集拓扑(PointSetTopology),这是我第三次重新学习这个理论了。
我看电视剧和小说,极少能有兴致看第二遍,但是,对于数学,每看一次都有新的启发和收获。
代数,分析,和拓扑,被称为是现代数学的三大柱石。
最初读拓扑,是在两三年前,由于学习流形理论的需要。
可是,随着知识的积累,发现它是很多理论的根基。
可以说,没有拓扑,就没有现代意义的分析与几何。
我们在各种数学分支中接触到的最基本的概念,比如,极限,连续,距离(度量),边界,路径,在现代数学中,都源于拓扑。
拓扑学是一门非常奇妙的学科,它把最直观的现象和最抽象的概念联系在一起了。
拓扑描述的是普遍使用的概念(比如开集,闭集,连续),我们对这些概念习以为常,理所当然地使用着,可是,真要定义它,则需要对它们本质的最深刻的洞察。
数学家们经过长时间的努力,得到了这些概念的现代定义。
这里面很多第一眼看上去,会感觉惊奇--怎么会定义成这个样子。
首先是开集。
在学习初等数学时,我们都学习开区间(a,b)。
可是,这只是在一条线上的,怎么推广到二维空间,或者更高维空间,或者别的形体上呢?
最直观的想法,就是"一个不包含边界的集合"。
可是,问题来了,给一个集合,何谓"边界"?
在拓扑学里面,开集(OpenSet)是最根本的概念,它是定义在集合运算的基础上的。
它要求开集符合这样的条件:
开集的任意并集和有限交集仍为开集。
我最初的时候,对于这样的定义方式,确实百思不解。
不过,读下去,看了和做了很多证明后,发现,这样的定义一个很重要的意义在于:
它保证了开集中每个点都有一个邻域包含在这个集合内--所有点都和外界(补集)保持距离。
这样的理解应该比使用集合运算的定义有更明晰的几何意义。
但是,直观的东西不容易直接形成严谨的定义,使用集合运算则更为严格。
而集合运算定义中,任意并集的封闭性是对这个几何特点的内在保证。
另外一个例子就是"连续函数"(ContinuousFunction)。
在学微积分时,一个耳熟能详的定义是"对任意的epsilon0,存在delta0,使得。
",背后最直观的意思就是"足够近的点保证映射到任意小的范围内"。
可是,epsilon,delta都依赖于实空间,不在实空间的映射又怎么办呢?
拓扑的定义是"如果一个映射的值域中任何开集的原像都是开集,那么它连续。
"这里就没有epsilon什么事了。
这里的关键在于,在拓扑学中,开集的最重要意义就是要传递"邻域"的意思--开集本身就是所含点的邻域。
这样连续定义成这样就顺理成章了。
稍微把说法调节一下,上面的定义就变成了"对于f(x)的任意领域U,都有x的一个邻域V,使得V里面的点都映射到U中。
"这里面,我们可以感受到为什么开集在拓扑学中有根本性的意义。
既然开集传达"邻域"的意思,那么,它最重要的作用就是要表达哪些点靠得比较近。
给出一个拓扑结构,就是要指出哪些是开集,从而指出哪些点靠得比较近,这样就形成了一个聚集结构--这就是拓扑。
可是这也可以通过距离来描述,为什么要用开集呢,反而不直观了。
某种意义上说,拓扑是"定性"的,距离度量是"定量"的。
随着连续变形,距离会不断变化,但是靠近的点还是靠近,因此本身固有的拓扑特性不会改变。
拓扑学研究的就是这种本质特性--连续变化中的不变性。
在拓扑的基本概念中,最令人费解的,莫过于"紧性"(Compactness)。
它描述一个空间或者一个集合"紧不紧"。
正式的定义是"如果一个集合的任意开覆盖都有有限子覆盖,那么它是紧的"。
乍一看,实在有点莫名其妙。
它究竟想描述一个什么东西呢?
和"紧"这个形容词又怎么扯上关系呢?
一个直观一点的理解,几个集合是"紧"的,就是说,无限个点撒进去,不可能充分散开。
无论邻域多么小,必然有一些邻域里面有无限个点。
上面关于compactness的这个定义的玄机就在有限和无限的转换中。
一个紧的集合,被无限多的小邻域覆盖着,但是,总能找到其中的有限个就能盖全。
那么,后果是什么呢?
无限个点撒进去,总有一个邻域包着无数个点。
邻域们再怎么小都是这样--这就保证了无限序列中存在极限点。
Compact这个概念虽然有点不那么直观,可是在分析中有着无比重要的作用。
因为它关系到极限的存在性--这是数学分析的基础。
了解泛函分析的朋友都知道,序列是否收敛,很多时候就看它了。
微积分中,一个重要的定理--有界数列必然包含收敛子列,就是根源于此。
在学习拓扑,或者其它现代数学理论之前,我们的数学一直都在有限维欧氏空间之中,那是一个完美的世界,具有一切良好的属性,Hausdorff,Locallycompact,Simplyconnected,Completed,还有一套线性代数结构,还有良好定义的度量,范数,与内积。
可是,随着研究的加深,终究还是要走出这个圈子。
这个时候,本来理所当然的东西,变得不那么必然了。
两个点必然能分开?
你要证明空间是Hausdorff的。
有界数列必然存在极限点?
这只在locallycompact的空间如此。
一个连续体内任意两点必然有路径连接?
这可未必。
一切看上去有悖常理,而又确实存在。
从线性代数到一般的群,从有限维到无限维,从度量空间到拓扑空间,整个认识都需要重新清理。
而且,这些绝非仅是数学家的概念游戏,因为我们的世界不是有限维向量能充分表达的。
当我们研究一些不是向量能表达的东西的时候,度量,代数,以及分析的概念,都要重新建立,而起点就在拓扑。
April19图˙谱˙马尔可夫过程˙聚类结构题目中所说到的四个词语,都是MachineLearning以及相关领域中热门的研究课题。
表面看属于不同的topic,实际上则是看待同一个问题的不同角度。
不少文章论述了它们之间的一些联系,让大家看到了这个世界的奇妙。
从图说起这里面,最简单的一个概念就是"图"(Graph),它用于表示事物之间的相互联系。
每个图有一批节点(Node),每个节点表示一个对象,通过一些边(Edge)把这些点连在一起,表示它们之间的关系。
就这么一个简单的概念,它对学术发展的意义可以说是无可估量的。
几乎所有领域研究的东西,都是存在相互联系的,通过图,这些联系都具有了一个统一,灵活,而又强大的数学抽象。
因此,很多领域的学者都对图有着深入探讨,而且某个领域关于图的研究成果,可以被其它领域借鉴。
矩阵表示:
让代数进入图的世界在数学上,一种被普遍使用的表达就是邻接矩阵(AdjacencyMatrix)。
一个有N个节点的图,可以用一个NxN的矩阵G表示,G(i,j)用一个值表示第i个节点和第j个节点的联系,通常来说这个值越大它们关系越密切,这个值为0表示它们不存在直接联系。
这个表达,很直接,但是非常重要,因为它把数学上两个非常根本的概念联系在一起:
"图"(Graph)和"矩阵"(Matrix)。
矩阵是代数学中最重要的概念,给了图一个矩阵表达,就建立了用代数方法研究图的途径。
数学家们几十年前开始就看到了这一点,并且开创了数学上一个重要的分支--代数图论(AlgebraicGraphTheory)。
代数图论通过图的矩阵表达来研究图。
熟悉线性代数的朋友知道,代数中一个很重要的概念叫做"谱"(Spectrum)。
一个矩阵的很多特性和它的谱结构--就是它的特征值和特征向量是密切相关的。
因此,当我们获得一个图的矩阵表达之后,就可以通过研究这个矩阵的谱结构来研究图的特性。
通常,我们会分析一个图的邻接矩阵(AdjacencyMatrix)或者拉普拉斯矩阵(LaplaceMatrix)的谱--这里多说一句,这两种矩阵的谱结构刚好是对称的。
谱:
"分而治之"的代数谱,这个词汇似乎在不少地方出现过,比如我们可能更多听说的频谱,光谱,等等。
究竟什么叫"谱"呢?
它的概念其实并不神秘,简单地说,谱这个概念来自"分而治之"的策略。
一个复杂的东西不好直接研究,就把它分解成简单的分量。
如果我们把一个东西看成是一些分量叠加而成,那么这些分量以及它们各自所占的比例,就叫这个东西的谱。
所谓频谱,就是把一个信号分解成多个频率单一的分量。
矩阵的谱,就是它的特征值和特征向量,普通的线性代数课本会告诉你定义:
如果Av=cv,那么c就是A的特征值,v就叫特征向量。
这仅仅是数学家发明的一种数学游戏么?
--也许有些人刚学这个的时候,并一定能深入理解这么个公式代表什么。
其实,这里的谱,还是代表了一种分量结构,它为使用"分而治之"策略来研究矩阵的作用打开了一个重要途径。
这里我们可以把矩阵理解为一个操作(operator),它的作用就是把一个向量变成另外一个向量:
y=Ax。
对于某些向量,矩阵对它的作用很简单,Av=cv,相当于就把这个向量v拉长了c倍。
我们把这种和矩阵A能如此密切配合的向量v1,v2,.叫做特征向量,这个倍数c1,c2,.叫特征值。
那么来了一个新的向量x的时候,我们就可以把x分解为这些向量的组合,x=a1v1+a2v2+.,那么A对x的作用就可以分解了:
Ax=A(a1v1+a2v2+.)=a1c1v1+a2c2v2.所以,矩阵的谱就是用于分解一个矩阵的作用的。
这里再稍微延伸一点。
一个向量可以看成一个关于整数的函数,就是输入i,它返回v(i)。
它可以延伸为一个连续函数(一个长度无限不可数的向量,呵呵),相应的矩阵A变成一个二元连续函数(面积无限大的矩阵)。
这时候矩阵乘法中的求和变成了积分。
同样的,A的作用可以理解为把一个连续函数映射为另外一个连续函数,这时候A不叫矩阵,通常被称为算子。
对于算子,上面的谱分析方法同样适用(从有限到无限,在数学上还需要处理一下,不多说了)--这个就是泛函分析中的一个重要部分--谱论(SpectralTheory)。
马尔可夫过程--从时间的角度理解图回到"图"这个题目,那么图的谱是干什么的呢?
按照上面的理解,似乎是拿来分解一个图的。
这里谱的作用还是分治,但是,不是直观的理解为把图的大卸八块,而是把要把在图上运行的过程分解成简单的过程的叠加。
如果一个图上每个节点都有一个值,那么在图上运行的过程就是对这些值进行更新的过程。
一个简单,大家经常使用的过程,就是马尔可夫过程(MarkovProcess)。
学过随机过程的朋友都了解马尔可夫过程。
概念很简单--"将来只由现在决定,和过去无关"。
考虑一个图,图上每个点有一个值,会被不断更新。
每个点通过一些边连接到其它一些点上,对于每个点,这些边的值都是正的,和为1。
在图上每次更新一个点的值,就是对和它相连接的点的值加权平均。
如果图是联通并且非周期(数学上叫各态历经性,ergodicity),那么这个过程最后会收敛到一个唯一稳定的状态(平衡状态)。
图上的马尔可夫更新过程,对于很多学科有着非常重要的意义。
这种数学抽象,可以用在什么地方呢?
(1)Google对搜索结果的评估(PageRank)原理上依赖于这个核心过程,
(2)统计中一种广泛运用的采样过程MCMC,其核心就是上述的转移过程,(3)物理上广泛存在的扩散过程(比如热扩散,流体扩散)和上面的过程有很重要的类比,(4)网络中的信息的某些归纳与交换过程和上述过程相同(比如RandomGossiping),还有很多。
非常多的实际过程通过某种程度的简化和近似,都可以归结为上述过程。
因此,对上面这个核心过程的研究,对于很多现象的理解有重要的意义。
各个领域的科学家从本领域的角度出发研究这个过程,得出了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MIT大牛Lin Dahua博文精选 转载word资料20页 MIT Lin Dahua 精选 转载 word 资料 20