毕业答辩终于结束了,虽然没有什么特别新的点子,但其中点点滴滴经验值得记录下来。
1.确定研究方向
刚开始毕业设计时一点头绪都没有,论文题目都难得确定下来。多亏师兄指点才确定了论文研究方向。
为了让答辩老师明白你毕业设计做了些什么,所以一定要把要解决什么问题->怎么解决这些问题->解决的效果怎么样。所以论文要用程序说明你确确实实解决了那些问题。
经过师兄指点大概确定了论文研究方向为随即行走理论在聚类中的研究。
2.程序实现
程序实现是个大问题,以前没有用过matlab,为了学matlab还专门借了matlab书,最终也没有翻几页,大部分知识网上一搜就有。所以个人感觉对于本质上,原理上
的东西还是需要看看书,但如果语法不懂网上多的是可以对症下药查找,这个比书方便多了。
就这样在晃悠无聊中过了大半个月,还不敢动手,matlab语法书也看不下去。终于有一天开始决定不管三七二十一写吧,首先在纸上记录了程序要做的几个步骤。
1).造数据集2).生成k邻近图3).随即行走4).看聚类效果
发现写下这几个步骤很有好处,虽然没有规定必须那一天要完成,至少当我可能漫无目的飘着的时候,知道现在动手做哪一步。就这样根据上面几个步骤写程序,细节处是
当天计划下来的(比如早上开始写程序时规定今天写完这个小算法,这样的计划有督促性且比较有可行性),在写程序过程中出现了我以前没有想到的问题,这时才真正感觉到刘
未鹏《暗时间》里对书写作用的思考,与其漫无目的的想着,不如就动手,对着写下的文字反思。
程序写完后发现效果不对马上找错,发现应该把最小生成树与k-邻近图叠加起来。在写最小生成树的这样的算法时,绝对要先把算法步骤弄清楚。当时找了从网上找了一个迪
杰斯特拉算法,发现运行有点问题,对程序分析了半天也没有发现什么错误。后来通过画图演示,发现给环做标记时变量赋值错误(这也是迪杰斯特拉算法的核心)。所以对于算
法必须有怎个框架和具体难点怎么解决的思路,不然给一个变量赋错值程序白写了。
ps:从程序实现这一阶段得出1.做事要有大框架细小计划2.写算法要对算法步骤清晰和难点怎么解决3.大胆写,小问题在写的过程中会冒出但很容易解决,不大胆写这
些问题被发现的时间越晚,效率越低。
3.写论文
写论文也要很有规划,开始我就一个劲的从头写到尾。后来发现这些旁支末节可以先不写,先把论文框架搭起来,写核心部分。比如,最小生成树,k邻近图,随即行走及其
距离计算。也许是偷懒,对其中用到的一些参考文献没有好好记录下来,这后来写参考文献资料时又得重新找一遍,当时懒的代价,让更多的时间和埋怨来买单了。对论文文档
备份和更新也很重要,当时每次打开电脑时就到处找上版的论文,其实可以像程序版本那样来个1.v,2.v加点进度说明什么的。
ps:不要偷懒,现在沉下心,多勤快点,为了将来能够更加轻松点。
4.答辩
由于工作前面都做完了,答辩时比较轻松。但有一点值得注意,老师叫我们把论文和程序整理起来。这一看我才发现好多程序都没有写注释,特别生成人工数据集的程序当
时偷懒以后没用了,没做备注,整理起来相当麻烦。所以以后对有用的东西,有结果的东西一定要备注起来。
因篇幅问题不能全部显示,请点此查看更多更全内容