根据人类的学习与记忆过程来高效学习

正儿八经学习算法算起来也有快两个月了,之前作为计算机工科生虽然算法和数据结构是必修课,但实际上只是停留在“理解”的层面,相当肤浅,更遑论举一反三灵活运用了。因此,所谓“正儿八经”学习算法,意即开始对算法思想的本质进行归根究底的过程、对思维方法论进行归纳抽象的过程、对各种解题技巧进行一般化的过程、通过不断练习来让记忆内隐化的过程……

在“正儿八经”学习算法之前,我曾经有大半年时间都在用业余时间“正儿八经”地学习心理学和认知神经科学。所以在开始正经思考算法问题之前做的第一件事情就是仔细琢磨一直令我困惑的问题——那些看似抓不到摸不着的灵感到底是怎么来的。

现代心理学的一个最伟大的原则就是:所有的心理活动同时都是生理活动。——实际上,“心理活动”只不过是“大脑神经活动”的通俗称呼。虽然大脑的结构极度复杂,然而许多人不知道的是,现代神经科学对大脑功能从高层原则上的认识已经可以说是相当完备了,而对于记忆和学习这块更加是因为Eric Kandel的突破性工作变得相当清晰。可以说剩下的工作主要就是补充细节了。于是乎,借助于三本关于记忆和学习的书,一本专门论述解题心理学的书,wikipedia,波利亚的三卷解题书,以及自己在思考有限多的问题的过程中对自己的思维过程的反省和总结,我试着对解题的心理学做了一个思考和总结(《跟波利亚学解题》)。——这听起来很奇怪,一个本身只会初级算法的人又如何去思考涵盖所有问题解决的思维过程呢?还是引用波利亚著名的发明者悖论吧:有时候,一个一般性的问题反而要比它的一个特例更好解决。

然而,一般性的问题思考清楚了,清楚解题思维的本质了,并不代表我就万能了,就立即擅长解决所有算法问题了。解题不是光靠思维的,巧妇难为无米之炊。事实上,在《跟波利亚学解题》中总结的一个非常关键的要点就是:启发法固然可贵,然而知识的重要性是不可替代的。不存在通用的、万能的知识,要不然我们也不必到今天还在不断探索物质世界的规律了。此外,获得知识的过程——学习——本质上是个体力活(尽管是有一定方法的体力活),这个体力活大致分为两步:

  • 将外界(书本上的)知识转化为外显记忆。
  • 通过不断练习,将外显记忆转化为内隐记忆。

(关于什么是外显记忆什么是内隐记忆请参考wikipedia或者《跟波利亚学解题》)

而第二步又包含两个过程:

  • 将关于思维方法的知识转化为内隐记忆从而不知不觉就遵循。
  • 将关于事实知识(例如“定理”、“性质”)的提取线索们转化为内隐记忆从而看到XX就能想到YY。(参考《找寻逝去的自我》第二章“记忆的建构:对现在和过去的编码和提取”)

关于第一点有本不错的书——《学习的艺术》。

关于第二点有一个不错的例子,最初从李笑来老师的blog上读到的(《把时间当作朋友》):

我李敖看的书很少会忘掉,什么原因呢?方法好。什么方法?心狠手辣。剪刀美工刀全部下来,把书给分尸掉了,就是切开了。这一页我需要,这一段我需要,我把它分类分出来了。那背面有怎么办呢?把它影印出来,或者一开始就买两本书,把两本书都切开以后排出来,把要看的部分切开。结果一本书看完了,这本书也被分尸掉了。这就是我的看书方法。

那分类怎么分呢?我有很多自己做的夹子,夹子我写上字,把资料全部分类。一本书看完以后,全部进入我的夹子里面了。我可以分出几千个类来,分的很细。好比说按照图书馆的分类,哲学类,宗教类;宗教类再分佛教类、道教类、天主教类。我李敖分的更细了,天主教还可以分,神父算一类。神父还可以细分,神父同性恋就是一类,神父还俗又是一类。修女同性恋是一类,修女还俗这又是一类。

