十天内掌握线性代数:惊人的超速学习实验

转载自:http://www.read.org.cn/html/2070-zhuan-zai-shi-tian-nei-zhang-wo-xian-xing-dai-shu-jing-ren-de-chao-su-xue-xi-shi-yan.html

刚在译言看到一篇非常精彩的文章,特意转载过来让更多的人分享。

全文目录

1 篇首语:挑战MIT计算机课程

2 看我怎么驾驭MIT计算机科学的课程(斯考特·杨)

2.1 为什么临时抱佛脚没用?

2.2 你能加速理解吗?

3 钻研:你学得更快

3.1 第一阶段:知识面覆盖

3.2 第二阶段:练习

3.3 第三阶段:自省

4 费曼技巧

4.1 对付你完全摸不着头脑的概念

4.2 对付各种过程

4.3 对付各种公式

4.4 对付需要记忆的内容

5 形成更深刻的直觉

5.1 类比、可视化、简化

5.2 学得更快的策略

5.3 钻研吧,即便你不是学生


1 篇首语:挑战MIT计算机课程

最近,我的朋友斯考特·杨(Scott Young)成就了一个惊人的壮举:他在一年之内,完成了传说中的MIT计算机科学课程表的全部33门课,从线性代数到计算理论。最重要的是,他是自学的,观看在线教程讲座,并用实际的考试作自我评估。(到斯考特的FAQ页面,看看他如何完成这个挑战)

他证明了,读完一门课程,大概只需要1.5个星期。我坚信,能快速掌握复杂信息,对成就卓越事业至关重要(有空看看我的新书)。因此,我很自然地问起斯考特,让他给我们分享他的学习奥秘。所幸他答应了。接下来是一份斯考特的详细解说稿,深入剖析他的学习技巧(包括具体例子),展示他如何拿下这MIT挑战。以下时间交给斯考特……

2 看我怎么驾驭MIT计算机科学的课程(斯考特·杨)

我老想着学快一点,再快一点,并为此兴奋不已。掌握那些重要的学问吧,专业知识与娴熟技艺将是你的职业资本,帮你赚取金钱与享受生活。如果过得好是你的目标,学问能引你到向往之地(书中自有黄金屋,书中自有颜如玉)。

尽管学得更快有很多好处,但大多数人并不愿意学习“如何学习”。大概是因为我们不肯相信有这种好事,在我们看来,学习的速度只取决于好基因与天赋。确实总有些人身怀天赋本钱,但研究表明你的学习方法也很重要。更深层次的知识加工,与时而反复的温故知新,在某些情况下会加倍你的学习效率。是的,“刻意练习”方面的研究表明,没有正确的方法,学习将永远停滞。

今天,我想分享一下学习策略,看看我如何在12个月内完成4年MIT计算机科学的课程。这套策略历经33门课的锤炼,试图弄清楚学得更快的窍门,哪些方法有用,哪些没用。

2.1 为什么临时抱佛脚没用?

很多学生可能嘲笑我,妄想只花1年的时间学会4年的课程。毕竟,我总可以临时抱佛脚,什么都不懂还能顺利通过考试,不是吗? 很可惜,这个策略在MIT行不通。首先,MIT的考试苛求解决问题的技巧,还经常出些没见过的题型。其次,MIT的课程讲究循序渐进,就算你能死记硬背侥 幸通过一次考试,同系列课程的第七课可能就跟不上了。除了死记硬背,我不得不另辟蹊径,加速理解过程。

2.2 你能加速理解吗?

“啊哈!”当我们终于想通了,都曾经这样恍然大悟地欢呼过。问题是,大多数人都没有系统地思考。经典的学生求学之路,就是听讲座,读书;如果还不 懂,只好枯燥地做大量习题(题海)或重看笔记。没有系统的方法,想更快地理解似乎是天方夜谭。毕竟,顿悟的心理机制,还全然不知。

更糟的是,理解本身,很难称得上是一种开关。它像洋葱的层层表皮,从最肤浅的领会到深层次的理解,逐层巩固对科学革命的认知。给这样的洋葱剥皮,则是常人知之甚少、易被忽略的理解过程。

加速学习的第一步,就是揭秘这个过程。如何洞悉问题,加深你的理解,取决于两个因素: 1、建立知识联系; 2、自我调试排错。知识联系很重要,因为它们是了解一个想法的接入点。我曾纠结于傅里叶变换,直至我意识到它将压强转化为音高、或将辐射转化为颜色。这些 见解,常在你懂的和你不懂的之间建立联系。调试排错也同样重要,因为你常常犯错,这些错误究根到底,还是知识残缺,胸无成竹。贫瘠的理解,恰似一个错漏百 出的软件程序。如果你能高效地自我调试,必将大大提速学习进程。建立准确的知识联系与调试排错,就足够形成了深刻的问题见解。而机械化技能与死记硬背,通 常也只在你对问题的本质有了肯定的直觉以后,才有所裨益。

