本文主要是介绍科研有方 ——科研准备和科研步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
摘至栾浩的 《科研有方——科研需要“想好”再“做”》 以作学习之用
一、做科研的准备工作
1.1 如何把握和导师交流
背景:很少有导师能给学生很多以及很“有效的”指导。是否有效,取决于想获取什么以及你自己是否积极主动。
导师与学生的关系:导师所能帮助学生的,只是提供科研方向和一些科研设备及环境
想要解决自己的问题,你只能靠自己积极和主动。这是因为没有人比你更关心自己的前途和发展,也没有人有义务去关心你的前途和发展。
每个人都应该结合导师和自己的具体情况来调整自己的科研策略,高效调动和利用自己的资源。这其中就包括如何高效地利用和导师见面讨论的机会。
请务必记住:你需要主动地思考和规划如何利用这一短暂和导师相处的时间,高效地与导师进行交流,来为自己服务,为自己解决亟待解决的问题。而不是被动地等着导师来告诉你因该做什么和怎么做。
如何规划,并且充分利用这一小时?
第一,做好准备工作
首先,你应该事先想清楚自己到底要和导师讨论什么问题,自己想要从导师哪里得到什么答案。把这些问题清楚地标上顺序,记录在笔记本上,这样你在给导师讲述的时候,可以从容地照着笔记上得思路讲,才不至于东拉西扯地临时去想。与导师讨论的时候,按照笔记本上记录的问题,一个一个依次、清楚地完成。
在和导师讨论前,你应该用简单、明了的方法描述你的工作进展和之前讨论的结果,也就是讨论的问题的背景,以便在开始讨论时,快速引导导师的思路进入到你要讨论的主题来。这种背景介绍可能包括写一个一页纸的报告(Report)或者几页幻灯片,让导师在讨论时阅读。应该清楚地描述科研问题(Problem Statement)、科研动机(Research Motivation)、准备采用的科研方法 (Methodolory) 以及在这个思路上面临问题。
将报告写出来,让导师自己去阅读,可以让他们反复斟酌和思考,根据自己的理解程度来控制阅读的进度,从而更容易让他们吸收信息,了解你所面临的问题。
在于导师讨论时,你往往还需要针对讨论的内容,准备一些文献,比如相关的论文,方便讨论过程中导师需要时查阅。
第二, 讨论时,把握主题,控制讨论内容
与导师讨论时,你需要充当讨论的主持人(Host) 的工作,控制讨论的主题。这个讨论的主题,就是你在讨论前的准备阶段中记录在笔记本上的问题。讨论中也许会偏离讨论的主题,这个时候,需要把讨论的重点拉回到原来的主题上来。
当你确认了一个问题得到解决后,再开始讨论下一个问题。否则你就应该想办法委婉地重复你的问题或者追问下去。
对于导师的意见,一定要做笔记,可以准备一个小本子,专门用来记录和导师讨论的问题和结果,这个本子不要再做其他用途。这样,你可以快速地查阅出之前讨论的问题和记录的导师意见。
第三,讨论后跟进、总结
讨论结束时,你应该简要地总结讨论的结果,发信个导师,以便导师能给跟进讨论的结果
自己简要备案,以便第二天自己跟进,建议不要放在周五
发信给导师,总结讨论内容和你的想法,是一种跟导师或者以后工作的老板做事很好的态度和习惯。 这会帮助导师加深对你和科研的印象,可能对你有更好的指导。同时也会让导师觉得你是个做事靠谱的人。
1.2 你需要为自己定制 “培养计划”
你需要为自己去培养自己,为自己制定一个目标,并向这个目标努力。
这个目标不一定是职业目标,比如当教授,当职业经理人。这个目标可以是具备某种能力,比如独立思考、财务分析、口才等。
制定个人培养计划,最重要的是设定人生不同阶段的目标
总结:在一生中我们需要不断地思考,思考的主要内容就是做每一件事情的目的或者目标。这样才能让我们不在人生的道路上迷失,才能更高效地利用我们的时间。
二、如何做科研
做科研,归根结底就是一条:如何高效率得去 “想”。想你在论文中要做什么,为什么这么做,怎么做,做了以后能给别人带来什么贡献。论文里写的东西,都是自己想出来的,绝对不是读出来的。”读”是为了更好地”想”。就算是调研的文章,虽然主要目的是介绍别人的工作,但是也要经过自己的思考,比较不同的方法,然后归纳总结出他们的特点。
通过有策略的阅读、有逻辑的思考、有步骤的总结来推进自己科研课题的研究,是做科研的关键。
2.1 科研的步骤
一个科研课题的解决或者一篇科研论文的完成,从时间上和完成过程上可以分为三个步骤:提出问题、分析问题 和解决问题。
提出问题,就是寻找出有价值的学术课题或者确定论文的科研方向
这是科研的第一步,也是最重要的一步。因为它确定科研或论文的方向。方向错了,下边的路就算走得再远也是白费。分析问题,就是根据已经确定的科研问题,分析其特点,然后按照自己在提出问题步骤中所确定的科研目标,提出有针对性的解决方案
这个过程需要有比较好的数学修养。这样,确定了科研课题和目标后,就能比较快地确定自己所要采用的数学工具,然后再深入学习如何使用这个数据工具来解决这个问题。解决问题,是指当自己使用数据工具分析了这个问题后,采用仿真或者数学证明,充分验证自己所提出的科研设计的正确性。
2.2 提出问题
在自己的每个科研问题中,都能将 “提出问题” 这个关键步骤放在最重要的位置并且给予充分的时间。
提出问题的目标就是找到正确的科研方向,分析和解决问题的目标就是完整且监视地卖出一步。
文献时读不完的,我们要学会有目的地读,读一篇,吸收一篇
首先需要深入了解自己从事的科研领域
这个过程中难免要阅读大量文献,然后通过独立思考,找出有价值并且尚未完成的问题。阅读文献和独立思考是关键,这个过程存在两个问题:
- 文献时读不完的,读多少,读什么,读到什么程度,需要我们好好把握
- 阅读文献可能会影响自己思考的独立性。我们思考可能会被文献带着走,而无法得出有个性,有创新的结果。
第一:从根本寻找问题
1. 了解基本知识
对于一个全新科研领域,我们所做的第一步应该先了解这个领域的基本知识,对我们所要研究的系统由全面的了解。这可以通过阅读一些调研的论文或者一些该领域比较好的论文来实现。这些论文通常是发表在知名的学术会议和期刊上。
阅读文献应该有清洗的目标:自己到底要在文献中找到什么,读每一篇论文的目的是什么?当你达到了这个目的时就应该停下来,即使这篇文章并没有读完读懂。
每一次 “读完”一篇论文,我们应该思考学到什么,如果有新的东西,最好在笔记本上记录下来。所谓“读完”, 是指达到我们的阅读目标,并非通篇完成。这样做并不会浪费这篇论文,因为我们后面还会在不同阶段再读他们,以后在不同的情况和需求下拿出温故而知新。这样 “点到为止”可以为我们节省大量时间,同时不干扰我们大脑的思维。
2. 思考存在的问题和这些问题的解决方案
当我们感觉自己对要研究领域的基本知识和概况有了清晰的认识时,就可以停止阅读,开始自己的思考了。
对于一个已经进行十几年的研究,我们不应该跟着他们的脚步走,正确的做法是:我们了解一个系统的结构和工作方式以后,我们自己去思考这个系统存在和妨碍其发展的根本性问题。
系统存在的原因: 为什么我们需要这个系统?是什么样的实际需求导致了这个系统的存在? 是不是所有的需求都被很好地满足了,有没有其他需求没有被别人发现?解决这些问题对我们整体的科研推进或者人类生产生活的提高有什么贡献。
系统无法实际部署的原因: 是什么导致我们目前无法将这个系统高效率地在实际中部署和应用?
解决方案: 针对系统无法在实际中部署的原因,你认为应该如何下手最直接有效地解决这个问题?
回答上述三个问题,我们不光思考我们所研究的领域都有什么问题,同时也已经考虑自己对问题的解决方案了。这时我们还不了解别人想要解决什么问题以及他们是如何解决这些问题的。
思考以上的问题很关键,它保证我们能独立思考,而不被别人带着走。而之前阅读大量文献就是为此打下基础。
实际中可以采用以下做法:
- 带上纸张和笔去个安静的地方
- 画网络的草图帮助思考
- 想到的问题会先一个个全部列出来
- 再在这些问题中,找出自己认为自己最重要、最有学术价值的问题
- 然后思考这个问题产生的原因
- 根据这个原因,思考如何解决这个问题
自己的初步方案,应该有较强的逻辑性,并且越完整越好。
所谓逻辑性,就是根据设计需求和科研动机(Research Motivation), 找出最直接(Intuyive)的解决方案,让论文的读者感觉科研动机来源于现实,解决方案是这个科研动机下很自然的“果”。
所谓完整,就是我们能够针对系统,进行初步的建模,确定一些关键的参数,从而找出解决问题最关键的参数。
如果要跟着别人的工作做,也要知道别人的问题从何而来,向哪发展。
第二:比较阅读
在上述第一步中,我们的目的是了解科研领域的基本知识,并且找到自己认为最有价值的科研问题,以及针对该问题对自己所提出的解决方案。下面我们进行第二步,我们开始再次阅读文献,这一步阅读的目标是:
- 了解自己在提出问题这一步中寻找到的问题是否已经被其他人研究过
- 自己所提出的解决方案是否曾被人提出过
比较阅读:带着自己的东西去理解别人的东西,通过比较,加深对自己和对别人东西的理解。比较浅我们想要清楚比较什么,也就是阅读的目的。
完成以上两步,提出问题这步基本上就是完成了。这步的目标,就是通过独立思考,提出有价值的问题和初步解决方案。同时,通过比较阅读,明确自己的科研贡献、意义合奋斗目标。
第三:时间分配和论文规划
一篇论文是一项长期的工程,我们至少需要投入几个月时间。因此,在我们正式启动之前,应该对我们的论文有比较清楚的定位和规划,甚至需要为自己确定一个时间表。
首先,我们需要先为自己的论文定位。根据问题和解决方法的不同,论文可以分为以下四类
新问题,老方法:自己提出一个前人没有考察过的新的科研问题,但是解决这个问题使用传统的方法。
老问题,新方法:我们研究的问题是一个学术界研究了一段时间的问题,针对这个问题,我们提出了新的解决思路。这类问题通常是一些比较基础性的,已经长期存在但尚未被很好解决的问题
新问题,新方法:我们提出了一个新的问题,并且采用了一种新的思路和方案解决了。这是论文的最佳状态。
老问题,老方法:我们研究的是一个已经被深入研究的课题,并且使用了类似前人的方法。这类问题是我们在第二步就应该提出的,不应该再花时间
其次,一个课题可能很复杂,有很多参数要去设置,很多情况需要考虑。此时我们需要能够将这个大的课题切分成若干个小的课题,让这个课题能够在可控的时间内逐步地有所产出。
切分课题,是为了让我们在可控的时间内先做出一些成果并发表论文,这对我们是一种鼓励。写论文就像打仗,一鼓作气,再而衰,三而竭。一个题目的时间拖的太长而没有任何成果发表,会让我们失去兴趣。因此,切分课题,控制一篇论文所需要汇报的内容很重要。
最后,根据自己论文课题的复杂度,应该为自己确定一个时间表。这样当自己错过了这个时间表时,你就应该反思原因是什么?是不是因为自己偷懒了,从而督促自己的进度,对于一般的课题,通常的时间规划是用四个月的时间完成,每个月有不用的任务。
第一个月用来提问题,调研,阅读文献,确定自己的设计方案。这就是我们先前讲的提出问题和比较阅读。
第二个月用来进行数学建模和分析。这需要依靠我们的数学功底和平常的积累。
第三个月用来仿真。举个例子,写仿真程序和调试程序大概需要一个星期,所以大概半个月就能够完成仿真的编程。接下来要设计仿真和设置参数。
最后一个月完成论文,然后提交给导师和其他合作者修改
2.3 分析和解决问题
我们所需要解决的科研问题通常可以分为两类:性能分析与优化算法
性能分析主要针对通信系统的需求来设计通信协议,然后采用数据建模和分析的方法来建立系统参数与系统性能之间的关系,从而优化系统参数以获得最佳性能。
优化算法根据通信用户的服务需求,直接将系统设计建模为优化问题。
比较两者,通过性能分析来设计系统,可以获得系统系能的准确数据表达式,因此可以较为精确地了解参数对性能的影响,从而指导现实世界中的部署。采用最优算法,如果可以找到问题的最优解,就可以获得最优的系统性能,但是无法有货的这个性能的具体数学表达式。优化算法给出的协议,只是以一种数值计算的方法来逼近这个最优的性能。
性能分析工具
性能分析主要采用随机建模的方法,使用概率论、排队论、马尔科夫链等数学工具,
数学规划
数学规划或优化有很多不同的类别,如凸函数优化,整数优化等。不同的优化方法,主要是通过所要优化的系统的不同特性来采用的。比如系统是否是个非常动态的系统,是否存在随机变化的系统参数量,是否有集中的控制等。
这篇关于科研有方 ——科研准备和科研步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!