Blog

数学之美番外篇:平凡而又神奇的贝叶斯方法

概率论只不过是把常识用数学公式表达了出来。 ——拉普拉斯 记得读本科的时候,最喜欢到城里的计算机书店里面去闲逛,一逛就是好几个小时;有一次,在书店看到一本书,名叫贝叶斯方法。当时数学系的课程还没有学到概率统计。我心想,一个方法能够专门写出一本书来,肯定很牛逼。后来,我发现当初的那个朴素归纳推理成立了——这果然是个牛逼的方法。 ——题记 这是一篇关于贝叶斯方法的科普文,我会尽量少用公式,多用平白的语言叙述,多举实际例子。更严格的公式和计算我会在相应的地方注明参考资料。贝叶斯方法被证明是非常 general 且强大的推理框架,文中你会看到很多有趣的应用。

一直以来伴随我的一些学习习惯(三):阅读方法

2. 根据主题来查阅资料,而不是根据资料来查阅主题。以前读书的时候是一本一本的读,眼里看到的是一本一本的书,现在则是一章、甚至一节一节的读,眼中看到的不是一本一本的书,而是一堆一堆的章节,一个一个的知识主题,按照主题来阅读,你会发现读的时候不再是老老实实地一本书看完看另一本,而是非常频繁地从一本书跳到另一本书,从一处资料跳到另一处资料,从而来获得多个不同的人对同一个主题是如何讲解的。比如最近我发现在看蒙特卡罗算法时就查了十来处资料,其中有三四篇 paper 和六七本书;这是因为即便是经典的书,你也不能指望它对其中每一个主题的介绍都是尽善尽美的,有些书对某个主题(知识点)的介绍比较到位,有些书则对另一些知识点介绍得比较到位。而有时候一篇紧凑的 paper 比一本书上讲得还要好。我硬盘里面的书按主题分类,每个主题下面都有一堆书,当我需要学习某个主题的知识时(譬如贝叶斯学习或者神经网络),我会把里面涉及这个主题的书都翻开来,索引到相关章节,然后挑讲得好的看。那么,如何判断一个资料是好资料还是坏资料呢?

机器学习与人工智能学习资源导引

我经常在 TopLanguage 讨论组上推荐一些书籍,也经常问里面的牛人们搜罗一些有关的资料,人工智能、机器学习、自然语言处理、知识发现(特别地,数据挖掘)、信息检索 这些无疑是 CS 领域最好玩的分支了(也是互相紧密联系的),这里将最近有关机器学习和人工智能相关的一些学习资源归一个类

一直以来伴随我的一些学习习惯(二):时间管理

1. 退订RSS:RSS Reader是个时间黑洞。就算mark all as read,在有大量feed的情况下,也会无形中消耗掉大量的时间。我们一旦订阅了某个RSS之后就会倾向于不肯退订它,心想也许某天有个重要的信息会从那里得到。这其实是源于人不肯"关上一扇门(即便门内的收益概率极小)"的心理(参见《Predictably Irrational》);而实际上,关上一扇门,有时能够增大收益期望。仔细观察一下reader里面的feeds,有哪些是真正有价值的,把那些没价值的或者价值很小乃至于不值得每天被它骚扰的,全都退订掉。不要舍不得,那些一个星期都没出现让你眼睛一亮的内容的feed,很大的可能是永远也不会出现。就算可能,也别担心你会漏掉什么宝贵信息,真正宝贵的信息,在其他来源你也会接触到的。一开始我的Greader里面每天都有大量的新内容,每天都是1000+,但一段时间之后发现除了信息焦虑,实际上有价值的内容不多,现在,我很高兴地发现自己摆脱了这种状况,我持续不断地退订feeds,留下的内容越来越少,也越来越精,带来的阅读焦虑也越来越少。(顺便推荐一个东西,aideRSS,初步使用,感觉对订阅reddit这样的每天更新大量内容的feed很有用)。

一直以来伴随我的一些学习习惯(一):学习与思考

