#教育暑期夏令营#
我可以舔脸来回答下。自我初中开始,直到大学,研究生,甚至博士,我应该就没有数学考试低于80%的总分,不管难易程度,不管数学科目。虽然没有夸张到每次145/150的水平,不过,3/4概率考过90%,1/3概率进95%,不是什么大问题。事实上,貌似我理工科的成绩,都能有差不多的水平;文科的成绩稍微差点,但是除了语文我从来没有一鸣惊人过,政史地的成绩,我一样挺不错的。
回到数学,我大学时候的高光时刻就是在线代,随机过程,还有数值分析这三门考试中都以接近满分的成绩考到了某985热门专业年级前几,而吊诡的是,我平时基本宿舍 —— 网吧两点一线生活,基本没见过任何一门课的老师。如今,也算是相关从业者,虽然做的基本都是应用层面的科研。
以下这套,暂时还是称为“学习方法”吧,帮助我个人稳定输出高考,大学,GRE/TOFEL,美国研究生/博士,一直到现在。
但是,实际上,在过去的很长一段时间,我都从来没有意识到过,他真正的重要性。我自己也读到了博士,研究了图学习之后,才渐渐意识到,原来我一直以来仰仗的学习利器,其实抽象出来,是这么一个玩意儿(后面我会展开说),也因为我之后先关图学习和机器学习的研究经验,我才能更加来完善自己的方法。
请注意,我自己也没准备给别人安利这个方法。而且我也说的很清楚了,并不是所有人都适用。所以,别给我私信说,有什么书可以看。
但是,我觉得这大概是我在义务制教育中,一直都存在的盲区 —— 一直以来,老师和父母有无数次强调过所谓的“学习方法”;但是同样的,一直以来,我从来没有被系统的教导过应该怎样去学习,怎么样学习才是科学高效的。甚至在很长的一段时间内,我理解的“学习方法”,就是预习,看例题,做习题,找错题,这样的简单片面的东西。而很明显,即便是二十年后的今天,我都要上大学的子侄辈,依旧不很清楚。
以下内容,因为几次修改,变多了。预测需要15-25分钟阅读时间。觉得长的,可以直接看结论 —— 要尽力自己构建出来包含考点和考纲的知识图谱(各种内在和外在的关系)。一方面,这可以使得你能比较轻松的就实现举一反三,把做一道题能达到的效果尽可能放大,达到以点破面的效果。另一方面,这能在最大的程度上,避免你只见树木不见森林,迷失在各种题目里面,而丧失了对全局的把控。
初中,我上的是市区最好的学校。但是我数学其实并不算真正出类拔萃的(定量说下,那应该是我大概也就是同龄人,中百里挑一的水平),印象里面,好像也就是在希望杯这样的不入流里面拿过次奖,但是就是很稳,不管难易程度 —— 有一次全市联考特别难,我却是全年级唯几考上90/100的里面的一个。事实上,除了我数学老师和自己同桌记得我数学很不错之外,似乎班级里面其他同学都没有对我数学好留下很多的印象。基于我自己是糊里糊涂,不明白自己为什么数学好,我就不展开说了。
高中,我数学应该比较算是突出的了(定量说下,我应该是过了百里挑一,靠近千里挑一的水水平了)。主要原因是,我没考上市里面最好的高中,去了个次好的,所以理所应当,就成了矮子里面的长子。当然,我所在的苏大强南部某市,00年前后,教育相当不错。除了那个最好的学校去top2的人数最多之外,其他重点高中也一样每年有人进top2。我并没有参加去竞赛,毕竟作为次好的,我们高中没这个传统。只是,我们的数学老师,因材施教,给几个班级里面数学比较好的同学,布置不同的数学作业,而我刚好是其中之一。我也有幸成为几个给其他同学讲题的答疑组成员。某种程度上,这段经历让我的数学更加的稳,也真正让我在其他科目全面突破的基石,可以说,是让我受益终生的一件事情。
主要来说,给别人答疑和自己做题是完全不同的两件事情。刚开始,你会觉得,为什么他们连这个也不会?很多人的基础不一样,理解不同,表达受限,……,所以,他们其实自己也未必知道自己卡在什么位置。有的题目,其实按照他们的思路也能做,这个时候,老师的教导就是帮助他们打通关节,按照他们的思路去解题,是比你教会他们怎么按照你的思路解题更有用的。因为答疑的最高目的,不是为了某道题本身,而是要帮助同学怎么学会解题思路。同样的,有的难题,其实给出来关键提示之后,很多人也都能解,但是关键就在于,你怎么去跟他们解释,自己是怎么看出来有这么样的一个提示的。这段经历,极大的丰富了我的思路,不但从同学身上学到了新的知识,更是从他们的很多自己从未想过问题中得到了升华。
而更重要的是,我第一次意识到,一个叫做考纲的东西,是多么多么的重要。这玩意儿虽然我在中考的时候就见过。但是一直到了高中,也不知道从什么时候开始,应该是和我老师讲题的习惯有关系 —— 他经常就是先指出来考点,然后才是解题。但是,有一天我突然就意识到,这考纲简直是应试考试的法宝。有了它,我就可以明目张胆的偷懒“哦,也可以从容的给同学减压 —— “这个题啊?超纲了,不看”。
以至于说,在此之后,我主动去问其他科目的老师要考纲。别人做题的时候,我基本就是翻翻题目,看看考纲。自己给题目分分类,看看这题考的是什么,具体什么知识点。这样的好处就在于说,我把一个被动做题的过程,变成了一个主动做题的过程。
同学:习题 -> 错题总结-> 再练习 -> 错题总结 -> 再练习 -> 错题总结
我:习题 -> 知识点/考纲分析 -> 自选习题(自己觉得掌握不够的知识点)x3
我舔脸狡辩下,每天学习的时间其实不见得比其他同学少,如果算上我各种在路上的时间的话。我其实没有花那么多力气去做题,更多时候实在想,所谓做题的时间里面,也有超过一半的时间是在翻题目,看题目想知识点,看看什么知识点,哪些能放在一起考,又应该怎么考。现在回过去看时候,我就发现,其实当时是在学着以出题人角度看待题目。
我也没有一个反反反复复做错题的过程,因为于我而言,这个并不重要,重要的是只要我掌握了某个知识点,我就可以去重点解决下一个。而普通同学,即便错题做会了,也不代表,他就掌握那个知识点了,可能只是刚好会了解这具体的某一道题目,而这题目仅仅只是该知识点的一种考察方法,其实还存在和其他知识点结合的考查方法。
反观我可以用同样的时间,在不同的习题册上找出来几道,十几道,甚至几十道考查同样知识点的但是有着不同结合点的题目来巩固自己的理解。通常也就是几道题目,在课本,考纲,习题之间相互查看中就基本解决了,因为,从某种程度上说,如果你去细看,某些知识点的考查,就是有固定范式的,某几个东西就是喜欢在一起考查。事实上,这点也非常有用,尤其是看的多了之后,根本不用你去死记硬背,就能达到“看他撅屁股,我就知道他会拉什么shit”的程度 —— 自己在不自觉的过程中,看到某个知识点,我脑子里面就有反应,它会和什么知识点一起考查。这样子之后,常常能很快形成解题思路,因为这某种程度上,已经是有了先验知识了。至于更具体的例子,我在后面的章节里谈到。
我也有错题册,不过我的错题册上没有很多题目,更多时候,我上面是记录的是自己还不是很熟练的某些知识点,尤其是各种概念和定义,尤记得我曾经把很多基于单位圆的三角公式几何证明写在上面(比如这, 数学中有哪些漂亮的无字证明? – Mr李的回答 – 知乎 https://www.zhihu.com/question/26899533/answer/2364084413),还有那种几个纠在一起考的那种。更多的时候,是那种,我一眼看上去不是很清楚它具体在考什么的题目,嗯,哪怕那题我其实做对了,我也会写上去。用现在的眼光看,我那个时候,其实自己就在捣鼓,思维导图这样的东西,想说某个重点知识点就应该还能怎么考查。
当然,我这样做也有缺点,那就是我从来也没有满分。这也很情有可原,一来我自己就不是个非常仔细的人,或者说,我没有那么追求完美,看我对待超纲题的态度你们就知道了 —— 多花一分力气我也是不愿意的。另一方面,我动不动会在简单的题目上翻车,因为我总有高估自己的时候,觉得某个知识点so easy,基本看到题目就直接跳过去,从来也不练习,考试的时候不能跳过去,自然就有可能被事实鞭打,嗯,就是那种套个公式也可能套错。再一个方面,就是那时候不成熟,总想出风头,尤其做的很快的时候,又或者觉得某个题目出的很有意思的时候,以至于说,我明明知道标准做法应该怎么做,可是就想做个简单的方法出来,于是乎,人为的增加了难度;又或者,就是由于自己平时的“懒”,某些题目其实用点超纲的知识很容易就解决了,但是么,我平时实在是有够得过且过,结果么,操练的不够,又想耍花活自然就翻车了。(矛盾吗?不矛盾。我就是那种自己愿意为了偷懒可以去通宵捣鼓出来一个洗衣机的科学家,但是另一方面,我又不介意它洗的没那么干净)。
这样学习的优点也是很明显的,我不需要苦哈哈的进行题海战术,完全没意义的事情。但是我却能比别人有一个更加清晰的头脑。用如今的话来说,我自己可以徒手画出来一个思维导图,把不同的知识点联系起来,而这是很多人,做了很多习题之后,依然迷迷糊糊无法做到,无法做好的 —— 哪怕一道题做对了,他也未必知道这考查的是什么东西。
其实,这是一个更加高效的学习方法,这也是为什么我说,我会受益终生的原因 —— 高中的时候,我可以在去食堂路上想着某个知识点,20年后,我陪太太逛街,我去在想着某个论文课题的难点究竟应该怎么样抽象出来,才能找到一个优雅的解 —— 本质上,这是同一类的思考。
至于别人回答里面的,各种套卷,我那个时候还没有这么多资源,印象中就一本浙江出版社的数学精编,还有本苏州大学的习题册,仅此而已。至于具体的考场技巧,比如掐时间之类的,反正对于我而言,基本不存在这样的考量 —— 我基本的做法,都是先阅卷,小题大题都过一遍,看看具体难度如何。一般而言,多数题目,经过操练后,基本能看个八九不离十。如果我扫了几眼一两分钟内还不是很清楚的,我基本都会先标记出来,到时候放到最后面去做。而通常,我都能在不掐时间的前提下,提前个15 – 30分钟完成考卷;如果掐时间,我能做的更快(区别就在于说,有的选择则题,我到底是不是要演算出来具体的答案。看清楚这里面的区别,一个是知道谁是错的,另一个是证明自己选的是对的。前者,很多时候,我一眼就排除掉2个以上的选项。)
我不是说,这样的各种应试技巧不重要。他们当然重要,但是他们跟我在这里讲的,“学习方法”并不是一回事情。是个正常的人,就能分辨出来,哪个是更加根本的东西。但是,很不幸的是,人的劣根性总是让我们相信自己想要相信的东西,比如某个技巧,就足够了。
现在回头来看题主所说的问题。基础无疑是非常重要的,基础不好,你就算都认识具体考点,不会做又有什么用呢?准确的说,在高中,这点基本无用;但是在日后的生活学习中,这很有用。
所以,你应该做的事情是,放弃假大空 —— “基础差”这样的结论,对你完全没有意义。什么东西的基础差?等你知道自己具体哪里没学好,回头再去补基础,就更加有针对性了,效果也会更加好。具体什么知识点,只要你能分析出来,专项训练,突破,其实并不算很难的事情。
你也看到了,我靠着这方法,应试教育一招鲜,虽然没有变态到满分的程度,但是从来没有掉过第一梯队。当然,背后的原因,后面也会说,因为这方法本来就不单单是为了去应试而生的。
至于说,什么叫做基础好。我想我自己可以代表下,我大学虽然选修课选逃,必修课必逃,但是我手推过90%书本里面的定理,不管是高数,还是电路,又或者微波,甚至偏微分方程。看我以前的笔记,说句不要脸的话,我自己都佩服自己。
我也在美国读博士期间,以第一作者发表过,如今国内俗称1区的多篇信号处理和数据安全的文章,里面都是基于各种数学分支,包含了
数论
线性代数/矩阵论
混沌/分形
概率论/随机过程
偏微分方程
虽然这其中的知识大部分,也并没有超过研究生课程的内容,但是为什么别人上完课就完事了,而我却能捣鼓出来论文,原因之一就是,我常常胡思乱想,这个东西还能怎么弄。这个东西,到底还有什么前提是没有明说的,或者说,某个前提换一下,是不是能更加合理些…… 最后也都弄出来了,所以某种程度上也证明了我的基础不错。
至于说为什么认识出来具体的考点,在日后就是很有用的技能。那是因为,你全身是铁也捻不了几颗钉,谁也都有自己不会的东西。这就是为什么我说,我这里讲的是一个学习方法 —— 因为他是可以跳出应试教育,泛化到各种“学习研究”场景的。比如,我不需要知道某个具体的科研难题应该怎么解,我只需要认清楚,它是个什么问题,定义清楚了,交给对的人去解就好了。但是整个这样抽丝剥茧,化繁为简的过程,却是更重要的一个科研素养—— 又回到原来了,虽然我没发解释为什么我脑子里面会决定,应该怎样去拆分一个大问题,成某个具体集合的小问题,但是我自以为这跟之前所说的思维是很有关系的。
当然,另外一点,我也要跟你说清楚。只有适合你的方法,才是好方法。
以上的学习法,在我原来认为,那就应该是普遍适用的,毕竟我高中整个班级都受到了我的影响。直到遇到我太太。评论区问她什么专业的,她读的是会计和经济的双学位。我试图教过她很多次我的方法,但是她总也学不会,又或者不屑学?经常怼的我,说不出话来 —— “我就这点水平,要我再去看书,不可能的。你就告诉我,考试的时候两长两短的时候,我怎么办吧!”
反正她喜欢的调调很奇怪,应该是她初中高中时候落下的病根 —— 凡事都要弄个口诀,比如“奇变偶不变,符号看象限”,这样的东西。而我在她眼里的作用,就是想办法给她总结各种朗朗上口口诀的人。当然,这也一样富有挑战 —— 毕竟这样的口诀,既要涉及重要考点内容,也要有思路,其实并不容易。
而她的一个学习法宝就是所谓的cheating sheet,公式纸。反正在辅导她数学前,我很难想象,有人每天复习的第一件事情,就是先雷打不动的默写一遍cheating sheet上的所有公式。我也问过她为什么要搞这样的“假大空”,她说,所有简单的题目,只要套公式就好,为啥不能这么做?我也曾经仔细思考过这样做,到底有什么用,后来想想,也许这也算是另外一个形式的思维导图,只是更加偏重于具体的公式,但是起码是吧内容罗列出来了。
好吧,无所谓了,说到底,抓到老鼠,成绩好才是王道。具体细节,是黑猫还是白猫,其实没有必要那么纠结。
最后,来说说我一直到了博士才搞明白的自己的那个学习方法,到底是个什么原理。这也涉及到了评论区里面考纲,考点的很多回答。觉得扯淡的,可以直接跳过去。我尽量用平实的语言来描述。
———- 前方高能———
大学里面上过数据结构的同学,都会知道有这么样一个东西,叫做“图”(graph)。
这既是计算机,也是数学里面的概念。在图里面,最基本的元素,其实就两个
节点(node):不完全恰当的类比,可以看作考点,具体考什么知识
连接(edge):不完全恰当的类比,可以看作考纲,和什么一起考,怎么考
现实生活中,很多东西都可以表达成一个图结构,比如,数据结构中的“树”(tree)就是一个特殊的图(graph)。
而之所以这个graph会被翻译成“图”,也的确和地图有那么点关系 —— 你可以把地图上的每个路口,都看成一个node,连个node之间如果有路联通,那就是存在这么样一个edge。而导航给出来的路线图,某种程度上,就是一个图优化的问题。给定出发点,和终点,找到一条最优路径(一系列的edge),连接彼此。
而所谓的最优路线,那就要看最优的目标什么了,这也就是所谓的edge上带的属性(attribute)或者权重。比如,最简单的就是距离;也可以是平均耗时(距离长,不代表到达时间慢,高速绕远可能更快);还可以是过路费(即,找到一条最便宜的路线,尽可能绕过收费路)…… 当然,不光edge上能有属性,edge还能有向(只能单行);node上也可以添加属性;这里我就不展开讲了。
如果上面这个例子你能看明白,那恭喜你,图入门了~~~你也大概,应该,也许,可能,能看明白我下面要说的内容了。
———- 回到学习考试———
对于大多人而言,是会更容易学习那种成网的知识,而不是一个个孤岛的知识。这大概也就是为什么“思维导图”会大行其事的原因之一。当然,我这里这是拿他当个例子,这并不意味着,我的目标就是要构建出来一个思维导图。至少我从来没有这样宏大的理想过 —— 想想那些可能复杂的飞线,我就头疼。
如前所说,考点,也即是某个具体的知识点,就可以看作是你所掌握的知识图里面的一个节点node。而考纲,更多时候就可以看成是个链接edge和属性attribute的综合体。
举例来说(别喷哈,我随便举的),有很多函数的概念,比如指数函数,幂函数,三角函数,对数函数,多项式函数,……;还有一些,比如,奇函数,偶函数,周期函数,有界函数,……;再有一些,反函数,合函数,…… 。虽然,他们都叫函数,但是,第一组是某一个具体的节点,代表一个函数家族;第二组,却应该是,某个函数节点的属性;到了第三组,实际上,应该是edge了。比如对数函数 和 指数函数,是一对 “函数 和 反函数”的关系,所以,在对数函数这个node,和指数函数这个node之间,应该有个叫“正反函数”的edge。
如果有考纲,你就会发现,他能节省你很多时间。因为虽然里面没告诉你,谁是node,谁是edge。但是至少有了一堆的信息,就好像拼图一样,东西都在那里了。已经不需要你自己去找了。后面的科研里面,则刚好是反过来,我知道的是一个个子图,每个子图里面已经有了一堆node和edge,可问题的关键是,常常你要找到怎么就从一个子图能跨越到另一个子图去,中间还有应该有哪些node和edge。当把他们都补全的时候,问题也就基本解决了。
有了这样的思维,你很容易就能看出来,如果我的正反函数,掌握的不好。除了做指数和对数函数的题之外,我还能做什么?很容易啊,你看看指数函数那个node,相似的又有什么node,好吧,看到一个三角函数,那问问自己,三角函数的反函数是个什么东西?再来看看,幂函数,那多项式函数呢?看看,这不就是俗称的“举一反三”么?
同样的,你可以继续看看,那连接指数函数node和对数函数node的那个edge,就只有一个attribute叫做正反函数吗?你还能添加别的什么什么属性吗?嗯,他们都是单调函数。那他们有奇偶性吗?好吧,没有,那意思是不看吗?看看题目先,怎么会不考呢?还是要考的,绕一道弯而已问你个变体, f(x) = exp(x) + exp(-x)。啊,这题我会啊,带公式就好,这不是个偶函数么?可我如果非要这个答案变成奇函数呢?应该怎么操作下呢?f(x) = sin(x) * (exp(x) + exp(-x))。你要说,这,有,啥?好吧,那就再想想,不要指数函数了,f(x) = g(x) + g(-x),是不是也一样是偶函数呢?你要说,这个东西又有啥?说出来其实真没啥,但是这个就是习题册上,一道题的根本思路 —— 把个g(x)和g(-x)套到某个具体函数里面,分别展开,然后交换项的次序,再合并项,你觉得你还能一眼看出来么?还能看出来,那行,继续套呗,反正复合函数也还是函数,……,总能弄到一个很多人上眼就瞪眼的形式。尤其里面在给你替换个把常数(1=cos(x)^2 + sin(x)^2)这样的,弄完之后,亲妈都不认得。
有人会说,那你做这样的偏题怪题,有什么意义呢?我这可不是在做偏题和怪题。我就是只是在想想,意淫下而已。但凡有题目要你判断奇偶函数,如果这个题没有其他的考点,那毫无疑问,答案必然不会是既不是奇函数也不是偶函数。而如果,那个题目里面出现一大堆有的没得东西呢?如果题目没有要求,我自然也不会吃饱了撑着去把g(x)找出来,毕竟这是比判断奇偶性更难的事情;但是,那种一眼能看穿出题人的感觉,很爽的,你们明白么?因为我知道这个套路,有时候的确是能看出来这个g(x)是什么,简直就是降为打击,比爆头都爽。某种程度上说,这种愉悦感,才是给我正反馈,让我继续下去的动力。
所以从这个意义上讲,我高中时候,更多的实在给不同的知识节点,建立edge,附加属性。并且通过对node和edge相似性,进行高效的举一反三。当然,你可以说,其实当你把一个个子图都建立完成的时候,实际上大的知识图也可以认为是完成了。
这样下来,也就能想明白,什么叫做,主动去找题做了 —— 因为我自己明白哪些node掌握的不好,哪些属性还不熟悉,哪些东西放一起考,我是没有见过的…… 如果从图学习的角度在说,那就是我在看题目的过程中,一方面不停的给每个已知节点,评估自己的掌握程度;添加未知节点。另一方面,不停增加图中的连接,或者update每个edge的权重/属性;通过node和node之间,edge和edge之间的相似性,不停的添加更多的信息。到最后,我不但能找到,那些薄弱的知识点,单项公关,更是可以找到自己最不擅长的子图,进行反复练习。我所做的,应该算是active learning。而普通的题海战术,那就是深度学习,依靠大样本才能胜出。而一旦,训练样本里面的分布和实际的不一样,又或者,没有涵盖到某些edge和node的时候,就会出现严重的过拟合(overfitting,模拟题做的很好,实际考试翻车)。相反的,我那样子的举一反三,不停抽象,拔高的过程,—— 只要题目里面遇上一个,我就能跟着解决一片相关。这本身就是一个泛化的过程,模型自然更加鲁棒。
责任编辑: