看论文的感想
(function(){
var cover = "http://mmbiz.qpic.cn/mmbiz/dcEP2tDMibcdsh71Afp4ibY9FpYhCLDEBOqryLLJwANVWjYdx4QUzGibjweHheJrBl7qBpI1fBQqJGFteQ3VwBz9g/0?wx_fmt=jpeg";
var tempImg = document.createElement('img');
tempImg.setAttribute('class', 'rich_media_thumb');
tempImg.setAttribute('id', 'js_cover');
tempImg.setAttribute('data-backsrc', cover);
tempImg.setAttribute('src', cover);
tempImg.setAttribute('onerror', 'this.parentNode.removeChild(this)');
document.getElementById('media').appendChild(tempImg);
})();
本文是郭瑞东去年的旧文,当时本来想写一个状态,结果越写越多,就集成了一篇。现今重读,感慨颇多。本文提到的文章,不仅包括计算机科学或者统计方面的论文,对于其他学科,也具有一定的借鉴意义。
看论文时要想想问题的本质是什么?什么是本质了?要弄清需要回答以下的问题:这个解法是要解决什么问题,这个方法利用了什么样的数据中什么样的隐藏的性质,结构或者现实中的什么现象,为了解决这个问题需要应对什么挑战,这些挑战中那些问题是必定会出现的,那些是与数据集或者环境相关的?
先想清楚这些问题,再进入下一层细节的考虑,才不会迷失与细节,接下来要问在阅读中考对数据的变换是为了完成更细层次上的什么样的子目的,是怎样达到这一目标的,完成任务的步骤是否与问题本身强相关或是仅仅因同时出现才在一起表述,是否有其他的解决办法,新办法会否产生新问题或带来不同指标间的tradeoff。
要回答上述的这些问题,在你先浏览了论文的Abstract 和conclusion并明白文章的general idea后,如果你对问题的背景熟悉,可以略过background这一section,如果不熟悉,需要先读一读文章的introduction。通过阅读introduction,你可以回答为什么这项研究是重要的这个关键问题,你还可以回答这项研究是基于之前的那些研究,之前的方法有什么缺陷或局限。
之后你要看文章的Result部分,看的时候批判性的分析作者做出的成绩。这里重点要看懂图与表,再看作者对图表中数据的解释前,要先结合自己的经验,问问数据有哪些值得提的点,要你对着这张图讲一段,你应该说什么,再对比自己想的和作者说的,这是critical thinking的过程,也是论文写作的必要训练。通过这样迭代,你就能学会怎样分析自己的数据。
接着要看文章的Discussion部分,看作者怎样介绍自己研究的与其他同类研究的比较,可能的应用领域,研究当前的局限性,今后要做的工作。这一部分将帮助你把这篇文章的知识编织到你已有的知识之网中。
最后再看文章的Method部分,如果你不是要实现这个方法,或者做类似的研究,可以略过这一部分。方法部分要捉住核心概念,如果有流程图,可以按图索骥,如果没有,需要你自己画出方法的每一步,标清楚每一步的输入输出。
在处理数据,阅读文章时要分清表达的内容的形式的分别,有些在相近地方表达的东西不一定在内容上强相关,有时作者着墨多的点并不是其文章的重点,有时作者会把多件相关的事放到一起去讲,这固然是作者表述的问题,但阅读时你要分清主次,分清哪些是论点,那些是支持论点的论据,那些是为之论点擦屁股的补充说明。找到重点要注意重复出现的概念与逻辑链条,这往往是文章的要点。读懂一篇文章后,要能够在心里清晰的建立一颗树形结构描述文章的思考逻辑,这棵树记录文章中段与段之间的相互关系,这能帮助你把捉到文章的本质,避免你偏离中心。同时还要能画出一个网状的图来概括文章的主要内容,以文章中的核心概念为节点,描述这些概念间的相互关系,这能帮你记忆文章的内容,把文章总结成一句话。
阅读时没有偏离中心是对论文进行批判思考时不偏离中心的前提条件。但在思考提炼问题本质的过程中最容易范的错误就是想当然然后想偏了歧路亡羊,但你不要因此难过,阅读论文是个迭代试错的过程,你看的相关的主题多了,就不会在看的过程中想当然,做出些无根据的假设。同样的,你思考的深入了,也不会在阅读时问些肤浅的你已知道答案的问题,而这时你就更能提出具体情境下特有的问题,而这些特异化的问题更有可能是关乎研究本质的问题,似乎没有一篇科学论文是在回答那些大而化之的问题的。所以谨记理解问题不可能一蹴而就,而理解才是分析改进的基础。
读论文的最终目的是为了帮助我们解决自己研究中遇到的问题,在阅读文章的Method部分时,在思考对近似问题的新方法的过程中,在换一种方式framing自己遇到的问题是,研究着需要注意不要为了rule去找例子,而是根据要研究事物的本来现象去寻找pattern。看看pattern和instance是怎么关联起来的,这样的关联是一对一还是一对多还是多对多,是否有不满足这一pattern的特例,有多少,都是什么类别的?同时还要理解在该方法的每一步数据发生什么样的变化,为什么要这样变化,这样的变化会对评价该方法的指标带来多少假阳性或者假阴性,会产生哪些特例,这些特例的影响是否会cascade?有了对数据中模式的总结,根据这些pattern去找出尽可能多的rule去涵盖并处理这些pattern,就能明白作者为什么要这般的设计方法。
这一步就如同考古学家发掘古迹侦探查案,大胆假设小心验证,而不是一开始就通过建模简化问题,建模时也要明白模型的每一模块都是在那解决什么问题的?由这些pattern得到的rule按一定的顺序组合连接迭代,这就形成了算法。只有这样得到的算法才算是启发式算法,否则你随便想的解法,无法算的上创新。启发式这三个字,实在是解决一切复杂问题的关键,不设定法,方能根据不同的初始数据集选择不同的参数,制定不同的启发式策略。这一点正应和了孔子的“因材施教”。
其实好多说交流技巧的书,讲的也是要捉住对话中的本质问题,不要迷失在枝节,要有层级,要分主次,要回应对方的深层次的pattern而非提出的看似是解法实际为症结的方案。这些和之前提到的看论文时要思考的问题也是类似的。
当你对一个领域熟悉后,你再去接触别的领域,你会不自觉的带入本来的思维习惯。当之前这一研究领域的旧有经验使研究停滞不前,这就如同系统陷入了局部最优,需要一个外在的推动力使你接着去寻找更好的办法,而其他学科的启发无疑是带来新见解新思路最好的土壤,通过重新定义问题,确定问题的边界,可以排除无效的解法,也复活由于个人偏见被过早排除的想法。这就是为什么研究团队阅读文章时需要做的如沙龙似的,由一个人讲解,一群人提问讨论,每个人不必花时间阅读全文就可以清楚这篇文章,更汲取各学科的养料。
当你从一个研究领域迁移新领域时,要及时删除你之前阅读思考的时所作的假想。大道相通。一通皆通,这是大牛爬上顶峰后一览众山小语境下说的。正如之前说的,对问题本质的理解,不管是哪一个方面的问题,都是一个迭代的过程,是需要花很多工夫的。不可无脑套用之前的经验。
然而大道相通的道理从更远的角度看却是对的,如果你不是机械化的套用之前的经验的化。有了之前的经验,你可以用更广泛的数据进行迭代,更快的理解到本质。这就像练内功,一般人只是白天练,如果你能触类旁通四处借鉴,能对不同领域的有自己深入浅出的领悟,就是白天夜里都在修炼内功,这样修炼更加有趣,进展也快些,但并不意味着你不需要下苦功夫。理解迭代的本质,理解每一步变化了什么,为什么要这样变化,能对我们的人生选择有所裨益。我们不需要看过世界,就能有世界观,世界观的产生与看世界,本就是个迭代的过程,只是这个过程怕是人类生存多久,就要纠结人类多久了。
欢迎关注 混沌巡洋舰 追寻自然界复杂下的简单,带你跨界学习各路干货
长按该图片,既可以扫描二维码,从而一键关注本公众号。
欢迎加小编铁哥个人微信562763765