3 钻研(The Drilldown Method):你学得更快

经 年累月,我完善了一个方法,可以加速逐层增进理解的过程。这个方法至今已被我用于各科目的课题,包括数学、生物学、物理学、经济学与工程学。只需些许修 改,它对掌握实用技能也效果很好,比如编程、设计或语言。这个方法的基本结构是:知识面、练习、自省。我将解释每个阶段,让你了解如何尽可能有效率地执行 它们,同时给出详细的例子,展示我是怎么应用在实际课程的。

3.1 第一阶段:知识面覆盖

你不可能组织一场进攻,如果你连一张地形图都没有。因此,深入研习的第一步,就是对你需要学习的内容有个大致印象。若在课堂上,这意味着你要看讲义或读课本;若是自学,你可能要多读几本同主题的书,相互考证。

学生们常犯的一个错误,就是认为这个阶段是最重要的。从很多方面来讲,这个阶段却是效率最低的,因为你每单位时间的投入只换来了最少量的知识回报。我常常加速完成这个阶段,很有好处,这样,我就可以投入更多时间到后面两个阶段。

如果你在看课程讲座的视频,最好是调到1.5x或2x倍速快进。这很容易做到,只要你下载好视频,然后使用播放器(如VLC) 的“调速”功能。我用这法子两天内看完了一学期的课程视频。如果你在读一本书,我建议你不要花时间去高亮文本。这样只会让你的知识理解停留在低层次,而从 长远来看,也使学习效率低下。更好的方法是,阅读时只偶尔做做(稀疏的)笔记,或在读过每个主要章节后写一段落的总结。

这里有个例子,是我上机器视觉这门课时的笔记。

3.2 第二阶段:练习

做练习题,能极大地促进你的知识理解。但是,如果你不小心,可能会落入两个效率陷阱: 1、没有获得即时的反馈:研究表明,如果你想更好地学习,你需要即时的反馈。因此,做题时最好是答案在手(天下我有),每做完一题就对答案,自我审查。没 有反馈或反馈迟来的练习,只会严重牵制学习效率;2、题海战术:正如有人以为学习是始于教室终于教室,一些学生也认为大多数的知识理解产自练习题。是的, 你总能通过题海战术最终搭起知识框架,但过程缓慢、效率低下。

练习题,应该能凸显你需要建立更好直觉的知识领域。一些技巧,比如我将会谈到的费曼技巧(the Feynman technique),对此则相当有效。对于非技术类学科,它更多的是要求你掌握概念而不是解决问题,所以,你常常只需要完成最少量的习题。对这些科目, 你最好花更多的时间在第三阶段,形成学科的洞察力。

3.3 第三阶段:自省

知识面覆盖,与做练习题,是为了让你知道你还有什么不懂。这并不像听上去那么容易(知之为知之,不知为不知,难矣)。你以为你都懂了,其实不是,所以老犯错;或者,你对某综合性学科心里没底,但又看不确切还有哪里不懂。

接下来的技巧,我称之为“费曼技巧”,将帮助你查漏补缺,在求知路上走得更远。当你能准确识别出你不懂的知识点时,这个技巧助你填补知识的缺口,尤 其是那些最难以填补的巨大缺口。这个技巧还能两用。即使你真的理解了某个想法,它也能让你关联更多的想法,于是,你可以继续钻研,深化理解。

4 费曼技巧(The Feynman Technique)

这个技巧的灵感,源于诺贝尔物理奖获得者,理查德·费曼(Richard Feynman)。在他的自传里,他提到曾纠结于某篇艰深的研究论文。他的办法是,仔细审阅这篇论文的辅助材料(supporting material),直到他掌握了相关的知识基础、足以理解其中的艰深想法为止。

费曼技巧,亦同此理。对付一个知识枝节繁杂如发丝、富有内涵的想法,应该分而化之,切成小知识块,再逐个对付(递归),你最终能填补所有的知识缺口,否则,这些缺口将阻挠你理解这个想法。对此,请看这个简短的教程视频

费曼技巧很简单:1、拿张白纸;2、在白纸顶部写上你想理解的某想法或某过程;3、用你自己的话解释它,就像你在教给别人这个想法。最要紧的是,对 一个想法分而化之,虽然可能重复解释某些已经弄懂的知识点。但你最终会到达一个临界点,无法再解释清楚。那里正是你需要填补的知识缺口。为了填补这个缺 口,你可以查课本、问老师、或到互联网搜寻答案。通常来说,一旦你精准地定义了你的不解或误解,找到确切的答案则相对而言更轻松。