任何书里有关的内容都进入我的资料里来。进入干什么呢?当我要写小说的时候,需要这个资料,打开资料,只是写一下就好了。或者发生了一个什么事件,跟修女同性恋有关系,我要发表对新闻的感想,把新闻拿过来,我的资料打开,两个一合并,文章立刻就写出来了。

换句话说,我这本书看完之后,被我大卸八块,五马分尸。可是被我勾住了,这些资料我不凭记忆来记它,我凭用细部的很耐心的功夫把它勾紧,放在资料夹子里。我的记忆力只要记这些标题就好了。标题是按照我的习惯来分,基本上都翻译成英文字,用英文字母排出来,偶尔也有些中文的。

今天我把看家的本领告诉大家,李敖知道的那么多,博闻强记,记忆力那么好。我告诉大家,记忆力是可以训练的。记忆力一开始就是你不要偷懒,不要说躺在那里看书,看完了这本书还是干干净净的,整整齐齐的,这不对。看完了这本书,这本书就大卸八块,书进了资料夹,才算看完这本书。

今天我为大家特别亮一手,把如何看书的招告诉大家。不要以为这本书看完了,干干净净的新的算看过。那个不算看过,因为当时是看过,可是浪费了。你不能够有系统的扣住这些资料,跟资料挂钩。可是找我这个方法,可以把你看过的书,都把它的精华抓出来,扣在一起。这就是我的这种土法炼钢的治学方法。

恰恰运用了记忆最深刻的原理。

我们的大脑本质上是一个计算器,其物质基础是神经网络;而不断的练习则是对该网络节点间联系强度(神经细胞间的突触联系强度)的训练。——可惜的是像爱因斯坦大脑内的经过完美训练的神经网络参数不能直接导入到我大脑中,也许将来可以做到,但目前只有笨办法,实在是件郁闷的事。

所以,拿起书吧,训练你的神经网络,路漫漫其修远兮..

参考

我在豆瓣上列了两个豆列

  1. 大半年来看过的心理学和神经科学(初步)的书都列在这个豆列里了。
  2. 其中涉及到思维方法论的书单独列在这个豆列里了。
  3. 3. 如果你觉得里面列的书太多了不知从何下手,可以优先考虑《跟波利亚学解题》中列出的书。
时间: 2024-10-27 01:49:26

根据人类的学习与记忆过程来高效学习的相关文章

如何保持长时间高效学习

都说现在人越来也浮躁,我是真的很浮躁.我都不能完整的看个电影,剧情稍微不精彩了我就会不停的按快进,不知道有没有跟我一样的.看电影都这样,更别提学习了,每次打开电脑要学习,一会看看微信,一会刷刷微博.查资料的时候,看到娱乐连接就会忍不住的点进去,一晃俩小时过去了,学习连个头都没开. 哎呀,怎么办啊~~~~ 我尝试了好多办法想解决这个问题,比如最常用的番茄工作法:学习25分钟休息五分钟,半小时一个周期.25分钟刚进入点状态,休息五分钟又把我从状态里拉出来了,最后就是学习25分钟休息一下午. 怎么才能

生理学学习的六种学习和记忆方法

一.深刻理解概念 生理学是一门理论性较强的机能性学科,其基本概念多,要使学生掌握基本理论,首先要讲透基本概念.比如:在讲到物质的跨膜转运方式时,关于概念单纯扩散和易化扩散的概念.单纯扩散:脂溶性的小分子物质顺浓度或顺电位梯度转运的一种方式;易化扩散:非脂溶性或脂溶性很小的小分子在膜特殊蛋白质帮助下顺浓度或电位梯度扩散的一种方式;从概念的信息中,我们知道单纯扩散转运的是脂溶性的小分子,而细胞膜是一种磷脂双分子层结构,属于脂质,因此在转运的时候不需要蛋白质帮助可以直接扩散;易化扩散转运的是非脂溶性或

Android学习--apk打包过程

