Saturday, May 30, 2009
Friday, May 29, 2009
凸优化(Convex Optimization)
1. 资金分配规划,比如投资一笔钱建工厂生产某种产品,用多少钱雇工人,多少钱买原料,多少买设备,多少钱投资技术,才获得最大的收益。
2. 电路板设计,目标是电路板的面积尽量小(成本尽量低),但需要满足一定的限制,比如元件之间的间距,布线之间的间距都需要大于一定的阈值。
3. 数据的拟合,给定一堆数据点,怎么在一个函数集合选择一个最有拟合的函数。
上面举的实际问题(决策,系统设计,系统分析,系统操作),都可以转化为数学上的优化问题。
凸优化的两个特殊例子,最小二乘和线性规划。
最小二乘:
\min \quad f_0(x)=\|Ax-b\|_2^2
线性规划:
\begin{array}{l}
\min \quad c^Tx \\
s.t. \quad a_i^Tx \leq b_i,i=1,\ldots,m
\end{array}
chebyshev近似问题
\min \quad \max_{i=1,\ldots,k}|a_i^Tx-b_i|
可以转化为线性规划问题
\begin{array}{l}
\min \quad t \\
s.t. \quad a_i^T-t \leq b_i, \quad i=1,\ldots,k \\
\quad\quad -a_i^T-t \leq -b_i, \quad i=1,\ldots,k
\end{array}
凸优化
\begin{array}{l}
\min \quad f_0(x)
s.t. \quad f_i(x) \leq b_i,\quad i=1,\ldots,m, \\
\end{array}
其中
\inline f_0,\ldots,f_m:\boldmath{R}^n \to \boldmath{R}are convex优化问题分类
optimization\left \{
\begin{array}{l}
convex \left \{\begin{array}{l} linear \quad programming\\ least-squares\\ general \quad convex \end{array}\\
noconvex
\end{array}
Wednesday, May 27, 2009
BigDog

History
BigDog is funded by the Defense Advanced Research Projects Agency in the hopes that it will be able to serve as a robotic pack mule to accompany soldiers in terrain too rough for conventional vehicles. Instead of wheels or treads, BigDog uses four legs for movement, allowing it to move across surfaces that would defeat wheels. The legs contain a variety of sensors, including joint position and ground contact. BigDog also features a laser gyroscope and a stereo vision system.
BigDog is 1 metre (3.3 ft) long, stands 0.7 metres (2.3 ft) tall, and weighs 75 kilograms (170 lb), about the size of a small mule. It is capable of traversing difficult terrain at 5.3 kilometres per hour (3.3 mph), carry 154 kilograms (340 lb) and climb a 35 degree incline. Locomotion is controlled by an onboard computer that receives input from the robot's various sensors. Navigation and balance are also managed by the control system.
BigDog was featured in an episode of Web Junk 20, as well as articles in New Scientist, Popular Science, Popular Mechanics, and The Wall Street Journal.
On March 18, 2008, Boston Dynamics released video footage of a new generation of BigDog. The footage shows BigDog's ability to walk on icy terrain and recover its balance when kicked from the side.
Hardware
Big Dog is powered by a two-stroke, one-cylinder, 15-HP go-kart engine running at 9000 RPM. The engine drives a hydraulic pump, which in turn drives the hydraulic leg actuators. Each leg has four actuators (two for the hip joint, and one each for the knee and ankle joints), for a total of 16. Each actuator unit consists of a hydraulic cylinder, servovalve, position sensor, and force sensor.
Onboard computing power is modest: a ruggedized PC/104 board stack with a Pentium class computer running QNX(a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market).
http://www.bostondynamics.com/?section=BigDog
Saturday, May 23, 2009
Thursday, May 21, 2009
IBM社会招聘笔试题
IBM社会招聘笔试题
1.一个粗细均匀的长直管子,两端开口,里面有4个白球和4个黑球,球的直径、两端开口的直径等于管子的内径,现在白球和黑球的排列是wwwwbbbb,要求不取出任何一个球,使得排列变为bbwwwwbb.
2.一只蜗牛从井底爬到井口,每天白天蜗牛要睡觉,晚上才出来活动,一个晚上蜗牛可以向上爬3尺,但是白天睡觉的时候会往下滑2尺,井深10尺,问蜗牛几天可以爬出来?
3.在一个平面上画1999条直线最多能将这一平面划分成多少个部分?
4.在太平洋的一个小岛上生活着土人,他们不愿意被外人打扰,一天,一个探险家到了岛上,被土人抓住,土人的祭司告诉他,你临死前还可以有一个机会留下一句话,如果这句话是真的,你将被烧死,是假的,你将被五马分尸,可怜的探险家如何才能活下来?
5.怎样种四棵树使得任意两棵树的距离相等。
6.27个小运动员在参加完比赛后,口渴难耐,去小店买饮料,饮料店搞促销,凭三个空瓶可以再换一瓶,他们最少买多少瓶饮料才能保证一人一瓶?
7.有一座山,山上有座庙,只有一条路可以从山上的庙到山脚,每周一早上8点,有一个聪明的小和尚去山下化缘,周二早上8点从山脚回山上的庙里,小和尚的上下山的速度是任意的,在每个往返中,他总是能在周一和周二的同一钟点到达山路上的同一点。例如,有一次他发现星期一的8点30和星期二的8点30他都到了山路靠山脚的3/4的地方,问这是为什么?
8.有两根不均匀分布的香,每根香烧完的时间是一个小时,你能用什么方法来确定一段15分钟的时间?
IBM面试题目
1. Describe your greatest achievement in the past 4-5 years?
2. What are your short & long term career objectives? What do you think is the most ideal job for you?
3. Why do you want to join IBM? What do you think you can contribute to IBM?
Tuesday, May 19, 2009
来自MIT人工智能实验室:如何做研究?
Copyright 1987, 1988 作者版权所有
备注:人工智能实验室的Working Papers用于内部交流,包含的信息由于过于初步或者过于详细而无法发表。不像正式论文那样,会列出所有的参考文献。
1. 简介
并没有什么神丹妙药可以保证在研究中取得成功,本文只是列举了一些可能会有所帮
助的非正式意见。
目标读者是谁?
本文档主要是为MIT人工智能实验室新入学的研究生而写,但对于其他机构的人工智
能研究者也很有价值。即使不是人工智能领域的研究者,也可以从中发现对自己有价
值的部分。
如何使用?
要精读完本文,太长了一些,最好是采用浏览的方式。很多人觉得下面的方法很
有效:先快速通读一遍,然后选取其中与自己当前研究项目有关的部分仔细研究。
本文档被粗略地分为两部分。第一部分涉及研究者所需具备的各种技能:阅读,
写作和程序设计,等等。第二部分讨论研究过程本身:研究究竟是怎么回事,如何做
研究,如何选题和选导师,如何考虑研究中的情感因素。很多读者反映,从长远看,
第二部分比第一部分更有价值,也更让人感兴趣。
如何通过阅读打好AI研究的基础。列举了重要的AI期刊,并给出了一些阅读的诀窍。
如何成为AI研究领域的一员:与相关人员保持联系,他们可以使你
保持对研究前沿的跟踪,知道应该读什么材料。
学习AI相关领域的知识。对几个领域都有基本的理解,对于一个或者两个领域要精
通。
如何做研究笔记。
如何写期刊论文和毕业论文。如何为草稿写评审意见,如何利用别
人的评审意见。如何发表论文。
如何做研究报告。
有关程序设计的。AI程序设计与平常大家习惯的程序设计有所不同。
有关研究生涯最重要的问题,如何选导师。不同的导师具有不同的
风格,本节的意见有助于你找到合适的导师。导师是你必须了解如何利用的资源。
关于毕业论文。毕业论文将占据研究生生涯的大部分时间,本部
分涉及如何选题,以及如何避免浪费时间。
有关研究方法论,尚未完成。
或许是最重要的一节:涉及研究过程中的情感因素,包括如何面
对失败,如何设定目标,如何避免不安全感,保持自信,享受快乐。
2. 阅读
很多研究人员花一半的时间阅读文献。从别人的工作中可以很快地学到很多东西
。本节讨论的是AI中的阅读,在第四小节将论述其他主题相关的阅读。
阅读文献,始于今日。一旦你开始写作论文,就没有多少时间了,那时的阅读主
要集中于论文主题相关的文献。在研究生的头两年,大部分的时间要用于做课程作业
和打基础。此时,阅读课本和出版的期刊文章就可以了。(以后,你将主要阅读文章
的草稿,参看小节三)。
在本领域打下坚实的基础所需要的阅读量,是令人望而却步的。但既然AI只是一
个很小的研究领域,因此你仍然可以花几年的时间阅读本领域已出版的数量众多论文
中最本质的那部分。一个有用的小技巧是首先找出那些最本质的论文。此时可以参考
一些有用的书目:例如研究生课程表,其他学校(主要是斯坦福大学)研究生录取程
序的建议阅读列表,这些可以让你有一些初步的印象。如果你对AI的某个子领域感兴
趣,向该领域的高年级研究生请教本领域最重要的十篇论文是什么,如果可以,借过
来复印。最近,出现了很多精心编辑的有关某个子领域的论文集,尤其是
Morgan-Kauffman出版的。
AI实验室有三种内部出版物系列:Working Papers,Memos和Technical Reports
,正式的程度依次增加,在八层的架子上可以找到。回顾最近几年的出版物,将那些
非常感兴趣的复制下来。这不仅是由于其中很多都是意义重大的论文,对于了解实验
室成员的工作进展也是很重要的。
有关AI的期刊有很多,幸运的是,只有一部分是值得看的。最核心的期刊是
Artificial Intelligence,也有写作"the Journal of Artificial Intelligence
"或者"AIJ"的。AI领域真正具备价值的论文最终都会投往AIJ,因此值得浏览每一年
每一期的AIJ;但是该期刊也有很多论文让人心烦。Computational Intelligence是
另外一本值得一看的期刊。Cognitive Science也出版很多意义重大的AI论文。
Machine Learning是机器学习领域最重要的资源。IEEE PAMI(Pattern Analysis
and Machine Intelligence)是最好的有关视觉的期刊,每期都有两三篇有价值的论
文。International Journal of Computer Vision(IJCV)是最新创办的,到目前为
止还是有价值的。Robotics Research的文章主要是关于动力学的,有时候也有划时代
的智能机器人论文。IEEE Robotics and Automation偶尔有好文章。
每年都应该去所在学校的计算机科学图书馆(在MIT的Tech Square的一层),翻
阅其他院校出版的AI技术报告,并选出自己感兴趣的仔细加以阅读。
阅读论文是需要练习的技能。不可能完整地阅读所有的论文。阅读论文可分为三
个阶段:第一阶段是看论文中是否有感兴趣的东西。AI论文含有摘要,其中可能有内
容的介绍,但是也有可能没有或者总结得不好,因此需要你跳读,这看一点那看一点
,了解作者究竟做了些什么。内容目录(the table of contents)、结论部分
(conclusion)和简介(introduction)是三个重点。如果这些方法都不行,就只好
顺序快速浏览了。一旦搞清楚了论文的大概和创新点,就可以决定是否需要进行第二
阶段了。在第二阶段,要找出论文真正具有内容的部分。很多15页的论文可以重写为
一页左右的篇幅;因此需要你寻找那些真正激动人心的地方,这经常隐藏于某个地方
。论文作者从其工作中所发现的感兴趣的地方,未必是你感兴趣的,反之亦然。最后
,如果觉得该论文确实有价值,返回去通篇精读。
读论文时要牢记一个问题,“我应该如何利用该论文?”“真的像作者宣称的那
样么?”“如果……会发生什么?”。理解论文得到了什么结论并不等同于理解了该
论文。理解论文,就要了解论文的目的,作者所作的选择(很多都是隐含的),假设
和形式化是否可行,论文指出了怎样的方向,论文所涉及领域都有哪些问题,作者的
研究中持续出现的难点模式是什么,论文所表达的策略观点是什么,诸如此类。
将阅读与程序设计联系在一起是很有帮助的。如果你对某个领域感兴趣,在阅读
了一些论文后,试试实现论文中所描述的程序的“玩具”版本。这无疑会加深理解。
可悲的是,很多AI实验室天生就是孤僻的,里面的成员主要阅读和引用自己学校实验
室的工作。要知道,其他的机构具有不同的思考问题的方式,值得去阅读,严肃对待
,并引用它们的工作,即使你认为自己明晓他们的错误所在。
经常会有人递给你一本书或者一篇论文并告诉你应该读读,因为其中有很闪光的
地方且/或可以应用到你的研究工作中。但等你阅读完了,你发现没什么特别闪光的地
方,仅仅是勉强可用而已。于是,困惑就来了,“我哪不对啊?我漏掉什么了吗?”。
实际上,这是因为你的朋友在阅读书或论文时,在头脑中早已形成的一些想法的催化
下,看出了其中对你的研究课题有价值的地方。
3. 建立关系
一两年后,对自己准备从事的子领域已经有了一些想法。此时——或者再早一点
——加入Secret Paper Passing Network是很重要的。这个非正式的组织是人工智能
真正在做什么的反映。引导潮流的工作最终会变成正式发表的论文,但是至少在牛人
完全明白一年之后,也就是说,牛人对新思想的工作至少领先一年。
牛人如何发现新思路的?可能是听自于某次会议,但是最可能来自于Secret Paper
Passing Network。下面是该网络工作的大致情况。Jo Cool有了一个好想法。她将尚
不完整的实现与其他一些工作融合在一起,写了一份草稿论文。她想知道这个想法究
竟怎么样,因此她将论文的拷贝发送给十位朋友并请他们进行评论。朋友们觉得这个
想法很棒,同时也指出了其中的错误之处,然后这些朋友又把论文拷贝给他们各自的
一些朋友,如此继续。几个月后,Jo对之进行了大量修订,并送交给AAAI。六个月后
,该论文以五页的篇幅正式发表(这是AAAI会议录允许的篇幅)。最后Jo开始整理相
关的程序,并写了一个更长的论文(基于在AAAI发表论文得到的反馈)。然后送交给
AI期刊。AI期刊要花大约两年的时间,对论文评审,包括作者对论文修改所花费的时
间,以及相应的出版延迟。因此,理想情况下,Jo的思想最终发表在期刊上需要大约
三年时间。所以牛人很少能从本领域出版的期刊文章中学到什么东西,来得太迟了。
你,也可以成为一个牛人。下面是建立学术关系网的一些诀窍:
有很多讨论某个AI子领域(如连接主义或者视觉)的邮件列表,选择自己
感兴趣的列表加入。
当与很熟悉本领域的人讨论自己的思想时,他们很可能不直接评价你的想
法,而是说:“你读过某某吗?”这并不是一个设问,而是建议你去阅读某份文献,
它很可能与你的想法有关系。如果你还没有读过该文献,从跟你交谈的高手那里得到
该文献的详细信息,或者直接从他那里借一份拷贝下来。
当你读到某份让你感到很兴奋的论文,复印五份送交给对之感兴趣的其他
五个人。他们可能会反馈回来很好的建议。
本实验室有很多针对不同子领域的非正式(持续发展的)论文讨论组,他
们每星期或每两星期聚会一次,对大家阅读完的论文进行讨论。
有些人并不介意别人去翻看他们的书桌,也就是说,去翻阅他们堆在书桌
上的不久要阅读或者经常翻阅的论文。你可以去翻翻看,有没有自己感兴趣的。当然
了,首先要得到主人的许可,要知道有些人确实反感别人翻自己的东西。去试试那些
平易近人的人。
同样,有些人也并不介意你翻看他们的文件柜。实验室中可是有很多学问
精深的人,他们的文件柜里也是有好多宝贝。与利用学校图书馆相比,这通常是更快
更可靠的寻找论文的方式。
只要自己写下了些东西,将草稿的拷贝分发给那些可能感兴趣的人。(这
也有一个潜在的问题:虽然AI领域的剽窃很少,但也确实有。你可以在第一页写上“
请不要影印或者引用”的字样以做部分防范。)大部分人并不会阅读自己收到的大部
分论文,因此如果只有少数人返回评论给你,也不用太在意。你可以如此反复几次—
—这是期刊论文所必需的。注意,除了自己的导师,一般很少将两次以上的草稿送给
同一个人。
当你写完一篇论文后,将论文的拷贝送给那些可能感兴趣的人。别以为人
家自然而然地就会去阅读发表论文的期刊或者会议录。如果是内部的出版物(备忘录
和技术报告)就更不容易读到了。
你保持联系的人越是各式各样,效果就越好。尝试与不同研究组,AI实验
室,不同学术领域的人交换论文。使自己成为没有联系的两个科研组交流的桥梁,这
样,很快的,你的桌子上就会冒出一大摞相关的论文。
如果某篇论文引用了自己感兴趣的某些东西,做好笔记。维护一份自己感
兴趣参考文献的日志。到图书馆去看看能不能找到这些论文。如果要了解某个主题的
发展轨迹,可以有意地去做一张引用的“参考文献”图。所谓的参考文献图,是指引
用组成的网:论文A引用B和C,B引用C和D,C引用D,等等。注意那些被经常引用的论
文,这通常是值得阅读的。参考文献图有奇妙的性质。一个是经常有研究同一主题的
研究组相互不了解。你搜索该图,突然发现了进入另一部分的方式,这通常出现于不
同学校或者不同方法存在的地方。尽可能了解多种方法是很有价值的,这总比非常深
入的了解某一种方法更好。
暂时搁置。跟别人交谈。告诉他们你在做什么,并询问人家在做什么。(
如果你对与别的学生讨论自己的想法感到害羞,也要坚持交谈,即使自己没有什么想
法,与他们讨论自己认为确实优秀的论文。这将很自然地引导到下一步做什么的讨论
。)每天中午在活动楼七层有一个非正式的午餐讨论会。在我们实验室,人们都习惯
于晚上工作,所以午餐的时候可以跟别人组成松散的小组进行讨论。
如果你与外界的交流很多——做演示或者参加会议——去印张事务名片,
主要要使自己的名字容易记住。
从某个时间开始,你将会开始参加学术会议。如果你确实参加了,你会发
现一个事实,几乎所有的会议论文都令人生厌或者愚蠢透顶。(这其中的理由很有意
思,但与本文无关,不做讨论)。那还去参加会议干吗?主要是为了结识实验室之外
的人。外面的人会传播有关你的工作的新闻,邀请你作报告,告知你某地的学术风气
和研究者的特点,把你介绍给其他人,帮助你找到一份暑期工作,诸如此类。如何与
别人结识呢?如果觉得某人的论文有价值,跑上去,说:“我非常欣赏您的论文”,
并提问一个问题。
获得到别的实验室进行暑期工作的机会。这样你会结识另外一群人,或许
还会学到另外一种看待事物的方式。可以去问高年级同学如何获取这样的机会,他们
或许已经在你想去的地方工作过了,能帮你联系。
通常的情况,你只能做AI领域的事情,对AI领域之外的事情一无所知,好像有些
人现在也仍然这么认为。但是,现在要求好的研究者对几个相关的领域都了解颇深。
计算的可行性本身并没有对什么是智能提供足够的约束,其他的领域给出了其他形式
的约束,例如心理学获得的经验数据。更重要的是,其他的研究领域给了你思考的新
工具,看待智能的新方法。学习其他领域的另外一个原因是AI本身并没有评价研究价
值的标准,全是借自于其他领域。数学将定理作为进展;工程会问某个对象是否工作
可靠;心理学要求可重复的试验;哲学有严格的思辨;等等。所有这些标准有时都在
AI中起作用,熟悉这些标准有助于你评价他人的工作,深入自己的工作以及保护自己
的工作。
经过六年左右的课程方可获得MIT的PhD,你可以在一到两个非AI领域里打下坚实
的基础,在更多的领域内具有阅读水平,并且必须对大部分内容具有一定程度的理解
。下面是如何学习自己所知甚少领域的一些方法:
选修一门研究生课程,这很牢靠,但通常不是最有效的方法。
阅读课本。这方法还算不错,不过课本的知识经常是过时的,一般还有很
高比例的与内容无关的修辞。
找出该领域最棒的期刊是什么,向该领域的高人请教。然后找出最近几年
值得阅读的文章,并跟踪相关参考文献。这是最快的感受该领域的方法,但有时候你
也许会有错误的理解。
找出该领域最著名的学者,阅读他们所著的书籍。
跟该领域的研究生泡在一起。
参看外校研究该领域的系的课程表。拜访那里的研究院办公室,挑选有用的的文献。
计算机科学是我们所使用的技术。你需要选修的初级研究生课程肯定不能
让你对计算机科学有足够的了解,因此你必须通过阅读学习更多的知识。计算机科学
所有的领域——理论体系结构,系统,语言等等——都是必须学习的。
数学可能是接下来需要了解的最重要的学科。对于工作在视觉或者机器人
学的人来说更关键。对于以系统为中心的工作,表面上看,并不相关,但数学会教你
有用的思维方式。你需要能阅读定理,如果具有证明定理的能力将会给本领域的大多
数人留下深刻的印象。很少有人能自学数学,光做个听众是不够的,还得做习题集。
尽可能早地选修尽可能多的数学课,其他领域的课程以后选也很容易。
计算机科学是以离散数学为基础的:代数,图论,等等。如果你要从事推理方面
的工作,逻辑是很重要的。逻辑在MIT用得不多,但是在斯坦福以及其他地方,这是
认识思维的主流方法。所以你必须具备足够的逻辑知识,这样你才能保护自己的观点
。在MIT数学系选修一两门课程就足够了。要是研究兴趣在感知和机器人,那么不仅
需要离散数学,还需要连续数学。在分析,微分几何和拓扑学具有扎实的基础将会给
你提供最常使用的技巧。统计和概率只是一般有用。
认知心理学与AI共享几乎完全相同的观点,但是实践者确实具有不同的目
标,他们主要是做实验而不是写程序。每一个人都需要知道认知心理学的某些知识。
在MIT,Molly Potter开了一门很好的有关认知心理学的初级研究生课程。
如果你想做有关学习的工作,那么发展心理学是很重要的。发展心理学从
一般意义上讲也是很有用的,它能告诉你对于人类智能来说,哪些事情难哪些容易。
它还给出了有关认知体系结构的认知模型。例如,有关儿童语言习得的工作就对语言
处理理论施加了坚实的约束。在MIT,Susan Carey开了一门很好的有关发展心理学的
初级研究生课程。
心理学中更“软”的部分,例如心理分析和社会心理学,对AI的影响看似
很小,但具有潜在的重大意义。它们会给你非常不同的理解人是什么的方式。象社会
学和人类学这样的社会科学可以起相似的作用。具有多种观点是很有用的。上述学科
你需要自学。不幸的是,很难区分出这些领域哪些是优秀的成果哪些是垃圾。到哈佛
去学习:对于MIT的学生来说,很容易交叉注册哈佛的课程。
神经科学告诉我们有关人体可计算硬件的知识。随着最近可计算神经科学
和联结主义的兴起,对AI具有非常大的影响。MIT的脑和行为科学系提供了非常好的
课程,视觉(Hildreth, Poggio, Richards, Ullman),移动控制(Hollerbach, Bizzi
)和普通神经科学(9.015,由专家组讲授)。
如果你想研究自然语言处理,语言学是很重要的。不仅如此,它还包含了
很多有关人类认知的约束。在MIT,语言学主要由Chomsky学院负责。你可以去看看是
不是符合自己的兴趣。George Lakoff最近出版的书《Women, Fire, and Dangerous
Things》可作为另外一种研究程序的例子。
工程,特别是电机工程,已经被很多AI研究机构作为一个研究领域。我们
实验室在培养程序中加入了很多需要确实做一些东西的要求,例如分析电路。了解EE
也有助于建造定制的芯片或者调试自己的Lisp机器上的电源。
物理学对于那些对感知和机器人感兴趣的人具有强大的影响。
哲学是所有AI领域看不见的框架。很多AI工作都有蕴含着哲学的影响。学
习哲学也能帮助你运用或者读懂很多AI论文中用到的观点。哲学可沿着至少两个正交
的轴分解。哲学通常是某种东西的哲学;有关思维和语言的哲学与AI更相关。然后存
在着多种哲学学派,从比较大的范围来分,哲学可分为分析哲学和大陆哲学。分析哲
学有关思维的观点与AI领域大多数研究者一致。大陆哲学则对我们习以为常的很多东
西有非常不同的看待方式。它曾经被Dreyfus用于证明AI是不可能的。就在不久前,
有几位研究者认为大陆哲学与AI是相容的,提供了另外一种解决问题的方法。MIT的
哲学属于分析哲学,哲学学院深深地受到Chomsky在语言学方面工作的影响。
看起来要学习太多的东西,是不是?确实如此。要小心一个陷阱:认为对于所有
的X,“只有我对X了解的更多,这个问题才会变得容易”。要知道,与之相关需要进
一步了解的东西是永远没完的,但最终你还是要坐下来,解决问题的。
5. 笔记
很多科学家都有做科研笔记的习惯,你也应该这样。可能你曾被告知从五年级开
始,对于每一门科学课都应该记笔记,确实如此。不同的记笔记方式适用于不同的人
,可以做在线笔记,记在笔记本或者便笺簿上。可能需要在实验室有一个,家里还有
一个。
在笔记本上记录下自己的想法。只有你自己才会去读它,因此可以记得比较随意
。记录下自己的思索,当前工作中遇到的问题,可能的解决方案。对将来可能用到的
参考文献作小结。
定期翻阅你自己的笔记本。有些人会做月度总结,方便将来的引用。
笔记中记录中的东西经常可以作为一篇论文的骨干。这会使生活变得轻松些。相反,
你会发现写粗略的论文——标题,摘要,分标题,以及正文的片段——是一种记录自
己当前工作的有效方式,即使你并不准备把它变成一篇真正的论文。(过一段时间你
或许会改变想法)。
你或许会发现Vera Johnson-Steiner的书《Notebooks of the Mind》很有用,
该书并不是描写如何做笔记的文献,它描述了随着思想片断的积累,创新思想是如何
出现的。
6. 写作
写作的理由有很多。
在整个读研的过程中,你需要写一到两篇(这取决于你所在系的规定)毕
业论文,以获得PhD或者MS。
勤于写作不仅仅给你练习的机会。
学术的规则就是要么发表,要么腐烂。在很多领域和学校,这通常开始于
你成为一名教授时,但是我们实验室的很多研究生毕业之前就已经开始发表论文了。
鼓励发表和分发论文是很好的政策。
写下自己的想法是很好的调整思路的方式。你会经常地发现自以为很完美
的想法一旦写下来就显得语无伦次。
如果你工作的目的是不仅为自己还要为他人服务,就必须把它发表。这也
是研究的基本责任。如果你写得精彩,会有更多的人来了解你的工作。
AI但凭单打独斗是很难做的,你需要经常地从他人那里获得反馈。对你的
论文作评论就是最重要的一种形式。任何事情,要做就要做到最好。
阅读有关如何写作的书籍。Strunk和White的《Elements of Style》对基
本的应该如何不应该如何做了介绍。Claire的《The MLA's Line By Line》(Houghton
Mifflin)是有关在句子级别如何编辑的书籍。Jacques Barzun的《Simple and Direct
: A Rhetoric for Writers》(Harper and Row, 1985)是有关如何作文的。
写论文时,读读那些写作高超的书,并思考作者的句法运用。你会发现不
知不觉地,你已经吸收了作者的风格。
要成为写作高手,需要付出颇多,历经数年,期间还要忍受和认真对待他
人的批评。除此之外,并无捷径可走。
写作有时候是很痛苦的,看起来好像是从“实际的”工作中分心了。但如
果你已经掌握了写作技巧,写起来会很快。而且如果你把写作当作一门艺术的话,你
能从中得到很多乐趣。
你肯定会遇到思路阻塞的情况,这有很多的可能原因,没有一定可以避免
的方法。追求完美可能导致思路阻塞:无论开始写什么,总觉得不够好。要理解写作
是一个调试的过程。先写一个草稿,然后返回修订。写草稿有助于理顺思路,如果写
不出来正文,那就写个大纲。逐步对之细化,直到已经很容易写出子部分的内容。如
果连草稿也写不出来,隐藏掉正在写作的所有窗口,然后随便输入自己脑袋里想到的
东西,即使看起来好像是垃圾。当你已经写出了很多文本后,重新打开窗口,将刚才
写的东西编辑进去。
另外一个错误是以为可以将所有的内容依次写出。通常你应该将论文的核心内容
写出来,最后才是介绍部分。引起作者思路阻塞的另一个原因是不切实际的以为写作
是很容易的事情。写作是耗时耗力的,如果发现自己每天只能写一页,也不要放弃。
完美主义可能会导致对本来已经足够好的论文还在不停地打磨。这是浪费
时间。(这也是一种有意无意之间逃避做研究的表现)。将论文看作你与本领域其他
人交谈时的一句话。在交谈中,并不是每一句话都是完美的。很少有人会期待自己的
某次谈话就是全部的故事,是与对方的最后一次交流。
写信是一种很好的练习。很多技术论文,如果其风格更类似于给朋友的信
,那么会有很大的提高。坚持记日记也是练习写作的方法(也会使你试验更多的文体
,不仅仅是技术论文)。这两种方法还有其它的实质作用。
一个常见的陷阱是花很多时间去追求修辞而不是内容。要避免这样。LaTeX
并非完美,但是它有很多你所需的修饰语。如果这还不够,还可从其他从事这一研究
的人那里借用一些词语用法。很多站点(例如MIT)维护了一个写作修辞的库。
清楚自己要表达什么。这是清楚的写作中最难最重要的因素。如果你写了
拙劣的东西,且不知道如何修改,这很有可能是因为你不知道自己要说什么。一旦搞
清楚了自己要说什么,说就行了。
论文的写作要有利于读者查找到你所做的工作。无论是段落的组织还是通
篇的组织,都要将最核心的部分放在前面。要精心写作摘要。确保摘要已经反映出你
的好思路是什么。确保自己明白自己的创新点是什么,然后用几句话表达出来。太多
的论文摘要只是一般性地介绍论文,说是有一个好思路,却不说是什么。
不要用大话来贩卖你的工作。你的读者都是很优秀的人,正直且自尊。与
之相反,也不要为自己的工作道歉或者进行消减。
有时候你意识到某个子句、句子或者段落不够好,却不知道如何修改。这
是因为你钻到死胡同里出不来了。你需要返回重写这一部分。现实中这种情况很少发
生。
确保自己的论文中有中心思想。如果你的程序在10毫秒内解决了问题X,告
诉读者你是如何办到的。不要只是解释呢的系统是如何构建的,是做什么的,还要解
释其工作原理和价值所在。
写作是给人看的,而不是机器。因此光观点正确是不行的,还要易懂。不
要靠读者自己去推理,除非是最明显的推论。如果你在第七页的脚注上解释了某个小
玩意的工作原理,接着在第二十三页没有进一步解释就引用了它,此时如果读者感到
困惑一点都不值得奇怪。正式的论文要写清楚是很难的。不要模仿数学领域的文献,
它们的标准是尽可能少的解释,使读者感到越困难越好。这并不适用于AI。
写完一篇论文后,删掉第一段或者头几句话。你会发现那是与内容无关的
一般性话语,更好的介绍语句在第一段最后或者第二段的开头。
如果你等做完所有的工作后才开始写作,会失去很多。一旦开始了某个科研项目
,要养成这样的习惯:写作解释当前工作进展或者每几个月学习所得的非正式论文。
从你的研究笔记中的记载开始。花两天的时间写下来——如果你花的时间更长,说明
你是一个完美主义者。将论文与你的朋友分享。写的是草稿——不是为了被引用的那
种。将论文复制数十份,送给那些感兴趣的人(包括你的导师)。与写正式论文相比
,这样做具有很多相同的好处(评论,理清思路,写作练习等等),而且从某种意义
上讲,付出无需那么多。经常地,如果你做得不错,这些非正式论文以后可以作为正
式论文的骨干内容,也就是从AI实验室的Working Paper成为一篇期刊文章。
一旦你成为Secret Paper Passing Network的成员,会有很多人给你寄论文拷贝
要求评论。获得他人对自己的论文的评论是很有价值的。因此你评论的论文越多,你
获得支持就越多,也会收到更多人对你论文的评论。不仅如此,学习评价别人的论文
有助你的选择。
为论文写有用的评论是一门艺术。
要写出有用的评论,需要读两遍论文。第一遍了解其思想,第二遍开始作
评论。
如果某人在论文中屡次犯同一错误,不要每次都标记出来。而是要弄清楚
模式是什么,他为什么这样做,对此还可以做什么,然后在第一页清晰地指出或者私
下交流。
论文的作者在合并你的评论时,将会遵循最小修改的原则。如果可以,就
只修改一个词,不行再修改一个词组,再不行才修改整个句子。如果他的论文中某些
拙劣之处使得他必须修改整个段落,整个小节甚至整篇论文的组织,要用大字体的字
母指出来,这样他才不会忽视。
不要在论文写毁灭性的批评如“垃圾”。这对于作者毫无帮助。花时间提
出建设性的建议。要设身处地地为作者着想。
评论有很多种。有对表达的评论,有对内容的评论。对表达的评论也可以很不同
,可以是校对打字稿,标点,拼写错误,字词丢失等。应该学一些标准的编辑符号。
还可以是校正语法,修辞,以及混乱不清楚的段落。通常人们会持续地犯同一语法错
误,因此需要花时间明确地指出。接下来是对组织结构的评论:不同程度(子句,句
子,段落,小节乃至一章)的次序混乱,冗余,无关的内容,以及丢失论点。
很难描述对内容进行评论的特征。你可能建议作者扩展自己的想法,考虑某个问
题,错误,潜在的问题,表达赞美等。“因为Y,你应该读X”是一种总是有用的评论。
当被要求对论文作评论时,你首先想弄清楚哪种评论更有用。对于早期的论文草稿,
需要你主要对内容和论文的组织结构作评论;对于最终的草稿,需要你主要评论表达
的细节。注意,作为一种礼貌,在要求别人评论之前,应首先用拼写检查器对自己的
论文进行检查。
你无须接受所有的意见,但是必须都认真对待。将论文的部分内容裁掉是挺令人
痛心的,但往往也提高了论文的水平。你经常会发现某个意见确实指出了问题,但是
解决方法你觉得不可接受,那么就去寻找第三条道路。
要多发表论文,这其实比想象中的容易。基本上,AI出版物评审者评审论文的标
准是:(a)有新意;(b)在某些方面,符合标准。看看IJCAI的会议录,你会发现论文录
取的标准相当低。这种情况由于评审过程本身固有的随机性而变得更糟糕了。所以一
个发表论文的诀窍是不停地试。
确保论文可读性比较好。论文被拒绝的原因,除了没有意义之外,就是无
法理解或者组织糟糕。
论文在投往期刊之前,应该交流一段时间,并根据反馈的评论进行适当的
修订。要抵制那种急匆匆地把结果投往期刊的做法。在AI领域,没有竞赛,而且不管
怎么说,出版周期的延迟要大大超过对草稿进行评论的时间。
读一读你想投稿的期刊或者会议的过刊,确保自己论文的风格和内容是适合的。
很多出版物都有一页左右的“作者投稿须知”,仔细看看。
主要的会议都会在被接收的论文中评出内容和表达俱佳的获奖论文,仔细
研究研究。
通常是向会议投交一篇篇幅比较短的有关部分工作内容的早期报告,然后
再往期刊投交一份篇幅长的最终的正式论文。
论文被决绝了——千万不要沮丧灰心。
期刊和会议的论文评审过程存在很大的不同。为了节省时间,会议论文的
评审必须迅速,没有时间细究或者交流。如果你被拒绝了,你就失败了。但期
刊论文则不同,你可以经常地与编辑争辩,通过编辑与评审人争辩。
评审人一般都会对你有帮助的。如果你收到了令人生厌的评审报告,应该
向大会的程序主席或者编辑投诉。不能期望可以从会议论文评审人的报告那里
得到多少反馈。但对于期刊论文,往往可以得到非常棒的建议。你不必完全按
照评审报告的建议去做,但是,如果你不按照报告去做,那么就必须解释原因
,并且要意识到这可能会导致进一步的负面评价。不管怎么样,无论是哪种的
评审,作为评审者都要有礼貌。因为在余下的职业生涯中,你将会与被评审者
在一个学术圈子里。
MIT AI Lab Memos大体上是或者接近发表的水平。实际上,Technical
Reports基本上都是这些Memos的修订版本。Working Papers则更不正式,这是
很好的将自己的论文分发给同事们的方法。要出版这些内部文件,只需到
Publications Office(在活动楼八层)领一份表格,并有两位教员签字即可。
就像其它的科研活动一样,论文写作所花的时间总是比期望的要高。论文
的发表在耗费时间这个问题上则更严重。当你完成了一篇论文,投出去,等待
发表。数月后,论文以及评论被返回来。你不得不对论文进行修改。然后又是
几个月,才返回对你的修改的确认。如果你同时发表了该论文的不同形式,如
有一篇短的投会议,一篇长的投期刊,这样的过程将反复数个回合。结果有可
能是当你已经厌倦了,研究主题也已经令人生厌后数年,你仍然在修改那篇论
文。这启示我们:不要去做那些需要热情投入但是很难发表论文的研究——苦
不堪言。
7. 讲演
与同行交流的另外一种方式就是讲演,上面提到的有关论文写作的问题,
同样适用于讲演。站在听众面前从容讲演而不会使听众恹恹欲睡的能力,对于
你成功地获得别人的承认、尊敬乃至最终的求职都是很关键的。讲演的能力不
是天生的,下面是一些学习和练习讲演的方法:
Patrick Winston有一篇很好的有关如何作讲演的小论文。每年的一月,他
都会就此作讲演,演示和描述它的演讲技巧。
如果你觉得自己是一个糟糕的演讲者,或者想成为一名优秀的演讲者,选
一门公共演讲课。初级的表演课也很有用。
如果你的导师有定期的研究讨论会,自愿去作演讲。
MIT AI实验室有一系列的半正式座谈会,叫做Revolving Seminar。如果你
觉自己的某些观点值得写进AI Memo或者会议论文中,自告奋勇去作一场报告。
深入了解实验室的不同机器人项目,当你外地的亲朋好友来的时候,你可
以领着他们逛一圈,并就机器人做60分钟的报告。
由于修改演讲远比修改论文容易,有些人会觉得这是很好的寻找如何表达
思想的方式。(Nike Brady有一次曾说,他所有最好的论文都来自于演讲)。
在一间空屋子里练习,最好就是你马上要做的报告。这有助于调整报告的
技巧:每一张幻灯讲些什么;转换的延迟以及保持平滑;保持解释和幻灯的同步;估
计报告的时间长度。你花在调整设备上的时间越少,留下来的与人交流的时间就越长
用镜子,录音机或者录像机练习是另外一种方法。实验室有这三种设备。
这也有助于调整自己的发音和肢体语言。
对于比较正式的报告——特别是你的答辩——应该在几个朋友面前练习一
遍,请他们批评指正。
观察别人是如何做报告的。有很多访问MIT的人会做报告。参加这样的报告
会能够感受自己不熟悉的领域,并且如果报告令人提不起兴趣,你可以暗中分析报告
者错在哪里。
找一位朋友,将你最近的想法说给他听。这既可以提高的交际技巧,又能
调试自己的思路。
8. 程序设计
并不是所有的AI论文都包含代码,而且本领域的很多重量级人物从来没有写过一
个重要的程序。但是为了初步的近似AI工作原理,你必须会程序设计。不仅仅是很多
AI研究工作需要编写代码,而且学会程序设计能给你什么是可计算的什么是不可计算
的直觉,这是AI对认知科学贡献的主要来源。
在MIT,本质上所有的AI程序设计都使用Common Lisp。如果还不知道,赶快学吧
。当然,学习一门语言并不能等同于学习程序设计;AI程序设计包含的一些技术与那
些在系统程序设计或者应用程序设计中用到的大不相同。开始学的时候,可以先看看
Abelson和Sussman的《Structure and Interpretation of Computer Programs》,
并做一些练习。这本书与AI程序设计本质上并不相干,但是包含了一些相同的技术。
然后读Winston和Horn写的Lisp书第三版,书里有很多优雅的AI程序。最后,进行实际
的程序设计,而不是阅读,才是最好的学习程序的方法。
学习Lisp程序设计有很多传统。有些人习惯一起写代码,这取决于个性。还有的
人寻找机会直接向有经验的程序员学习,或者请他对你的代码进行评价。阅读别人的
代码也是很有效的方法。如果可以向高年级同学要他们的源代码。他们可能会有些抱怨,
说自己的编程风格差极了,程序实际上并不能工作云云。不管怎么样,最后你获得了
源代码。然后你要仔细地通篇阅读,这很费时间。通常阅读并完全理解别人代码所花
的时间与你自己编程完成的时间是一样多的,因此要计划好在你的头一个或者头两个
学期用数周的时间去阅读别人的代码。你将从中学到很多以前不曾想到在课本中也没
有的技巧。如果你读到了大段大段不可理解没有注释的程序,你就会明白不应该如何
写代码了。
在软件工程课里学习到的那些知识在AI程序设计中依然有用。要给代码加注释。
使用正确的数据抽象。将图和你的代码隔离开,由于你使用的语言基本上是
Common Lisp,因此可移植性很好。诸如此类。
经过头几年的学习后,应该写一些自己的标准AI模块,如:
真值维护系统
规划器
规则系统
不同风格的解释器
具有流程分析的优化编译器
具有继承特性的框架系统
几种搜索方法
基于解释的学习器
任何你感兴趣的东西都可以尝试用程序实现。你可以抓住问题的实质,在几天之
内完成一个功能版本。修改已有的程序是另外一种有效的方法,前提是你已经写过这
样的东西,并且确实了解其工作原理,优缺点以及效率等问题。
不象其他通常的程序员,AI程序员之间很少相互借阅代码。(演示代码例外)。
这部分由于AI程序很少有真正起作用的。(很多著名的AI程序只在作者论文所提到的
那三个例子上起作用,虽然最近这种情况已经有所改善)。另外一个原因是AI程序通
常是匆忙凑成,并没有考虑一般化的问题。使用Foobar的“标准”规则解释器,开始
时很有效,不久就会发现缺少一些你需要的功能,或者不够有效率。虽然可以对代码
进行修改满足自己的需要,但记住理解别人的代码是很耗时的,有时候还不如自己写
一个。有时候构建一个标准包的工作本身就可以成为一篇论文。
像论文一样,程序也有可能过于追求完美了。不停重写代码以求完美,最大化的
抽象所有的东西,编写宏和库,与操作系统内核打交道,这都使得很多人偏离了自己
的论文,偏离了自己的领域。(从另外一方面,或许这正是你需要将来谋生的手段)。
9. 导师
在MIT,有两种类型的导师,教学导师和论文导师。
教学导师的工作比较简单。每一位研究生都被分配了系里的一位老师作为教学导
师。教学导师的作用是作为系方代表,告诉你对你的正式要求是什么,如果你的进度
慢了敦促你,批准你的课程计划等。如果一切顺利的话,你每年只需要见教学导师两
次,在注册日那天。从另一方面讲,如果你遇到了困难,教学导师替你向系里反映或
者提供指导。
论文导师是监督你研究的人。选择论文导师是你读研期间最重要的选择,比选题
都重要得多。从更广的意义上讲,AI是通过师傅带徒弟的方式学习的。有很多领域的
技术方面或者研究过程方面的非正式知识,只能从导师那里学到,在任何教科书上都
找不到。
很多AI教员都是行为古怪的人,毕业生也如此。导师与研究生的关系是非常个性
化的,你的个人特点必须与导师的配合得很好,这样你们才能合作成功。
不同的导师具有不同的风格。下面是一些需要值得考虑的因素:
你需要多大程度的指导?有些导师会给你一个定义良好的适合做论文的问
题,对解决方法进行解释,并告诉你如何开展工作。如果你陷在某个地方了,他们会
告诉你如何开展下去。其他的导师属于甩手型,他们可能对你的选题毫无帮助,但是
一旦你选好题目,他们对于引导你的思路具有非常大的作用。你需要考虑清楚自己适
合独立工作还是需要指导。
你需要多大程度的联系?有的导师要求每周与你见面,听取你工作进展的
汇报。他们会告诉你应该读的论文,并给你实际的练习和项目做。其他的导师每学期
与你的谈话不会超过两次。
你能承受的压力有多大?有些导师施加的压力是很大的。
需要多少情感支持?
听取导师意见的认真程度如何?大多数导师会相当正式的建议你的论文题
目。有些导师是值得信赖的,他们给出的建议,如果按照执行,几乎肯定会做出一篇
可接受程度的论文,如果不是令人兴奋的论文的话。其他的则一下子抛出很多思路,
大部分是不切实际的,但是有一些,或许会导致重大突破。如果选了这样的一位导师
,你首先得把自己当作一个过滤器。
导师提供了什么类型的研究组?有些教授会创造环境,把所有的学生聚集
在一起,即使他们做的不是同一个项目。很多教授每周或者每两周与自己的学生们会
面。这对你有用么?你能与教授的学生和睦相处么?有些学生发现他们更能与其他教
研组的学生建立良好的工作关系。
你想参与大的项目么?有些教授将大系统分解,每个学生负责一部分。这
给了你与一组人讨论问题的机会。
你想被共同监督么?有些论文项目包含了多个AI领域,需要你与两个以上
的教授建立密切的工作关系。虽然你正式的论文导师只有一位,但是有时候这并不反
映实际情况。
导师愿意指导其研究领域之外的论文题目么?你是否能与导师一起工作,
比你做什么本身更重要。MIT的机器人系就曾指导过量子物理学和认知建模方面的论
文;推理方面的教员指导过视觉方面的论文。但是有些教员只愿意指导自己研究兴趣
领域内的论文。这对于那些欲获得终身职位的年轻教员来说尤其如此。
导师会为了你跟体制作斗争吗?有些导师会为了你跟系里或者某些有敌意
的实体作斗争。有时候体制对某些类型的学生不利(特别是对于女学生和怪癖的学生
),因此这一点很重要。
导师愿意并且能够在会议上推荐你的工作吗?这是导师工作的一部分,对
你将来工作意义重大。
上述这些因素,不同学校的情况很不相同。与大部分学校相比,MIT提供了多得
多的自由。
找论文导师是你研究生一年级最主要的任务。研一结束时,或者研二学年开始
阶段,你必须有一个论文导师。下面是一些诀窍:
查阅实验室的研究总结。其中有一页左右的篇幅描述了每个教师以及很多
研究生目前在做什么。
如果你对某些教师的研究工作感兴趣,查阅其最近的论文。
在第一学期,与尽可能多的教师交谈。去感受他们喜欢做什么,他们的研
究和指导风格是什么。
与预期导师的研究生交谈。要保证与导师的多个学生交流,因为每位导师
在与不同的学生交流时有不同的工作方式和交流效果。不能被一个学生的看法所左右
。
很多教师所在研究组的会议对新同学都是公开的。这是非常好的了解导师
工作方式的途径。
作为一门学科,AI不同寻常的一点是很多有用的工作是由研究生完成的,而不是
博士——他们忙着做管理去了。这有几个后果。一是某个教师的声望,是否会获得终
身聘用,在很大程度上取决于学生的工作。这意味着教授有很强烈的动机吸引最好的
学生为自己工作,并给与有效的指导和足够的支持。另外一个后果是,由于大部分学
生的论文方向是由导师形成的,因此整个领域的方向和发展很大程度上取决于导师选
择什么样的研究生。
当选定了导师,决定了自己对导师的要求后,要确保导师知道。不要由于交流不好,
浪费时间于自己并不想做的项目上。
不要完全依赖你的导师,要建立自己的网络。找一些能定期评审你的工作的人是很重
要的,因为研究时很容易走火入魔。网络中的人可以包括自己实验室或者外单位的研
究生和老师。
在与其他学生、老师甚至自己的导师的关系中,很可能会碰到种族主义者,性别歧视
,同性恋或者其他令人尴尬的事情。如果你不幸碰到了,去寻求帮助。MIT的ODSA出
版了一本叫做“STOP Harrassment”的小册子,里面有很多建议。《Computer Science
Women's Report》,可在LCS文档室找到,也与之相关。
实验室中有些同学只是名义上由导师指导。这对于那些独立性很强的人来说很好。但
是如果你已经完成了某项导师指导的工作,除非你确保没有导师也行且自己有牢靠的
支持网络,否则就不要这么干。
10. 论文
做毕业论文将占据研究生生活的大部分时间,主要是去做研究,包括选题,这比实际
的写作耗时更多。
硕士论文的目的是为做博士论文练兵。博士水平的研究如果没有准备好的话,是很难
进行的。硕士论文最本质的要求是展示自己的掌握程度:你已经完全理解了本领域最
新进展,并具备相应的操作水平。并不需要你对本领域的最新知识有所拓展,也不要
求发表你的论文。然而我们实验室的论文总是比较大气的,因此很多硕士论文实际上
都对本领域的发展作出了显著的贡献,大约有一半都出版了。这并不一定是好事情。
很多人精力都集中于硕士的工作,所以MIT有这样的名声:硕士论文的质量往往比博
士论文高。这有悖于硕士工作本来是为博士研究作准备的原有目的。另外一个因素是
所做研究要对领域有所贡献,至少需要两年,这使得研究生学习时间之长令人难以忍
受。现在或许你感受不到匆忙,但当你已经在实验室呆了七年后,你肯定迫不及待地
想逃出去。硕士从入学到毕业平均时间是两年半,但是,计算机系强烈鼓励学生提前
毕业。如果某个硕士生的题目过于庞大,可将之分解,一部分来做硕士论文,另一部
分给博士生作博士论文。
想要了解硕士论文研究是什么样的,读几本最新的硕士论文。记住比较好的论文是那
些出版的或者成为技术报告的,因为这标志着该论文被认为是扩展了领域的最新知识
——换句话说,他们的论文远远超出了硕士论文的水平。还要读一些通过的但是没有
出版的论文,所有通过的论文都可以在MIT图书馆中找到。博士论文必须对最新知识
有所拓展,博士论文的研究必须具备可出版的质量。MIT的泱泱气质又表现出来了,
很多博士论文在几年内都是某个子领域的权威工作。对于MIT的博士论文来说,开创
一个新领域,或者提出并解决一个新问题,并不是什么了不起的事情。虽然,这并不
是必需的。
一般来说,需要两到三年的时间来做博士论文。很多人花一到两年的时间跟硕士生活
说再见,以及选题。这段时间可以去尝试一些别的事情,例如做助教或者在某个非AI
领域打下坚实的基础或者组织个乐队。博士论文的实际写作时间大约是一年。
选题是论文工作中最重要最困难的部分:
好的论文题目不仅能够表达个人观点,而且可与同行交流。
选择题目必须是自己愿意倾注热情的。个人远景观点是你作为一个科学家
的理由,是你最为关切的意象,原则,思路或者目标。有多种形式。或许你想造一台
可与之交谈的计算机,或许你想把人类从计算机的愚蠢使用中拯救出来,或许你想展
示万物都是统一的,或许你想在太空发现新生命。远景观点总是比较大的,你的论文
并不能实现你的远景,但是可以朝着那个方向努力。
做论文时,最困难的就是如何将问题消减至可解决的水平,同时规模又足
以做一篇论文。“解决AI的宽度优先”是常见毛病的一个例子,题目太大太虚了。你
会发现需要不断的缩小题目的范围。选题是一个渐进的过程,不是一个离散的事件,
会持续到你宣布论文已经完成那一刻为止。实际上,解决问题通常比精确地描述问题
要容易得多。如果你的目标是一个五十年的工程,那么合理的十年工程是什么,一年
的呢?如果目标的结构庞大,那么最核心的部件是什么,如何最大程度的了解核心部
件?
一个重要的因素是你可以忍受多大程度的风险。在最终的成功和风险之间
需要权衡。这也并不总是对的,AI中有很多研究者尚未涉及的想法。
好的论文选题有一个中心部分,你确信肯定可以完成,并且你和你的导师
都同意这已经满足毕业要求了。除此之外,论文中还有多种扩展,有失败的可能,但
如果成功了,会增加论文的精彩程度。虽然不是每一个论文选题都符合这个模式,但
值得一试。
有些人觉得同时在多个项目中工作可以在选题的时候选择可以完成的那个
。这确实降低了风险。另外一些人则愿意在做任何工作之前,选一个单独的题目。
可能你只对某个领域感兴趣,这样你的选题范围就狭窄得多。有时候,你
会发现系里的老师没有一个人能够指导你选择的领域。可能还会发现好像那个领域没
什么很自然的选题,反而对别的领域有好想法。
硕士选题比博士选题更难,因为硕士论文必须在你所知不多没有足够自信
时就完成。
博士选题需要考虑的一个因素是是否继续硕士阶段所研究的领域,可能拓
展或者作为基础,或者干脆转到另外一个领域。待在同一个领域事情就简单了,可能
只需要一到两年就毕业了,特别是如果在硕士阶段的工作中已经发现了适合做博士论
文的题目。不足之处在于容易定型,改换领域则能增加知识的宽度。
有的论文题目很新奇,有的则很普通。前者开创了新领域,探索了以前未
曾研究过的现象,或者为很难描述的问题提供了有效的解决方法;后者则完美地解决
了定义良好的问题。两种论文都是有价值的。选择哪一种论文,取决于个人风格。
论文的“将来的工作”部分,是很好的论文题目来源。
无论选什么样的题目,必须是前人未曾做过的。即使是同时有人做的工作
,也不好。有很多东西可作,根本无需竞争。还有一种常见的情况,读了别人的论文
后感觉很惊慌,好像它已经把你的问题解决了。这通常发生在确定论文题目过程中。
实际上往往只是表面类似,因此将论文送给某个了解你的工作的高人看看,看他怎么
说。
MIT AI实验室的论文并非全是有关人工智能的;有些是有关硬件或者程序
设计语言的,也行。
选好题后,即使有点虚,你必须能够回答下列问题:论文的论点是什么?你想说明什
么?你必须有一句,一段,五分钟的答案。如果你不知道自己在干什么,别人也不会
严肃对待你的选题,更糟糕的是,你会陷在选题——再选题的圈子里而不能自拔。
开始作论文研究后,一定要能够用简单的语言解释每一部分的理论和实现是如何为目
标服务的。
记住,一旦选好了题目,你必须与导师就论文完成的标准达成清晰的一致。如果你和
他对论文具有不同的期望,最后你肯定死得很惨。必须定义好“完成测试”的标准,
像一系列的能够证明你的理论和程序的例子。这是必须做的,即是你的导师并不这么
要求。如果环境发生了根本的变化,测试也要随之改变。
首先尝试论文问题的简化版本。用实例检验。在形成理论抽象之前,要完整的探究具
有代表性的例子。
做论文的过程中,有很多浪费时间的方式。要避免下列活动(除非确实跟论文相关)
:语言表达的设计;用户接口或者图形接口上过分讲究;发明新的形式化方法;过分
优化代码;创建工具;官僚作风。任何与你的论文不是很相关的工作要尽量减少。
一种众所周知的现象“论文逃避”,就是你突然发现改正某个操作系统的BUG是非常
吸引人也很重要的工作。此时你总是自觉不自觉的偏离了论文的工作。要记住自己应
该做些什么。(本文对于部分作者来说就属于论文逃避现象)。
11. 研究方法论[本部分内容比较少,请添加]
研究方法学定义了什么是科研活动,如何开展研究,如何衡量研究的进展,以及什么
叫做成功。AI的研究方法学是个大杂烩。不同的方法论定义了不同的研究学派。
方法是工具。使用即可,不要让他们来使用你。不要把自己陷于口号之中:“AI研究
需要牢靠的基础”,“哲学家只会高谈阔论,人工智能则需要拼搏”,“在问为什么
之前,先搞清楚计算的是什么”。实际上,要在人工智能领域取得成功,你必须擅长
各种技术方法,还必须具备怀疑的态度。例如,你必须能够证明定理,同时你还必须
思考该定理是否说明了什么。
很多优秀的AI篇章都是巧妙地在几种方法论中取得平衡。例如,你必须选择一条在太
多理论(可能与任何实际问题都无关)和繁琐的实现(把实际的解决方法表达得语无
伦次)之间的最佳路线。你经常会面临区分“干净”和“肮脏”的研究决策。你应该
花时间将问题在某种程度上形式化吗?还是保持问题的原始状态,此时虽然结构不良
但更接近实际?采用前一种方法(如果可行的话)会得到清晰确定的结果,但这一过
程往往是繁琐的,或者至少不会直接解决问题。后者则有陷入各种处理的漩涡之中的
危险。任何工作,任何人,必须作出明智的平衡。
有些工作象科学。你观察人们是怎样学习算术的,大脑是如何工作的,袋鼠是如何跳
的,然后搞清楚原理,形成可检验的理论。有些工作象工程:努力创建一个更好的问
题解决器或者算法。有些工作象数学:跟形式化打交道,要理解属性,给出证明。有
些工作是实例驱动的,目标是解释特定的现象。最好的工作是以上几种的结合。
方法具有社会性,看看别人是如何攻克类似难题的,向别人请教他们是如何处理某种
特殊情况的。
12. 情感因素
研究是艰苦的工作,很容易对之失去兴趣。一个令人尴尬的事实是在本实验室读博的
学生只有很少比例最后获得学位。有些人离开是因为可以在产业界赚到更多的钱,或
者由于个人的原因;最主要的原因则是由于论文。本节的目标是解释这种情况发生的
原因,并给出一些有益的建议。
所有的研究都包含风险。如果你的项目不可能失败,那是开发,不是研究。面对项目
失败时是多么艰难啊,很容易将你负责的项目失败解释为你自己的失败。虽然,这实
际上也证明了你有勇气向困难挑战。
在人工智能领域很少有人总是一直成功,一年年地出论文。实际上,失败是经常的。
你会发现他们经常是同时做几个项目,只有一些是成功的。最终成功的项目也许反复
失败过多次。经历过很多由于方法错误的失败之后,才取得最终的成功。
在你以后的工作生涯中,会经历很多失败。但是每一个失败的项目都代表了你的工作
,很多思想,思考方式,甚至编写的代码,在若干年后你发现可用于另外一个完全不
同的项目。这种效果只有在你积累了相当程度的失败之后才会显现出来。因此要有最
初的失败以后将会起作用的信念。
研究所花费的实际时间往往比计划的要多得多。一个小技巧是给每个子任务分配三倍
于预期的时间(有些人加了一句:“……,即使考虑了这条原则”)。
成功的关键在于使得研究成为你日常生活的一部分。很多突破和灵感都发生在你散步
时。如果无时无刻地都潜意识的思考研究,就会发现思如泉涌。成功的AI研究者,坚
持的作用一般大于天资。“尝试”也是很重要的,也就是区分浅薄的和重要的思路的
能力。
你会发现自己成功的比例是很随机的。有时候,一个星期就做完了以前需要三个月才
能完成的工作。这是令人欣喜的,使得你更愿意在本领域工作下去。其他一些时候,
你完全陷在那里,感觉什么也做不了。这种情况很难处理。你会觉得自己永远不会做
出任何有价值的东西了,或者觉得自己不再具备研究者的素质了。这些感觉几乎肯定
是错误的。如果你是MIT录取的学生,你就是绝对合格的。你需要的是暂停一下,对
糟糕的结果保持高度的容忍。
通过定期设置中短期的目标,例如每周的或者每月的,你有很多工作要做。增加达到
这些目标的可能性有两种方法,你可以把目标记在笔记本中,并告诉另外一个人。你
可以与某个朋友商定交换每周的目标并看谁最终实现了自己的目标。或者告诉你的导
师。
有时你会完全陷在那里,类似于写作过程的思路阻塞,这有很多可能的原因,却并无
一定的解决方法。
范围过于宽泛了,可尝试去解决流程中的子问题。
有时候对你研究能力的怀疑会消磨掉你所有的热情而使得你一事无成。要
牢记研究能力是学习而得的技能,而不是天生的。
如果发现自己陷入严重的困境,一个多星期都毫无进展,尝试每天只工作
一小时。几天后,你可能就会发现一切又回到了正轨。
害怕失败会使得研究工作更加困难。如果发现自己无法完成工作,问问自
己是否是由于在逃避用实验检验自己的思路。发现自己最近几个月的工作完全是白费
的这种可能,会阻止你进一步开展工作。没有办法避免这种情况,只要认识到失败和
浪费也是研究过程的一部分。
看看Alan Lakien的书《How to Get Control of Your Time and Your Life
》,其中包含很多能使你进入充满创造力的状态的无价方法。
很多人发现自己的个人生活和做研究的能力是相互影响的。对于有些人来说,当生活
中一切都不如意时,工作是避难所。其他的人如果生活陷入混乱时就无法工作了。如
果你觉得自己确实悲痛得难以自拔,去看看心理医生。一份非正式的调查表明,我们
实验室大约有一半的学生在读研期间看过一次心理医生。
使得人工智能那么难的一个原因是没有被普遍接受的成功标准。在数学中,如果你证
明了某个定理,你就确实做了某些事情;如果该定理别人都证不出来,那么你的工作
是令人兴奋的。人工智能从相关的学科中借来了一些标准,还有自己的一些标准。不
同的实践者,子领域和学校会强调不同的标准。MIT比其他的学校更强调实现的质量
,但是实验室内部也存在很大的不同。这样的一个后果就是你不可能令所有的人都满
意。另外一个后果就是你无法确定自己是否取得了进展,这会让你觉得很不安全。对
你工作的评价从“我所见过最伟大的”到“空虚,多余,不明所以”不一而足,这都
是很正常的,根据别人的反馈修订自己的工作。
有几种方法有助于克服研究过程中的不安全感。被承认的感觉:包括毕业论文的接受
,发表论文等。更重要的是,与尽可能多的人交流你的思路,并听取反馈。首先,他
们能贡献有用的思路;其次,肯定有一些人会喜欢你的工作,这会使得你感觉不错。
由于评价进展的标准是如此不确定,如果不与其他的研究者充分的交流,很容易盲目
。特别当你感觉不太好时,应该就你的工作进行交流。此时,获得反馈和支持是非常
重要的。
很容易看不到自己的贡献,总是想:“如果我能做,肯定是微不足道的。我的所有思
想都太明显了”。实际上,当你回头看时,这些虽然对你是很明显的,对别人并不一
定是明显的。将你的工作解释给很多门外汉听,你会发现现在对你来说是平淡无奇的
东西原来那么难!写下来。
一项对诺贝尔获奖者实施的有关怀疑自己问题(在你研究的过程中,你一直觉得自己
是在做震惊世界的工作吗?)的调查表明:获奖者们一致回答他们经常怀疑自己工作
的价值和正确性,都经历过觉得自己的工作是无关的,太明显了或者是错误的时期。
任何科学过程的常见和重要的部分就是经常严格的评价,很多时候不能确定工作的价
值也是科学过程不可避免的一部分。
有些研究者发现与别人协作比单打独斗工作效果更好。虽然人工智能研究经常是相当
个人主义的,但是也有一部分人一起工作,创建系统,联合发表论文。我们实验室至
少已经有一个联合做毕业论文的先例。缺点是很难与协作者区分对论文的贡献。与实
验室之外的人合作,例如暑期工作时,问题就会少一些。
很多来到MIT AI实验室的学生都是以前所在学校最厉害的人。来到这里之后,会发现
很多更聪明的人。这对于很多一年级左右学生的自尊形成了打击。但周围都是聪明人
也有一个好处:在你把自己不怎么样的(但自己又没有觉察到)想法发表之前就被其
他人给打倒在地了。更现实的讲,现实世界中可没有这么多聪明人。因此到外面找一
份顾问的工作有利于保持心理平衡。首先,有人会为你的才能付费,这说明你确实有
些东西。其次,你发现他们确实太需要你的帮助了,工作良好带来了满足感。
反之,实验室的每一个学生都是从四百多个申请者挑选出来的,因此我们很多学生都
很自大。很容易认为只有我才能解决这个问题。这并没什么错,而且有助于推进领域
的发展。潜在的问题是你会发现所有的问题都比你想象的要复杂得多,研究花的时间
比原先计划的多得多,完全依靠自己还做不了。这些都使得我们中的很多人陷入了严
重的自信危机。你必须面对一个事实:你所做的只能对某个子领域的一小部分有所贡
献,你的论文也不可能解决一个重大的问题。这需要激烈的自我重新评价,充满了痛
苦,有时候需要一年左右的时间才能完成。但这一切都是值得的,不自视过高有助于
以一种游戏的精神去作研究。
人们能够忍受研究的痛苦至少有两个情感原因。一个是驱动,对问题的热情。你做该
研究是因为离开它就没法活了,很多伟大的工作都是这样做出来的。虽然这样也有油
尽灯枯的可能。另外一个原因是好的研究是充满乐趣的。在大部分时间里,研究是令
人痛苦的,但是如果问题恰好适合你,你可以玩一样的解决它,享受整个过程。二者
并非不可兼容的,但需要有一个权衡。
要想了解研究是怎么样的,遭到怀疑的时候应该如何安慰自己,读一些当代人的自传
会有些作用。Gregory Bateson's Advice to a Young Scientist, Freeman Dyson'
s Disturbing the Universe, Richard Feynmann's Surely You Are Joking, Mr.
Feynmann!, George Hardy's A Mathematician's Apology, 和Jim Watson's The Double
Helix.
当你完成了一个项目——例如论文——一两个月后,你可能会觉得这一切是那么不值
。这种后冲效果是由于长时间被压抑在该问题上,而且觉得本可以做得更好。总是这
样的,别太认真。等再过了一两年,回头看看,你会觉得:嘿,真棒!多棒的工作!
谈谈机器学习(Machine Learning)大家(转)
Machine Learning 大家(1):M. I. Jordan (http://www.cs.berkeley.edu/~jordan/)
在我的眼里,M Jordan无疑是武林中的泰山北斗。他师出MIT,现在在berkeley坐镇一方,在附近的两所名校(加stanford)中都可以说无出其右者,stanford的Daphne Koller虽然也声名遐迩,但是和Jordan比还是有一段距离。
Jordan身兼stat和cs两个系的教授,从他身上可以看出Stat和ML的融合。
Jordan 最先专注于mixtures of experts,并迅速奠定了自己的地位,我们哈尔滨工业大学的校友徐雷跟他做博后期间,也在这个方向上沾光不少。Jordan和他的弟子在很多方面作出了开创性的成果,如spectral clustering, Graphical model和nonparametric Bayesian。现在后两者在ML领域是非常炙手可热的两个方向,可以说很大程度上是Jordan的lab一手推动的。
更难能可贵的是,Jordan不仅自己武艺高强,并且揽钱有法,教育有方,手下门徒众多且很多人成了大器,隐然成为江湖大帮派。他的弟子中有10多人任教授,个人认为他现在的弟子中最出色的是stanford的Andrew Ng,不过由于资历原因,现在还是assistant professor,不过成为大教授指日可待;另外Tommi Jaakkola和David Blei也非常厉害,其中Tommi Jaakkola在mit任教而David Blei在cmu做博后,数次获得NIPS最佳论文奖,把SVM的最大间隔方法和Markov network的structure结构结合起来,赫赫有名。还有一个博后是来自于toronto的Yee Whye Teh,非常不错,有幸跟他打过几次交道,人非常nice。另外还有一个博后居然在做生物信息方面的东西,看来jordan在这方面也捞了钱。这方面他有一个中国学生Eric P. Xing(清华大学校友),现在在cmu做assistant professor。
总的说来,我觉得Jordan现在做的主要还是graphical model和Bayesian learning,他去年写了一本关于graphical model的书,今年由mit press出版,应该是这个领域里程碑式的著作。3月份曾经有人答应给我一本打印本看看,因为Jordan不让他传播电子版,但后来好像没放在心上(可见美国人也不是很守信的),人不熟我也不好意思问着要,可以说是一大遗憾. 另外发现一个有趣的现象就是Jordan对hierarchical情有独钟,相当多的文章都是关于hierarchical的,所以能 hierarchical大家赶快hierarchical,否则就让他给抢了。
用我朋友话说看jordan牛不牛,看他主页下面的Past students and postdocs就知道了。
Machine Learning大家(2):D. Koller (http://ai.stanford.edu/~koller/)
D. Koller是1999年美国青年科学家总统奖(PECASE)得主,IJCAI 2001 Computers and Thought Award(IJCAI计算机与思维奖,这是国际人工智能界35岁以下青年学者的最高奖)得主,2004 World Technology Award得主。
最先知道D koller是因为她得了一个大奖,2001年IJCAI计算机与思维奖。Koller因她在概率推理的理论和实践、机器学习、计算博弈论等领域的重要贡献,成为继Terry Winograd、David Marr、Tom Mitchell、Rodney Brooks等人之后的第18位获奖者。说起这个奖挺有意思的,IJCAI终身成就奖(IJCAI Award for Research Excellence),是国际人工智能界的最高荣誉; IJCAI计算机与思维奖是国际人工智能界35岁以下青年学者的最高荣誉。早期AI研究将推理置于至高无上的地位; 但是1991年牛人Rodney Brooks对推理全面否定,指出机器只能独立学习而得到了IJCAI计算机与思维奖; 但是koller却因提出了Probabilistic Relational Models 而证明机器可以推理论知而又得到了这个奖,可见世事无绝对,科学有轮回。
D koller的Probabilistic Relational Models在nips和icml等各种牛会上活跃了相当长的一段时间,并且至少在实验室里证明了它在信息搜索上的价值,这也导致了她的很多学生进入了 google。虽然进入google可能没有在牛校当faculty名声响亮,但要知道google的很多员工现在可都是百万富翁,在全美大肆买房买车的主。
Koller的研究主要都集中在 probabilistic graphical model,如Bayesian网络,但这玩意我没有接触过,我只看过几篇他们的markov network的文章,但看了也就看了,一点想法都没有,这滩水有点深,不是我这种非科班出身的能趟的,并且感觉难以应用到我现在这个领域中。
Koller 才从教10年,所以学生还没有涌现出太多的牛人,这也是她不能跟Jordan比拟的地方,并且由于在stanford的关系,很多学生直接去硅谷赚大钱去了,而没有在学术界开江湖大帮派的影响,但在stanford这可能太难以办到,因为金钱的诱惑实在太大了。不过Koller的一个学生我非常崇拜,叫 Ben Taskar,就是我在(1)中所提到的Jordan的博后,是好几个牛会的最佳论文奖,他把SVM的最大间隔方法和Markov network结合起来,可以说是对structure data处理的一种标准工具,也把最大间隔方法带入了一个新的热潮,近几年很多牛会都有这样的workshop。 我最开始上Ben Taskar的在stanford的个人网页时,正赶上他刚毕业,他的顶上有这么一句话:流言变成了现实,我终于毕业了!可见Koller是很变态的,把自己的学生关得这么郁闷,这恐怕也是大多数女faculty的通病吧,并且估计还非常的push!
Machine learning 大家(3):J. D. Lafferty
大家都知道NIPS和ICML向来都是由大大小小的山头所割据,而John Lafferty无疑是里面相当高的一座高山,这一点可从他的publication list里的NIPS和ICML数目得到明证。虽然江湖传说计算机重镇CMU现在在走向衰落,但这无碍Lafferty拥有越来越大的影响力,翻开AI兵器谱排名第一的journal of machine learning research的很多文章,我们都能发现author或者editor中赫然有Lafferty的名字。
Lafferty 给人留下的最大的印象似乎是他2001年的conditional random fields,这篇文章后来被疯狂引用,广泛地应用在语言和图像处理,并随之出现了很多的变体,如Kumar的discriminative random fields等。虽然大家都知道discriminative learning好,但很久没有找到好的discriminative方法去处理这些具有丰富的contextual inxxxxation的数据,直到Lafferty的出现。
而现在Lafferty做的东西好像很杂,semi-supervised learning, kernel learning,graphical models甚至manifold learning都有涉及,可能就是像武侠里一样只要学会了九阳神功,那么其它的武功就可以一窥而知其精髓了。这里面我最喜欢的是 semi-supervised learning,因为随着要处理的数据越来越多,进行全部label过于困难,而完全unsupervised的方法又让人不太放心,在这种情况下 semi-supervised learning就成了最好的。这没有一个比较清晰的认识,不过这也给了江湖后辈成名的可乘之机。到现在为止,我觉得cmu的 semi-supervised是做得最好的,以前是KAMAL NIGAM做了开创性的工作,而现在Lafferty和他的弟子作出了很多总结和创新。
Lafferty 的弟子好像不是很多,并且好像都不是很有名。不过今年毕业了一个中国人,Xiaojin Zhu(上海交通大学校友),就是做semi-supervised的那个人,现在在wisconsin-madison做assistant professor。他做了迄今为止最全面的Semi-supervised learning literature survey,大家可以从他的个人主页中找到。这人看着很憨厚,估计是很好的陶瓷对象。另外我在(1)中所说的Jordan的牛弟子D Blei今年也投奔Lafferty做博后,就足见Lafferty的牛了。
Lafferty 做NLP是很好的,著名的Link Grammar Parser还有很多别的应用。其中language model在IR中应用,这方面他的另一个中国学生ChengXiang Zhai(南京大学校友,2004年美国青年科学家总统奖(PECASE)得主),现在在uiuc做assistant professor。
Machine learning 大家(4):Peter L. Bartlett
鄙人浅薄之见,Jordan比起同在berkeley的Peter Bartlett还是要差一个层次。Bartlett主要的成就都是在learning theory方面,也就是ML最本质的东西。他的几篇开创性理论分析的论文,当然还有他的书Neural Network Learning: Theoretical Foundations。
UC Berkeley的统计系在强手如林的北美高校中一直是top3, 这就足以证明其肯定是群星荟萃,而其中,Peter L. Bartlett是相当亮的一颗星。关于他的研究,我想可以从他的一本书里得到答案:Neural Network Learning: Theoretical Foundations。也就是说,他主要做的是Theoretical Foundations。基础理论虽然没有一些直接可面向应用的算法那样引人注目,但对科学的发展实际上起着更大的作用。试想vapnik要不是在VC维的理论上辛苦了这么多年,怎么可能有SVM的问世。不过阳春白雪固是高雅,但大多数人只能听懂下里巴人,所以Bartlett的文章大多只能在做理论的那个圈子里产生影响,而不能为大多数人所广泛引用。
Bartlett 在最近两年做了大量的Large margin classifiers方面的工作,如其convergence rate和generalization bound等。并且很多是与jordan合作,足见两人的工作有很多相通之处。不过我发现Bartlett的大多数文章都是自己为第一作者,估计是在教育上存在问题吧,没带出特别牛的学生出来。
Bartlett 的个人主页的talk里有很多值得一看的slides,如Large Margin Classifiers: Convexity and Classification;Large Margin Methods for Structured Classification: Exponentiated Gradient Algorithms。大家有兴趣的话可以去下来看看。
Machine learning 大家(5): Michael Collins
Michael Collins (http://people.csail.mit.edu/mcollins/
自然语言处理(NLP)江湖的第一高人。出身Upenn,靠一身叫做Collins Parser的武功在江湖上展露头脚。当然除了资质好之外,其出身也帮了不少忙。早年一个叫做Mitchell P. Marcus的师傅传授了他一本葵花宝典-Penn Treebank。从此,Collins整日沉迷于此,终于练成盖世神功。
学成之后,Collins告别师傅开始闯荡江湖,投入了一个叫AT&T Labs Research的帮会,并有幸结识了Robert Schapire、Yoram Singer等众多高手。大家不要小瞧这个叫AT&T Labs Research的帮会,如果谁没有听过它的大名总该知道它的同父异母的兄弟Bell Labs吧。
言归正传,话说Collins在这里度过了3年快乐的时光。其间也奠定了其NLP江湖老大的地位。并且练就了Discriminative Reranking, Convolution Kernels,Discriminative Training Methods for Hidden Markov Models等多种绝技。然而,世事难料,怎奈由于帮会经营不善,这帮大牛又不会为帮会拼杀,终于被一脚踢开,大家如鸟兽散了。Schapire去了 Princeton, Singer 也回老家以色列了。Collins来到了MIT,成为了武林第一大帮的六袋长老,并教授一门叫做的Machine Learning Approaches for NLP
(http://www.ai.mit.edu/courses/6.891-nlp/的功夫。虽然这一地位与其功力极不相符,但是这并没有打消Collins的积极性,通过其刻苦打拼,终于得到了一个叫Sloan Research Fellow的头衔,并于今年7月,光荣的升任7袋Associate Professor。
在其下山短短7年时间内,Collins共获得了4次世界级武道大会冠军(EMNLP2002, 2004, UAI2004, 2005)。相信年轻的他,总有一天会一统丐帮,甚至整个江湖。
看过Collins和别人合作的一篇文章,用conditional random fields 做object recogntion。还这么年轻,admire to death!
Friday, May 15, 2009
Create GIF
用C#制作了一个GIF,有太多色块,颜色Index不好,但我不会调。于是就找到用matlab用制作GIF。
下面是上图的代码
Z = peaks;
surf(Z)
axis tight
set(gca,'nextplot','replacechildren','visible','off')
f = getframe;
[im,map] = rgb2ind(f.cdata,256,'nodither');
im(1,1,1,20) = 0;
for k = 1:20
surf(cos(2*pi*k/20)*Z,Z)
f = getframe;
im(:,:,1,k) = rgb2ind(f.cdata,map,'nodither');
end
imwrite(im,map,'DancingPeaks.gif','DelayTime',0,'LoopCount',inf) %g443800
若要从硬盘图像生成GIF,可用下面代码
originIm = imread('C:\0.jpg');
[im,map] = rgb2ind(originIm,256,'dither'); %'dither'失真教少
im(1,1,1,9) = 0;
for k = 1:9
originIm = imread(['C:\' int2str(k) '.jpg']);
im(:,:,1,k) = rgb2ind(originIm,map,'dither');
end
imwrite(im,map,'darling.gif','DelayTime',0.2,'LoopCount',inf) %g443800
BTW:blog中插入图片插入GIF居然不动,把GIF先上传到文件
自然界没有自然数,数学大厦需重构(转)
如果继续追溯下去,那么人类的数学知识(包括计数技能),应该或多或少继承于动物。有趣的是,鸟类孵卵时,不同的鸟对卵的数量认知存在着差异,天鹅似乎认不清卵的数量和样子,会把类似卵的东西当成自己的卵;对比之下,鸵鸟就要精明的多,它们好像知道卵的数量,而且能够分辨出是哪只鸵鸟下的蛋(鸵鸟有共同孵卵的习性)。
根据智因进化论,生命与生命智力同时起源,生命智力的承担者和实施者包括DNA(RNA)智力信息系统、细胞膜智力信息系统,以及神经元细胞智力信息系统(即细胞膜智力信息系统的特化),因此物种进化的实质是生命智力信息系统的自主生存技术的不断创新。从这个角度来说,对数量的计数,应该是生命自主生存技术的重要内容。事实上,生命对细胞分裂的计数,对时间(生命钟)的计数,对形体结构的计数,对环境变化的计数(太阳的生落、月亮的圆缺、四季的轮回),以及人类对数学的深入研究,都属于重要的生存技能或知识。
2009年3月22日我在天地生人学术讲座发表讲演《重构人类知识体系》时指出:“当前物理学的主要问题是把数学方程式当成物质本身。其实,数学只是人的大脑思维对自然的一种信息重构,其特征是简化的、模拟的、近似的。例如,自然数恰恰是非自然的,因为自然数的1,是大脑思维抽象出来的、绝对等值的、彼此可以分离的,但是它在自然界并不存在。事实是,这个人与那个人是不同的,这个电子与那个电子也是不同的,它们彼此是相关的,处在不同的引力场、电磁场,因此一个人不等于1,一百个人也不等于100。因此,重构物质学需要创建全新的数学(可暂定名为“模拟自然数学”),该数学可更接近真实的模拟自然的数量关系。”
无庸置疑,自然界确实没有自然数,有的只是一个个彼此存在或多或少差异的具体事物。由于长期以来数学都是建立在自然数的基础之上的,因此目前的数学大厦的根基很不可靠。从这个角度来说,许多数学领域的课题,例如哥德巴赫猜想,其实都不是自然界的问题,而是所谓的“自然数”的问题。事实上,近现代物理学的发展所遇到的最大问题之一就是数学公式存在着“奇点”,而对“奇点”通常都难以进行物理意义上的解释。
在这种情况下,数学界有必要从自然数的陶醉中清醒过来,重新构建一种更接近真实自然的“新自然数”亦即“模拟自然数学”。在模拟自然数学体系里,每一个“1”都有其特性,它与相邻的数字彼此具有某种类似“表面张力 ”的性质,牵一发而动全身。也就是说,在模拟自然数学体系里,每一个数字都可分别对应具体的事物。例如氧原子的16个电子,每个电子所处的位置不同而承担着不同的作用,这种差异用目前的自然数“16”是无法表现的,而用模拟自然数学的“2+8+6”则可以更准确的表现出来。显然,为了与普通自然数有所区别,模拟自然数学需要建立自己特有的符号体系和表达方式。
对79个民间故事记忆的天灾事件之解读(转)
我们远古祖先经历过的天地大冲撞在民间留下的不灭印记
食物、安全、繁衍是动物生存的三大要素。人类比动物多一个要素,这就是文明。文明起源的主要激发因素之一是天文事件。我们的祖先,有这方面的古老记忆。
自地球形成以来,数十亿年间,不断有天外星体(太阳系内的小行星和彗星,以及太阳系外的闯入者)撞击地球,这些事件被地球用地质形貌(陨石坑)和物理化学形态变化(撞击时产生的高温高压改变了地球上的物质形态)、生态环境变化(包括地球的运动状态)、生物种群变化(例如恐龙的灭绝)记录下来。自人类出现以来,数百万年间,仍有若干次天外星体撞击地球事件,它们对当时的人类产生过巨大的作用和影响。这种影响可能被人类的基因以某种形式记忆下来,但是却似乎没有被人类的大脑记忆下来,因为当时的人类大脑尚不能够把自己对这类事件的记忆传输给自己后代子孙的大脑之中。
自从人类熟练地掌握语言以来,数万年来仍然有天外星体撞击地球事件发生(本文指的是相当大的天外星体撞击地球并对地球大面积大范围造成生态环境大破坏事件,而不是普通的陨石或流星现象)。在这种事件发生时,人类的大脑已经能够用适当的词汇来描述这种事件,因而也就能够被大脑记忆,传播下来。如果当时的人类还建立起一种“传说制度”,即有专人负责记忆本部落发生或经历过的事件,并将这种记忆一代一代口耳相传下去(这种传说制度在有了文字以后逐渐被史官制度取代),那么在这个期间发生的天地大冲撞事件便有可能被人类记录下来,其形式包括远古神话传说、历史典籍记载,以及至今仍在广大民众之间广泛流传的民间故事。
笔者自20世纪70 年代初开始关注远古神话传说、历史典籍、民间故事中记录的史前时期(准确的说法应是先夏时期)的自然环境变迁信息,在80年代初开始陆续发表文章和出版专著探讨人类早期记忆的天地大冲撞等自然灾变事件,并指出女娲补天、后羿射日、夸父逐日、共工撞倒不周山、十日炙杀女丑、嫦娥奔月、颛顼绝地天通等远古神话传说均属于天外星体撞击地球事件在人类心中留下的不灭印记,而这种记忆至今仍在民间继续流传(这种记忆在世界各地各民族之中都有流传)。
Thursday, May 14, 2009
工具箱函数汇总

通过文本框加入文字
plot Confusion matrix
pcolor(SS);axis ij;axis square; colorbar;axis off; 注意SS的最有一行,最后一列未画

barweb
http://www.mathworks.com/matlabcentral/fileexchange/10803

Ⅰ.1 统计工具箱函数
表Ⅰ-1 概率密度函数
函数名 对应分布的概率密度函数
betapdf 贝塔分布的概率密度函数
binopdf 二项分布的概率密度函数
chi2pdf 卡方分布的概率密度函数
exppdf 指数分布的概率密度函数
fpdf f分布的概率密度函数
gampdf 伽玛分布的概率密度函数
geopdf 几何分布的概率密度函数
hygepdf 超几何分布的概率密度函数
normpdf 正态(高斯)分布的概率密度函数
lognpdf 对数正态分布的概率密度函数
nbinpdf 负二项分布的概率密度函数
ncfpdf 非中心f分布的概率密度函数
nctpdf 非中心t分布的概率密度函数
ncx2pdf 非中心卡方分布的概率密度函数
poisspdf 泊松分布的概率密度函数
raylpdf 雷利分布的概率密度函数
tpdf 学生氏t分布的概率密度函数
unidpdf 离散均匀分布的概率密度函数
unifpdf 连续均匀分布的概率密度函数
weibpdf 威布尔分布的概率密度函数
表Ⅰ-2 累加分布函数
函数名 对应分布的累加函数
betacdf 贝塔分布的累加函数
binocdf 二项分布的累加函数
chi2cdf 卡方分布的累加函数
expcdf 指数分布的累加函数
fcdf f分布的累加函数
gamcdf 伽玛分布的累加函数
geocdf 几何分布的累加函数
hygecdf 超几何分布的累加函数
logncdf 对数正态分布的累加函数
nbincdf 负二项分布的累加函数
ncfcdf 非中心f分布的累加函数
nctcdf 非中心t分布的累加函数
ncx2cdf 非中心卡方分布的累加函数
normcdf 正态(高斯)分布的累加函数
poisscdf 泊松分布的累加函数
raylcdf 雷利分布的累加函数
tcdf 学生氏t分布的累加函数
unidcdf 离散均匀分布的累加函数
unifcdf 连续均匀分布的累加函数
weibcdf 威布尔分布的累加函数
表Ⅰ-3 累加分布函数的逆函数
函数名 对应分布的累加分布函数逆函数
betainv 贝塔分布的累加分布函数逆函数
binoinv 二项分布的累加分布函数逆函数
chi2inv 卡方分布的累加分布函数逆函数
expinv 指数分布的累加分布函数逆函数
finv f分布的累加分布函数逆函数
gaminv 伽玛分布的累加分布函数逆函数
geoinv 几何分布的累加分布函数逆函数
hygeinv 超几何分布的累加分布函数逆函数
logninv 对数正态分布的累加分布函数逆函数
nbininv 负二项分布的累加分布函数逆函数
ncfinv 非中心f分布的累加分布函数逆函数
nctinv 非中心t分布的累加分布函数逆函数
ncx2inv 非中心卡方分布的累加分布函数逆函数
icdf
norminv 正态(高斯)分布的累加分布函数逆函数
poissinv 泊松分布的累加分布函数逆函数
raylinv 雷利分布的累加分布函数逆函数
tinv 学生氏t分布的累加分布函数逆函数
unidinv 离散均匀分布的累加分布函数逆函数
unifinv 连续均匀分布的累加分布函数逆函数
weibinv 威布尔分布的累加分布函数逆函数
表Ⅰ-4 随机数生成器函数
函 数 对应分布的随机数生成器
betarnd 贝塔分布的随机数生成器
binornd 二项分布的随机数生成器
chi2rnd 卡方分布的随机数生成器
exprnd 指数分布的随机数生成器
frnd f分布的随机数生成器
gamrnd 伽玛分布的随机数生成器
geornd 几何分布的随机数生成器
hygernd 超几何分布的随机数生成器
lognrnd 对数正态分布的随机数生成器
nbinrnd 负二项分布的随机数生成器
ncfrnd 非中心f分布的随机数生成器
nctrnd 非中心t分布的随机数生成器
ncx2rnd 非中心卡方分布的随机数生成器
normrnd 正态(高斯)分布的随机数生成器
poissrnd 泊松分布的随机数生成器
raylrnd 瑞利分布的随机数生成器
trnd 学生氏t分布的随机数生成器
unidrnd 离散均匀分布的随机数生成器
unifrnd 连续均匀分布的随机数生成器
weibrnd 威布尔分布的随机数生成器
表Ⅰ-5 分布函数的统计量函数
函数名 对应分布的统计量
betastat 贝塔分布函数的统计量
binostat 二项分布函数的统计量
chi2stat 卡方分布函数的统计量
expstat 指数分布函数的统计量
fstat f分布函数的统计量
gamstat 伽玛分布函数的统计量
geostat 几何分布函数的统计量
hygestat 超几何分布函数的统计量
lognstat 对数正态分布函数的统计量
nbinstat 负二项分布函数的统计量
ncfstat 非中心f分布函数的统计量
nctstat 非中心t分布函数的统计量
ncx2stat 非中心卡方分布函数的统计量
normstat 正态(高斯)分布函数的统计量
poisstat 泊松分布函数的统计量
续表
函数名 对应分布的统计量
raylstat 瑞利分布函数的统计量
tstat 学生氏t分布函数的统计量
unidstat 离散均匀分布函数的统计量
unifstat 连续均匀分布函数的统计量
weibstat 威布尔分布函数的统计量
表Ⅰ-6 参数估计函数
函 数 名 对应分布的参数估计
betafit 贝塔分布的参数估计
betalike 贝塔对数似然函数的参数估计
binofit 二项分布的参数估计
expfit 指数分布的参数估计
gamfit 伽玛分布的参数估计
gamlike 伽玛似然函数的参数估计
mle 极大似然估计的参数估计
normlike 正态对数似然函数的参数估计
normfit 正态分布的参数估计
poissfit 泊松分布的参数估计
unifit 均匀分布的参数估计
weibfit 威布尔分布的参数估计
weiblike 威布尔对数似然函数的参数估计
表Ⅰ-7 统计量描述函数
函数 描述
bootstrap 任何函数的自助统计量
corrcoef 相关系数
cov 协方差
crosstab 列联表
geomean 几何均值
grpstats 分组统计量
harmmean 调和均值
iqr 内四分极值
kurtosis 峰度
mad 中值绝对差
mean 均值
median 中值
moment 样本模量
nanmax 包含缺失值的样本的最大值
续表
函数 描述
Nanmean 包含缺失值的样本的均值
nanmedian 包含缺失值的样本的中值
nanmin 包含缺失值的样本的最小值
nanstd 包含缺失值的样本的标准差
nansum 包含缺失值的样本的和
prctile 百分位数
range 极值
skewness 偏度
std 标准差
tabulate 频数表
trimmean 截尾均值
var 方差
表Ⅰ-8 统计图形函数
函数 描述
boxplot 箱形图
cdfplot 指数累加分布函数图
errorbar 误差条图

fsurfht 函数的交互等值线图
gline 画线
gname 交互标注图中的点
gplotmatrix 散点图矩阵
gscatter 由第三个变量分组的两个变量的散点图
lsline 在散点图中添加最小二乘拟合线
normplot 正态概率图
pareto 帕累托图
qqplot Q-Q图
rcoplot 残差个案次序图
refcurve 参考多项式曲线
refline 参考线
surfht 数据网格的交互等值线图
weibplot 威布尔图
表Ⅰ-9 统计过程控制函数
函 数 描 述
capable 性能指标
capaplot 性能图
ewmaplot 指数加权移动平均图
续表
函数 描述
histfit 添加正态曲线的直方图

normspec 在指定的区间上绘正态密度
schart S图
xbarplot x条图
表Ⅰ-10 聚类分析函数
函 数 描 述
cluster 根据linkage函数的输出创建聚类
clusterdata 根据给定数据创建聚类
cophenet Cophenet相关系数
dendrogram 创建冰柱图
inconsistent 聚类树的不连续值
linkage 系统聚类信息
pdist 观测量之间的配对距离
squareform 距离平方矩阵
zscore Z分数
表Ⅰ-11 线性模型函数
函 数 描 述
anova1 单因子方差分析
anova2 双因子方差分析
anovan 多因子方差分析
aoctool 协方差分析交互工具
dummyvar 拟变量编码
friedman Friedman检验
glmfit 一般线性模型拟合
kruskalwallis Kruskalwallis检验
leverage 中心化杠杆值
lscov 已知协方差矩阵的最小二乘估计
manova1 单因素多元方差分析
manovacluster 多元聚类并用冰柱图表示
multcompare 多元比较
多项式评价及误差区间估计
polyfit 最小二乘多项式拟合
polyval 多项式函数的预测值
polyconf 残差个案次序图
regress 多元线性回归
regstats 回归统计量诊断
续表
函 数 描 述
Ridge 岭回归
rstool 多维响应面可视化
robustfit 稳健回归模型拟合
stepwise 逐步回归
x2fx 用于设计矩阵的因子设置矩阵
表Ⅰ-12 非线性回归函数
函 数 描 述
nlinfit 非线性最小二乘数据拟合(牛顿法)
nlintool 非线性模型拟合的交互式图形工具
nlparci 参数的置信区间
nlpredci 预测值的置信区间
nnls 非负最小二乘
表Ⅰ-13 试验设计函数
函 数 描 述
cordexch D-优化设计(列交换算法)
daugment 递增D-优化设计
dcovary 固定协方差的D-优化设计
ff2n 二水平完全析因设计
fracfact 二水平部分析因设计
fullfact 混合水平的完全析因设计
hadamard Hadamard矩阵(正交数组)
rowexch D-优化设计(行交换算法)
表Ⅰ-14 主成分分析函数
函 数 描 述
barttest Barttest检验
pcacov 源于协方差矩阵的主成分
pcares 源于主成分的方差
princomp 根据原始数据进行主成分分析
表Ⅰ-15 多元统计函数
函 数 描 述
classify 聚类分析
mahal 马氏距离
manova1 单因素多元方差分析
manovacluster 多元聚类分析
表Ⅰ-16 假设检验函数
函 数 描 述
ranksum 秩和检验
signrank 符号秩检验
signtest 符号检验
ttest 单样本t检验
ttest2 双样本t检验
ztest z检验
表Ⅰ-17 分布检验函数
函 数 描 述
jbtest 正态性的Jarque-Bera检验
kstest 单样本Kolmogorov-Smirnov检验
kstest2 双样本Kolmogorov-Smirnov检验
lillietest 正态性的Lilliefors检验
表Ⅰ-18 非参数函数
函 数 描 述
friedman Friedman检验
kruskalwallis Kruskalwallis检验
ranksum 秩和检验
signrank 符号秩检验
signtest 符号检验
表Ⅰ-19 文件输入输出函数
函 数 描 述
caseread 读取个案名
casewrite 写个案名到文件
tblread 以表格形式读数据
tblwrite 以表格形式写数据到文件
tdfread 从表格间隔形式的文件中读取文本或数值数据
表Ⅰ-20 演示函数
函 数 描 述
aoctool 协方差分析的交互式图形工具
disttool 探察概率分布函数的GUI工具
glmdemo 一般线性模型演示
randtool 随机数生成工具
polytool 多项式拟合工具
rsmdemo 响应拟合工具
robustdemo 稳健回归拟合工具
Ⅰ.2 优化工具箱函数
表Ⅰ-21 最小化函数表
函 数 描 述
fgoalattain 多目标达到问题
fminbnd 有边界的标量非线性最小化
fmincon 有约束的非线性最小化
fminimax 最大最小化
fminsearch, fminunc 无约束非线性最小化
fseminf 半无限问题
linprog 线性课题
quadprog 二次课题
表Ⅰ-22 方程求解函数表
函 数 描 述
\ 线性方程求解
fsolve 非线性方程求解
fzero 标量非线性方程求解
表Ⅰ-23 最小二乘函数表
函 数 描 述
\ 线性最小二乘
lsqlin 有约束线性最小二乘
lsqcurvefit 非线性曲线拟合
lsqnonlin 非线性最小二乘
lsqnonneg 非负线性最小二乘
表Ⅰ-24 实用函数表
函 数 描 述
optimset 设置参数
optimget 获取参数
表Ⅰ-25 大型方法的演示函数表
函 数 描 述
circustent 马戏团帐篷问题—二次课题
molecule 用无约束非线性最小化进行分子组成求解
optdeblur 用有边界线性最小二乘法进行图形处理
表Ⅰ-26 中型方法的演示函数表
函 数 描 述
bandemo 香蕉函数的最小化
dfildemo 过滤器设计的有限精度
goaldemo 目标达到举例
optdemo 演示过程菜单
tutdemo 教程演示
Ⅰ.3 样条工具箱函数
表Ⅰ-27 三次样条函数
函 数 描 述
csapi 插值生成三次样条函数
csape 生成给定约束条件下的三次样条函数
csaps 平滑生成三次样条函数
cscvn 生成一条内插参数的三次样条曲线
getcurve 动态生成三次样条曲线
表Ⅰ-28 分段多项式样条函数
函 数 描 述
pplst 显示关于生成分段多项式样条曲线的M文件
ppmak 生成分段多项式样条函数
ppual 计算在给定点处的分段多项式样条函数值
表Ⅰ-29 B样条函数
函 数 描 述
splst 显示生成B样条函数的M文件
spmak 生成B样条函数
spcrv 生成均匀划分的B样条函数
spapi 插值生成B样条函数
spap2 用最小二乘法拟合生成B样条函数
spaps 对生成的B样条曲线进行光滑处理
spcol 生成B样条函数的配置矩阵
表Ⅰ-30 有理样条函数
函 数 描 述
rpmak 生成有理样条函数
rsmak 生成有理样条函数
表Ⅰ-31 操作样条函数
函 数 描 述
fnval 计算在给定点处的样条函数值
fmbrk 返回样条函数的某一部分(如断点或系数等)
fncmb 对样条函数进行算术运算
fn2fm 把一种形式的样条函数转化成另一种形式的样条函数
fnder 求样条函数的微分(即求导数)
fndir 求样条函数的方向导数
fnint 求样条函数的积分
fnjmp 在间断点处求函数值
fnplt 画样条曲线图
fnrfn 在样条曲线中插入断点。
fntlr 生成tarylor系数或taylor多项式
表Ⅰ-32 样条曲线端点和节点处理函数
函 数 描 述
augknt 在已知节点数组中添加一个或多个节点
aveknt 求出节点数组元素的平均值
brk2knt 增加断点数组中元素的重次
knt2brk 从节点数组中求得节点及其重次
knt2mlt 从节点数组中求得节点及其重次
sorted 求出节点数组points的元素在节点数组meshpoints中属于第几个分量
aptknt 求出用于生成样条曲线的节点数组
表Ⅰ-33 样条曲线端点和节点处理函数
函 数 描 述
newknt 对分段多项式样条函数进行重分布
optknt 求出用于内插的最优节点数组
chbpnt 求出用于生成样条曲线的合适节点数组
表Ⅰ-34 解线性方程组的函数
函 数 描 述
slvblk 解对角占优的线性方程组
bkbrk 描述分块对角矩阵的详细情况
表Ⅰ-35 样条GUI函数
函 数 描 述
bspligui 在节点处生成B样条曲线
splinetool 用一系列方法生成各种样条曲线
Ⅰ.4 偏微分方程数值解工具箱函数
表Ⅰ-36 偏微分方程求解算法函数
函 数 描 述
adaptmesh 生成自适应网格并求解PDE问题
assema 组合面积的整体贡献
assemb 组合边界条件的贡献
assempde 组合刚度矩阵和PDE问题的右端项
hyperbolic 求解双曲线PDE问题
parabolic 求解抛物线型PDE问题
pdeeig 求解特征值PDE问题
pdenonlin 求解非线性PDE问题
poisolv 在矩形网格上对泊松方程进行快速求解
表Ⅰ-37 用户界面算法函数
函 数 描 述
pdecirc 绘圆
pdeellip 绘椭圆
pdemdlcv 将PDE工具箱1.0模型的M文件转换为PDE工具箱1.0.2版本的格式
pdepoly 绘多边形
pderect 绘矩形
pdetool PDE工具箱图形用户集成界面(GUI)
表Ⅰ-38 几何算法函数
函 数 描 述
csgchk 核对几何描述矩阵的有效性
csgdel 删除最小子域之间的界线
decsg 将建设性实体几何模型分解为最小子域
initmesh 创建初始三角形网格
jigglemesh 微调三角形网格的内部点
pdearcl 在参数表示和圆弧长度之间进行内插
poimesh 在矩形几何图形上生成规则网格
refinemesh 加密一个三角形网格
wbound 写边界条件指定文件
wgeom 写几何指定函数
表Ⅰ-39 绘图函数
函 数 描 述
pdecont 绘等值线图
pdegplot 绘制PDE几何图
pdemesh 绘PDE三角形网格
pdeplot 一般PDE工具箱绘图函数
pdesurf 绘三维表面图
表Ⅰ-40 实用函数
函 数 描 述
Dst idst 离散化sin转换
pdeadgsc 使用相对容限临界值选择三角形
pdeadworst 选择相对于最坏值的三角形
pdecgrad PDE解的变动
pdeent 与给定三角形集合相邻的三角形的指数
pdegrad PDE解的梯度
pdeintrp 从节点数据至三角形中点数据进行内插
pdejmps 对于自适应网格进行误差估计
pdeprtni 从三角形中点数据向节点数据进行内插
pdesde 子域集合中点的指数
pdesdp 子域集合边缘的指数
pdesdt 子域集合三角形的指数
pdesmech 计算结构力学张量函数
pdetrg 三角形几何数据
pdetriq 三角型质量度量
续表
函 数 描 述
Poiasma 用于泊松方程快速求解器的边界点矩阵
poicalc 矩形网格上泊松方程的快速求解器
poiindex 经过规范排序的矩形网格的点的指数
sptarn 求解广义稀疏特征值问题
tri2grid 从PDE三角形网格到矩形网格进行内插
表Ⅰ-41 自定义算法函数
函 数 描 述
pdebound 边界条件M文件
pdegeom 几何模型M文件
表Ⅰ-42 演示函数
函 数 描 述
pdedemo1 单位圆盘上泊松方程的精确解
pdedemo2 求解Helmholtz方程,研究反射波
pdedemo3 求解最小表面问题
pdedemo4 用子域分解求解PDE问题
pdedemo5 求抛物线型问题(热传导方程)
pdedemo6 求双曲线型PDE问题(波动方程)
pdedemo7 点源的自适应求解
pdedemo8 在矩形网格上求解泊松方程
Wednesday, May 13, 2009
Math Website
Laplace是法国的牛顿,而Legendre则是法国的欧拉,加上Lagrange成为三巨头,姓氏都以L开头
http://www.efunda.com/math
Tuesday, May 12, 2009
猪流感


应该尽量用温水或热水洗手,使用肥皂时,不仅要涂抹手指和手掌,还要涂抹指甲下部、手腕周围和指缝之间。双手互相揉搓足够长时间后再用清水洗净。除方法得当,手还需洗得勤快、频繁。不管有没有得流感,人们在饭前便后、打完喷嚏和咳嗽后都应洗手。
捂口鼻
流感病毒传播的另一条传播途径是“人们打喷嚏或咳嗽时从口鼻中飞溅出的唾液”。专家因此建议,人们打喷嚏时弯起手臂,用手臂挡住口鼻,防止唾液进入空气。佩戴手术专用口罩也能防止唾液四溅。不过,医学界对人们每天佩戴口罩是否可行尚无定论。但如果流感病毒蔓延至整个社会,那么“佩戴口罩无疑将起到良效 ”。
少摸脸
尽量少用手摸脸,因为脸上的眼、鼻、口能使病毒绕过皮肤这道天然保护屏障,直接侵入体内。虽然人们很难完全杜绝手脸接触,但也无需为此担忧,因为“只要坚持洗手,保持手部清洁,就算把手直接伸进嘴里,进入体内的流感病毒也会大大减少”。
避患者
考虑到流感特殊性,专家建议人们远离流感患者。流感病毒不会悬浮在空中,而是通过唾液等载体附着在物体上。任何流感病人接触过的物体,比如硬币、扶手、门把手等家庭和办公室物品都可能带有病毒,因此人们接触流感病人碰过的东西后就更容易被感染
水果食用
典型症状:
饭后吃水果已经成了中国人在膳食消费中的习惯。不论是在外就餐还是在家吃饭,酒饱饭足之后,热情的主人还会端出一大盘水果来请你吃;餐厅也喜欢免费上一大盘各色水果,作为欢宴的压轴节目。
水果的价值
在吃水果的时间上,很多人存在一个极大的误区——把水果当成饭后甜品。殊不知水果中的有机酸会与其他食物中的矿物质结合,影响身体消化吸收。水果中的果胶有吸收水分、增加胃肠内食物湿润程度的作用,因此饭后吃水果还会加重胃的负担。饭前吃才利于营养吸收。
卫生部副部长王陇德不久前在《人民日报》上发表署名文章《中国人需要一场膳食革命》,指出“目前中国人的膳食是否科学合理,这是一个值得深思的问题。” 在油脂消费过多、谷类食物消费偏低,导致城乡居民钙、铁、维生素A等微量元素摄入不足等问题之外,就拿我们每天都在吃的水果来讲,就存在很大的问题:一个是吃的量还远远不够,另一个是吃的顺序不对——饭后吃水果已经成了中国人在膳食消费中的习惯,却没想到它对健康具有一定危害。
要知道水果不是零食。在我们日常的膳食中,水果一般是作为“零食”和“甜品”的。很多人,特别是成年男性,普遍把水果当成“零食”,平时很少吃;还有人把水果当成“甜品”,认为它是造成肥胖和糖尿病的祸首,敬而远之。这样的观念影响了他们对水果健康价值的正确认识,减少了他们摄取水果的积极性,导致膳食中的水果摄入量不够。
水果不是可有可无的零食,相反,它对我们的健康和疾病预防具有很大的作用。因此,正确的做法就是“每天必吃”,而且要按照《中国居民膳食指南》中推荐的量去吃,这是保证健康的基本数量。
水果中含有非常丰富的营养成分,主要是碳水化合物、维生素和矿物质,还有有益于人体健康的生物活性物质,像胡萝卜素、生物类黄酮、花青素和前花青素、有机酸等。水果中的维生素主要是维生素C、胡萝卜素和一些B族维生素,这是人们膳食中维生素的主要来源。大量科学研究表明,经常吃水果可明显降低患肿瘤等慢性疾病的危险度;水果中含有许多抗氧化成分,可延缓细胞的衰老过程;大量的维生素可维持细胞的正常分化。
虽然水果与蔬菜在营养价值上有许多相似之处,但由于水果不需烹调,生食能避免营养素在烹调中的损失,最大发挥其营养作用。因此,水果的营养作用是其他食物所不能取代的。
吃水果的正确时间是饭前1个小时和饭后2个小时左右(除了柿子等不宜在饭前吃的水果除外)。饭前吃水果,有很多好处。首先,水果中许多成分均是水溶性的,饭前吃有利于身体必需营养素的吸收。其次,水果是低热量食物,其平均热量仅为同等重量面食的1/4,同等猪肉等肉食的约1/10。先吃低热量食物,比较容易把握一顿饭里总的热量摄入。第三,许多水果本身容易被氧化、腐败,先吃水果可缩短它在胃中的停留时间,降低其氧化、腐败程度,减少可能对身体造成的不利影响。
另外,我们也要注意,不要在晚上临睡觉前吃水果,不然充盈的胃肠会使你的睡眠受到影响。千万别以为吃水果是件小事,消除了这些误区,才能培养出真正对健康有益的生活习惯。
吃水果要注意时间
夏天是新鲜的水果大量上市的季节。水果含有人体必需的多种维生素、矿物质、碳水化合物、粗纤维、蛋白质及脂肪等营养素……吃水果不但可口,并能促进身体健康,进而达到防治疾病,养颜美容的效果,是最受现代人欢迎的天然健康食品。但吃水果的时间要正确,新鲜水果的最佳食用时段是上午。
同样是吃水果,选择上午吃水果,对人体最具功效,更能发挥营养价值,产生有利人体健康的物质。这是因为,人体经一夜的睡眠之后,肠胃的功能尚在激活中,消化功能不强,却又需补充足够的各式营养素,此时吃易于消化吸收的水果,可以应付上午工作或学习活动的营养所需。
在英国有这么一种说法,即“上午的水果是金,中午到下午3点是银,3点到6点是铜,6点之后的则是铅”。上午吃水果,可帮助消化吸收,有利通便,而且水果的酸甜滋味,可让人感觉神清气爽,有助一日的好心情。反之,入睡前吃水果,不利于消化,尤其是纤维含量高的水果,对肠胃功能差的人来说,更是有损健康,凉性的瓜类在入睡前更应节制食用。
还需要注意的是:在你空腹的时候,不能吃这些水果。
西红柿:含有大量的果胶、柿胶酚、可溶性收敛剂等成分,容易与胃酸发生化学作用,凝结成不易溶解的块状物。这些硬块可将胃的出口——幽门堵塞,使胃里的压力升高,造成胃扩张而使人感到胃胀痛。
柿子:含有柿胶酚、果胶、鞣酸和鞣红素等物质,具有很强的收敛作用。在胃空时遇到较强的胃酸,容易和胃酸结合凝成难以溶解的硬块。小硬块可以随粪便排泄,若结成大的硬块,就易引起“胃柿结石症”,中医称为“柿石症”。
香蕉:含有大量的镁元素,若空腹大量吃香蕉,会使血液中含镁量骤然升高,造成人体血液内镁与钙的比例失调,对心血管产生抑制作用,不利健康。
桔子:桔子含有大量糖分和有机酸,空腹时吃桔子,会刺激胃粘膜。
山楂:山楂的酸味具有行气消食作用,但若空腹食用,不仅耗气,而且会增加饥饿感并加重胃病。
甘蔗和鲜荔枝:空腹时吃甘蔗或鲜荔枝切勿过量,否则会因体内突然渗入过量高糖分而
发生“高渗性昏迷”。
提高免疫力喝酸奶
酸奶是牛奶upgrade版?
酸奶是用纯牛奶发酵制成的,它保留了鲜牛奶的很多营养,如钙、蛋白质、维生素A、维生素D,由于它还含有活的益生菌,可帮助消化吸收、促进肠道蠕动;抑制有害菌的入侵;另外它还有提高人体免疫、降低胆固醇、预防结肠癌等作用。大多数人都可以饮用酸奶,就连因“乳糖不耐受”而不能喝牛奶的人也可以尝试喝酸奶,因为酸奶中的乳糖大部分已被分解,比较适合消化道缺乏乳糖酶的人使用。此外,消化功能较差的人,如食欲不振、腹泻、便秘、慢性肠炎,长时间使用抗生素者更应常喝酸奶。
酸奶VS乳酸大不同
市面上有不少的乳酸饮品,它们与酸奶是完全不同的,营养成分如蛋白质、钙等含量仅是酸奶的1/3左右,而且含很少甚至没有益生菌。它们只能算是奶味饮料,它的功效是绝不能替代酸奶的。
那如何区分酸奶和乳酸饮品呢?购买前可要查看标签,酸奶蛋白质含量不应低于2.3%,而且是要低温保存,保存时间较短,而乳酸饮料蛋白仅1%左右,一般可在室温保存,保质期较长;口感方面,酸奶较醇厚,而乳酸饮料的奶味就淡多了。
怎么喝酸奶最好?
空腹时胃内酸性较大,乳酸菌等较难存活,餐后PH值会上升,更有利于乳酸菌的生长,所以饭后2个小时内喝酸奶更有利于健康。另外,酸奶不要加热来喝,否则活性乳酸菌会被灭活,保健功效受影响,不习惯喝冷饮的朋友可将其在室温下放一会儿再喝。
喝酸奶还可以在其中加入些新鲜的果肉粒,如苹果、香蕉或水蜜桃等,这样吃不仅口感好,而且增加了维生素C含量,营养更全面。
贴士:很多人都知道喝酸奶有益健康,但也并非人人皆宜。以下的这些人不宜喝酸奶:胃溃疡病、胃病急性发作的人,如果胃痛、腹胀等不适时不要饮用;对牛奶蛋白过敏者;1岁以下的婴儿;此外糖尿病人要遵从营养医师的建议量。
Thursday, May 7, 2009
Structure of a Paper
Consequently, a paper can be read at several levels:
–Some people just will refer to the title
–Others may read only the title and abstract
–Others will read the paper for a deeper understanding