1. Google&Wiki(遇到问题做的第一件事情,也是学习某个东西做功课(homework)最先用到的东西。 2. 看书挑剔,只看经典。如何选择经典,可以到网上做做功课,看看评价,综合分析一下。 3. 做读书笔记。一是将自己阅读的时候的思考(包括闪念)总结下来,二是将书中的好例子摘抄下来。(这个习惯是一年前才养成的,发现受益极大。)有了google note,笔记可以加上tag,非常便于回顾,加深理解。我觉得,人与人学习的差距不在资质上,而在花在思考的时间和思考的深度上(后两者常常也是相关的)。 4. 提到思考,我有一个小习惯。利用走路和吃饭的时候思考,还有睡觉前必然要弄一个问题放在脑子里面,在思考中迷糊入睡。发现这样一来往往在不知不觉中多出来大量的思考时间。

知其所以然(以算法学习为例)

其实下文的绝大部分内容对所有学习都是同理的。只不过最近在正儿巴经地学算法,而后者又不是好啃的骨头,所以平时思考总结得就自然要比学其它东西要多一些。 问题:目前几乎所有的算法书的讲解方式都是欧几里德式的、瀑布式的、自上而下的、每一个推导步骤都是精准制导直接面向目标的。由因到果,定义、引理、定理、证明一样不少,井井有条一丝不乱毫无赘肉。而实际上,这完全把人类大脑创造发明的步骤给反过来了。看起来是阳关大道,实际上车马不通。

数学之美番外篇:快排为什么那样快

知道这个理论是在TopLanguage上的一次讨论,先是g9转了David MacKay的一篇文章,然后引发了牛人们的一场关于信息论的讨论。Anyway,正如g9很久以前在Blog里面所说的: 有时无知是福。俺看到一点新鲜的科普也能觉得造化神奇。刚才读Gerald Jay Sussman(SICP作者)的文章,Building Robust Systems – an essay,竟然心如小鹿乱撞,手心湿润,仿佛第一次握住初恋情人温柔的手。 而看到MacKay的这篇文章我也有这种感觉——以前模糊的东西忽然有了深刻的解释,一切顿时变得明白无比。原来看问题的角度或层面能够带来这么大的变化。再一次印证了越是深刻的原理往往越是简单和强大。所以说,土鳖也有土鳖的幸福:P 这篇文章相当于MacKay原文的白话文版。MacKay在原文中用到了信息论的知识,后者在我看来并不是必须的,尽管计算的时候方便,但与本质无关。所以我用大白话解释了一通。

学习与记忆

我李敖看的书很少会忘掉,什么原因呢?方法好。什么方法?心狠手辣。剪刀美工刀全部下来,把书给分尸掉了,就是切开了。这一页我需要,这一段我需要,我把它分类分出来了。那背面有怎么办呢?把它影印出来,或者一开始就买两本书,把两本书都切开以后排出来,把要看的部分切开。结果一本书看完了,这本书也被分尸掉了。这就是我的看书方法。 那分类怎么分呢?我有很多自己做的夹子,夹子我写上字,把资料全部分类。一本书看完以后,全部进入我的夹子里面了。我可以分出几千个类来,分的很细。好比说按照图书馆的分类,哲学类,宗教类;宗教类再分佛教类、道教类、天主教类。我李敖分的更细了,天主教还可以分,神父算一类。神父还可以细分,神父同性恋就是一类,神父还俗又是一类。修女同性恋是一类,修女还俗这又是一类。 任何书里有关的内容都进入我的资料里来。进入干什么呢?当我要写小说的时候,需要这个资料,打开资料,只是写一下就好了。或者发生了一个什么事件,跟修女同性恋有关系,我要发表对新闻的感想,把新闻拿过来,我的资料打开,两个一合并,文章立刻就写出来了。 换句话说,我这本书看完之后,被我大卸八块,五马分尸。可是被我勾住了,这些资料我不凭记忆来记它,我凭用细部的很耐心的功夫把它勾紧,放在资料夹子里。我的记忆力只要记这些标题就好了。标题是按照我的习惯来分,基本上都翻译成英文字,用英文字母排出来,偶尔也有些中文的。 今天我把看家的本领告诉大家,李敖知道的那么多,博闻强记,记忆力那么好。我告诉大家,记忆力是可以训练的。记忆力一开始就是你不要偷懒,不要说躺在那里看书,看完了这本书还是干干净净的,整整齐齐的,这不对。看完了这本书,这本书就大卸八块,书进了资料夹,才算看完这本书。 今天我为大家特别亮一手,把如何看书的招告诉大家。不要以为这本书看完了,干干净净的新的算看过。那个不算看过,因为当时是看过,可是浪费了。你不能够有系统的扣住这些资料,跟资料挂钩。可是找我这个方法,可以把你看过的书,都把它的精华抓出来,扣在一起。这就是我的这种土法炼钢的治学方法。

跟波利亚学解题(rev#3)

波利亚在他著名的《How To Solve It》中讲了这么一个有趣的心理学实验: 用一个缺了一条边的正方形围栏围住一只动物(狗、黑猩猩、母鸡、人类婴儿),在围栏的另一侧放上一个被试很想要的物体(对动物来说是食物,对人类婴儿来说是有趣的玩具),然后观察他们各自的行为。发现,狗在扒着围栏吠了几声发现无法通过的时候,不久便学会了从围栏的缺口的那一边绕出去,母鸡则朝着围栏一个劲的扑腾,不会想到绕弯子。此外,人类婴儿很快就学会了绕过障碍;而黑猩猩也学得很快(黑猩猩是和人类最近的灵长类亲属)。这个实验有力的证明了,动物解决问题的能力是进化而来的、天生的、硬编码在大脑的神经元网络里面的。

阅读与思考

阅读的方法 读的时候有轻有重,有的地方快,有的地方慢,具体哪些地方快哪些慢我一时也整理不出来什么法则(可以参考《如何阅读一本书》)。 举一个例子:以前我读书是流水帐式的,现在我一定会先把目录很仔细的看一看,目录往往包含了最高层的知识结构,然后我会挑选看上去最有趣的部分阅读,如果发现需要用到前面的内容就跳到前面补充一下。一般来说,最有趣的部分读完之后,其余部分也就不那么紧急了,大可以轻松地看一看。 此外边读边思考的习惯有助于加深印象;看到觉得重要的地方,要随手做笔记,就算以后不看自己的笔记,单单是记下来就能极大加深思考。 有的书整个就可以略读,因为其中有意义的地方并不很多(但又不能绝对不读,因为毕竟还有一些重要的东西),譬如《专注力》我花了不到两个小时读完了,主要是看里面的一些例子,作者的解释我发现不需要细看,有了例子自己就可以分析,没有作者的解释先入为主反而可以分析得更彻底些。另一方面,《社会性动物》就花了好几天,因为里面的思辨密度很高,值得仔细分析甚至参与作者的思考。