1. 使用aapt工具,给所有的res目录下的资源文件生成对应的id,id会被放进R.java文件中 2. JavaC编译器,将所有Java文件转换为Class文件,其中,内部类会分别生成.class文件,命名格式为MainActivity$内部类.class R$String.class等 3. 将class中的公共常量提取出来,生成dex文件 4. aapt将生成的menifest+dex+resource+程序签名打包成zip格式,其实就是apk格式.说明,META-INF是程序签名信息

学习编程的过程中可能会走哪些弯路?

整理自知乎问题:学习编程的过程中可能会走哪些弯路,有哪些经验可以参考? @Crossin 回头看学生时代,最大的弯路就是怕走弯路.想不走弯路. 纠结该学什么语言.该研究哪个方向.该做项目还是啃算法,生怕一失足成千古恨,踏上一条不归路. 很久之后才发现,与其纠结选择,不如找个点坚持下去.好比爬山,你在山脚下纠结该从哪条路上去,而实际上,每一条都能通往山顶,每一条都不会是笔直平坦的.你怕错过另一条路的风景踟蹰不前,却不知道只要登上山顶就可以一览众山小. 如果一定要说个经验教诲,那就是尽可能多地写代码

UBUNTU LINUX学习计划和过程记录

昨天花重金A Practical Guide to Ubuntu Linux(FOURTH EDITION),目的是为了驱使自己学习LINUX系统. 昨晚在VMware中安装了Ubuntu 14.04. 总之,UBUNTU LINUX学习之旅开始了. 学习前期,计划每天花一个小时(最好固定时间,暂定晚上22:00-23:00为Ubuntu Hour吧 ^^),阅读书籍,再结合实际操作,逐步入门.到后期有具体学习目标的时候再调整计划. 在本帖中记录每天的学习内容.

再谈如何学习Linux,一线Linux专家学习经验谈

记得最早接触linux是在2000年,那个时候,还在上大学,一个同学从荷兰回来,带回来了一个Linux的拷贝版,记得版本还是Redhat6.2.曾经为安装一个系统让我们忘记疲劳,挑灯夜战,不亦乐乎.那时Linux的学习资料还很少,能够学习的书籍也不多,网上Linux技术社区也很少,就凭着Redhat6.2自带的几页使用说明开始了学习linux的生涯. 转眼间,10几年过去了,我也与Linux相伴了10多年,10年间,随着虚拟化.云计算时代的来临,Linux迅猛发展,在服务器领域已经占据半壁江山,

如何高效学习数据分析

作者:接地气的陈老师 ---------------------------------------------------------------------------- 你看到一篇文章的标题,起的如此诱人 :<干货!50G求职资料全集><厉害!从50个顶尖图库找到的素材><深度好文!微信之父揭秘成功背后的逻辑><运营人必备的7大技能><数据科学家必须收藏的100本书单>.是不是眼前一亮.再点进去,发现居然全文还有好几万字,连划数下都看不到底

阅读与感悟-如何高效学习

第一部分-整体性学习策略 整体性学习主要基于三个观点: ①结构 ②模型 ③高速公路 ①结构: 结构就是与所掌握的知识相关的方方面面.例如对于Java程序员来说,掌握Java语言意味着需要掌握与之相关的基本语法(变量.类.循环.判断...).IO流.swing.继承和多态.设计模式.多线程.网络编程... 而工作经验也可以将其理解为结构,例如在某一标准版软件上做二次开发,随着开发次数的增多,软件开发人员会对标准版代码包结构.数据库设计.具体代码越来越熟悉,当有问题出现时通过分析就能大概知道是如何产

《如何高效学习》读书笔记(一)——整体性学习策略

比喻的重要性华罗庚在讲“统筹”方法时,用了“怎样泡茶最省时间”的比喻.比喻的作用常常被我们忽视,仅仅把它当作文学中的修辞手段,是文学家用来增强表达效果的点缀和修饰.其实,比喻是我们必须掌握的站在外面看知识的本领.比喻不再局限于文学领域,它是我们的思维方式,更是我们的认知工具.莱考夫把隐喻定义为“以一种事物认知另一种事物”, 而这恰恰就是学习的本质! --------------------------------------------------------------------------