我已经使用过这个费曼技巧有数百次,确信它能应付各种各样的学习情境。然而,由于学习情境各有特点,它需要灵活变通,似乎显得难以入门,所以,我将尝试举些不同的例子。

4.1 对付你完全摸不着头脑的概念

对此,我仍坚持使用费曼技巧,但翻开课本,找到解释这个概念的章节。我先浏览一遍作者的解释,然后仔细地摹仿它,并也试着用自己的思维详述和阐明它。如此一来,当你不能用自己的话写下任何解释时,“引导式”费曼技巧很有用处。这里有个例子,展示我如何理解摄影测量学。

4.2 对付各种过程

你也能通过费曼技巧去了解一个你需要用到的过程。审视所有的步骤,不光解释每一步在干什么,还要清楚它是怎么执行的。我常这样理解数学的证明过程、化学的方程式、与生物学的糖酵解过程。这里有个例子,展示我如何想到怎么实现网格加速。

4.3 对付各种公式

公式,应该被理解,而不只是死记硬背。因此,当你看到一个公式,却无法理解它的运作机理时,试着用费曼技巧分而化之。这里有个例子,展示我如何理解傅里叶分析方程。

4.4 对付需要记忆的内容

费曼技巧,也可以帮你自查是否掌握非技术类学科那些博大精深的知识概念。对于某个主题,如果你能顺利应用费曼技巧,而无需参考原始材料(讲义、课本等),就证明你已经理解和记住它。这里有个例子,展示我如何回忆起掠夺性定价(经济学概念)。

5 形成更深刻的直觉(Deeper Intuition)

结合做习题,费曼技巧能帮你剥开知识理解的浅层表皮。但它也能帮你钻研下去,走得更远,不只是浅层的理解,而是形成深刻的知识直觉(敏锐的洞察力)。直观地理解一个想法,并非易事。它看似有些许神秘,但这不是它的本相。一个想法的多数直觉,可作以下归类:

5.1 类比、可视化、简化

类比:你理解一个想法,是通过确认它与某个更易理解的想法之间的重要相似点;可视化:抽象概念也常成为有用的直觉,只要我们能在脑海为它们构筑画面 (想象、构图),即使这个画面只是一个更大更多样化想法的不完全表达;简化:一位著名的科学家曾说过,如果你不能给你的祖母解释一样东西,说明你还没有完 全理解它。简化是一门艺术,它加强了基础概念与复杂想法之间的思维联系。

你可以用费曼技巧去激发这些直觉。对于某个想法,一旦你有了大致的理解,下一步就是深入分析,看能不能用以上三种直觉来阐释它。期间,就算是借用已 有的意象喻义,也是情有可原的。例如,把复数放到二维空间里理解,很难称得上是新颖的,但它能让你很好地可视化这个概念(概念在脑海中构图成型)。DNA 复制,被想象成拉开一条单向拉链,这也不是一个完美的类比,但只要你心里清楚其中的异同,它会变得有用。

5.2 学得更快的策略

在这篇文章里,我描述了学习的三个阶段:知识面、练习、与自省。但这可能让你误解,错以为它们总在不同的时期被各自执行,从不重叠或反复。实际上, 随着不断地深入理解知识,你可能会周而复始地经历这些阶段。你刚开始读一个章节,只能有个大概的肤浅印象,但做过练习题和建立了直觉以后,你再回过来重新 阅读,又会有更深刻的理解(温故而知新)。

5.3 钻研吧,即便你不是学生

这个过程不只是适用于学生,也同样有助于学习复杂技能或积累某话题的专业知识。学习像编程或设计的技能,大多数人遵循前两个阶段。他们阅读一本相关 的基础书籍,然后在一个项目里历练。然而,你能运用费曼技巧更进一步,更好地锁定与清晰表述你的深刻见解。积累某话题的专业知识,亦同此理;唯一的差别 是,你在建立知识面以前,需要搜集一些学习材料,包括相关的研究文章、书籍等。无论如何,只要你弄清楚了想掌握的知识领域,你就钻研下去,深入学习它。

十天内掌握线性代数:惊人的超速学习实验,布布扣,bubuko.com

时间: 2024-10-19 16:45:52

十天内掌握线性代数:惊人的超速学习实验的相关文章

十天内掌握线性代数:惊人的超速学习实验(转)

英文原文:Mastering Linear Algebra in 10 Days: Astoundin 译者:MapleFlying 最近,我的朋友斯考特·杨(Scott Young)成就了一个惊人的壮举:他在一年之内,完成了传说中的MIT计算机科学课程表的全部33门课,从线性代数到计算理论.最重要的是,他是自学的,观看在线教程讲座,并用实际的考试作自我评估.(到斯考特的FAQ页面,看看他如何完成这个挑战) 按照他的进度,读完一门课程大概只需要1.5个星期.我坚信,能快速掌握复杂信息,对成就卓越

