在给老师汇报看的第一篇论文时,汇报了自己从细节开始看起,推导一步步的梳理。
但是老师让我并不这么做,原因就不细说了,加在自己以下的总结中。如下:
我是第一次搞科研,在看文章的时候,注重文章的大体结构:
abstract, introduction, preliminary knowledge, the model the author proposed and how he solve it(if the model is about traditional algorithm) ,experiments ,results and conclusion .
重点是作者提出的模型思想,至于如何解这个模型可以暂时降低要求。因为老师给我的论文是很详细的,而老师给的topic多数和之前已经有人提出的,已经成型的topic不一样,所以注重思想,对于细节性的东西对于初涉科研的我不用太去关心。
还有就是看别人的论文,涉及的代码一定要跑一下,把结果复现出来,涉及到experiments我要留意一下,因为自己编程能力不是很强。有意识地锻炼。
2019.1.2续:
现在已经正式的在无监督学习的路上了,涉及到的都是各种角度的流形学习方法:LE,LLE,LPP以及度量学习的内容。
整个过程分为几大步:
1.论文的思想在哪里的创新?我要将这种思想记录下来,看能否与自己的想法产生共鸣,从而提出自己的idea
2.思想的数学表达形式,现在涉及到的东西,很多东西都是传统的算法,相关模型最后都转化成了一个优化问题。
而因为自己优化方面的系统知识完全不懂,所以数学推导就GG了。导致自己无法更深入的理解模型。
3 编程复现算法,因为自己优化知识的不足,很可能导致自己 看别人的代码时,不知道这几行代码是做什么用的。
即使是封装起来,将某段代码看成黑盒子,整体知道有什么用处后,自己完全写代码,也还是有些问题。
总之,第3步,要编程实现代码。
4 最后一步就是,将所看到的论文思想总结出来,与自己现有的整个机器学习框架融合在一起,搞清楚论文能在哪个地方使用?(数据的预处理?还是特征之间的可视化?等等,到了这一步时,要注意到论文所给出的“假设”是否能很好的与实际中的数据所一致,即:明确当前论文的思想在解决实际问题时的限制与不足。)
2019.2.3续:前几天回来后,老师有给任务,
内容是老师对于Clustering and Projected Clustering with Adaptive Neighbors给了一个变体的实验部分,
接下来的内容主要以此为主体,进行回顾和复习。
1.在作者提供源代码的基础上,边看论文,边看代码,搞懂代码的每一步的目的。
2.根据老师所给变体的目标函数,确定优化方式,结合原论文的步骤和变体的优化步骤,对原论文代码进行更改,达到目的。
3.跑数据,从而判断代码是否正确。
4.调参,这一步很重要,因为代码不是全部都是自己写的,有一部分是来源于原作者的,所以一定要注意一些参数的意义,
我在跑的时候,因为搞错了了簇数,所以发现指标怎么也上不去,过了好一阵,才发现并更改了过来,一定要细心!
5.调参时,要记录指标值和对应的参数值(用LaTex对比)。当指标比较优时,要进一步的细调。