OpenGLES 如何在十天内掌握线性代数 - 希望这是真的!

OpenGLES 如何在十天内掌握线性代数 - 希望这是真的! 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 以下网易公开课相比较而言,可汗学院的视频更基础一些.字幕翻译也都不错,网易精品来着

如何在十分钟内插入1亿条记录到Oracle数据库?

这里提供一种方法,使用 APPEND 提示,使得十分钟内插入上亿数据成为可能. -- Create table create table TMP_TEST_CHAS_LEE ( f01 VARCHAR2(20), f02 NUMBER(10) not null, f03 VARCHAR2(21), f04 VARCHAR2(21), f05 NUMBER, f06 NUMBER(20) ); --创建一个临时表,用于提供序列号 CREATE GLOBAL TEMPORARY table t_se

十、内置对象

十.内置对象 ECMA-262对内置对象的定义是:"由ECMAScript实现提供的.不依赖宿主环境的对象,这些对象在ECMAScript程序执行之前就已经存在了."意思就是说,开发人员不必显示地实例化内置对象:因为它们已经实例化了.ECMA-262只定义了两个内置对象:Global和Math.   1.Global对象 Global(全局)对象是ECMAScript中一个特别的对象,因为这个对象是不存在的.在ECMAScript中不属于任何其他对象的属性和方法,都属于它的属性和方法.

sql server 大数据, 统计分组查询,数据量比较大计算十分钟内每秒钟执行次数

-- 数据量比较大的情况,统计十分钟内每秒钟执行次数 declare @begintime varchar(100); -- 开始时间 declare @endtime varchar(100); -- 结束时间 declare @num int; -- 结束时间 set @begintime = '2019-08-10 09:10:00' -- 开始时间 set @endtime = '2019-08-10 09:20:00' -- 结束时间 set @num = (select count(

十五.内置函数的有关

2019-09-25-23:28:09 内置函数的使用 一.数据类型(4种) 1.int() 2.float() 这个是浮点数 3.bool() 4.complex() 创建一个复数. 第一个参数为实部, 第二个参数为虚部(感觉会很少用到这个) 二.进制转换 1.bin() 将给的参数转换成二进制 2.oct() 将给的参数转换成八进制 hex() 将给的参数转换成十六进制 三.数学运算 1.abs()            返回绝对值 2.divmode()     返回商和余数 3.roun

Oracle学习笔记十四 内置程序包

扩展数据库的功能 为 PL/SQL 提供对 SQL 功能的访问 用户 SYS 拥有所有程序包 是公有同义词 可以由任何用户访问 一些内置程序包 程序包名称 说明 STANDARD和DBMS_STANDARD 定义和扩展PL/SQL语言环境 DBMS_LOB 提供对 LOB数据类型进行操作的功能 DBMS_OUTPUT 处理PL/SQL块和子程序输出调试信息 DBMS_RANDOM 提供随机数生成器 DBMS_SQL 允许用户使用动态 SQL DBMS_XMLDOM 用DOM模型读写XML类型的数

ASP.NET Core 2.1 : 十二.内置日志、使用Nlog将日志输出到文件

应用离不开日志,虽然现在使用VS有强大的调试功能,开发过程中不复杂的情况懒得输出日志了(想起print和echo的有木有),但在一些复杂的过程中以及应用日常运行中的日志还是非常有用. ASP.NET Core提供了内置的日志,但没弄明白这么把它输出到文件, 只能在VS的输出中查看, 谁知道怎么弄告诉我一下.(ASP.NET Core 系列目录) 本例 GitHub 一.内置日志的使用 上一篇:如何在后台运行一个任务  中使用到了内置的日志,直接在构造中注入一下,然后直接使用即可, 非常方便 pu

使用jsoup十分钟内掌握爬虫技术

对,就是十分钟,没有接触过爬虫的你,肯定一脸懵逼,感觉好高深的样子,一开始我也有点懵,但用了以后发现还是很简单的,java爬虫框架有很多,让我有种选择困难症,通过权衡比较还是感觉jsoup比较好用些,简单强大,怎么简单强大呢?看了后面你就知道了. 为什么要给大家讲一下使用jsoup呢?一是为了大家少走弯路,能快速掌握爬虫技术,不要像我一样绕了几个小时在这上面.二是如果我讲的不好或是哪里有不对的地方麻烦大家在评论区指出来,大家一起讨论讨论,就像我们公司的口号一样,帮助他人就是成就我自己.记得刚入行