当前位置: 首页 > news >正文

一个机器学习博士生的忠告

题主似乎没有明确自己是博士生,以下假设为博士生。

1、首先,请以一个局外人的理智角度,对你的导师进行如下分类: 
① 圈内大牛,高水平论文很多,目前自己仍在亲力亲为参与科研工作,请转2 
② 简历里面有一些高水平论文,但是似乎并不能算是大牛,请转3 
③ 其他情况,请转4

2、这一种情况是比较理想的,个人认为你的关于论文的疑惑,其实可以尽量多和你的导师交流。不说科研这么大的话题,单单就写论文来说,其实有很多的技巧和潜规则,与其自己去试错,不如从导师那里多取取经。

3、这种情况,自己需要多上心,导师可能因为忙于行政之类的原因不能对你进行直接的指导,那么自己一定不要放任自流。国内的现实情况,导师手下学生实在太多,绝大多数的事情没有可能帮你考虑。具体到机器学习的研究,可以先和导师讨论确定一个大致的方向,然后自己寻找一个具体的问题(如果导师一直不能帮你确认大致方向请转4)。在拟定研究问题的时候,这几个问题必须有肯定的回答: 
① 你是否可以获取到最前沿论文中使用的实验源数据(参照最新会议论文,机器学习领域请参照ICML NIPS AAAI CVPR等) 
② 对于这些实验源数据,你的计算资源是否能有效承载(例如,只有五年前配置的机器的话,深度学习方向的搞起来会倍加困难) 
③ 对于研究问题本身,以及问题背后的抽象理念,你本人是否认同和喜爱(当你研究一类算法,如果自己都觉得不喜欢,出idea的速度会明显变慢) 
④ 该研究问题,近3年的会议和近5年的期刊文章中,是否还有持续出现 
上面这几个问题,是有效开展一个研究课题的必要(但并非充分)条件。可以看出,和已有的回答一样,要回答这些问题,要求你必须对这个小问题相关的研究有一个整体的把握,自己动手写一个survey是比较好的途径,参考文献超过100的时候大概算是入门。到那个时候,你自己就会有各种各样的想法等待实现,当然,这些想法里面大概有40%不靠谱,有40%是别人做过的,有10%你没能力做,会转化成你的论文的就是剩下的10%,不过这些都比较简单了。

4、【一流大学的同学,以及导师足够靠谱的同学,就不用向下看了,意义不大】 
如果你发现落到了这样的情况,自己就一定要警惕了。这种情况对于博士生是极端不利的,稍有不慎就会让自己未来的几年极端痛苦(亲身经历)。那么,我有以下几点建议: 
① 注意管理时间。即使你是一个努力和注意自我约束的人,你也一定要注意自己的日常科研时间是否被用在了与自己科研相关的事务上。几个简单的例子: 
a)大量时间用于做导师的横向项目,横向项目与研究课题基本无关或工程性质过强。 
b)在导师的要求下进行类似于数据采集/数据预处理相关的工作内容,并且没有用到任何具有前沿性的技术。 
c)导师完全不管,自行寻找研究方向但不得其法。 
② 多动手,少学习。这里所谓的“少学习”指的是,不要因为你要用到的工具包需要使用你从未接触过的python语言,就抱着一本python编程指南啃三星期。这种“学习”基本上是浪费时间,关于matlab、python、hadoop、opencv、nltk……这些耳熟能详工具的使用,请活用官方文档、百度以及google,按照你的需求,边做边学即可。 
③ 多和导师诉苦。俗话说会哭的孩子有奶吃,不要觉得自己很厉害很清高就闷着头自己干,你的导师也许科研能力不行,但是你要认清现实:只有他可以帮得上你。即使只是给你换一台性能好的计算机或者大一点的桌子,对你的科研都是促进。 
④ 多写论文。尤其是在读博的初期,不要因为担心论文水平不行就不敢动手写,正确的做法是,在完成了survey过程后,应该保持持续的论文写作,只要你超过10天没有写论文,就应该给自己亮红灯。原因如下: 
a)论文是你毕业的筹码,没有筹码,你就什么都没有。 
b)论文只要别太烂,写出来总是能发的,也许被退好多次,也许投低档次期刊,但都能发。 
c)写论文是需要练习的,在写出好论文之前,一般需要写好多烂论文。 
d)除非你天赋秉异或者英语极好,否则无论你的创新多么好,单就语言来说,你刚开始写的英文论文基本上在外国审稿人看来就是狗屁不通。 
e)多被reject几次,就知道论文该怎么写了。 
⑤ 关于题主说到的,感觉各种算法都被改进过了,不知道从何下手的问题。其实主要还是源自对研究问题和相关方法的不熟悉,并不需要特别担心坑已经被填完了的问题。你可以去瞄一眼这个论文:Manuel Fern andez-Delgado et.al. Do we Need Hundreds of Classi ers to Solve Real World Classi cation Problems? ,Journal of Machine Learning Research 15 (2014) 3133-3181。里面对比了用于分类的179种算法,这些算法也都是发了论文的,可以说其中大多数在实际上并没有非常好的应用价值。于是大家不要太紧张,任何一点点小的改进、想法在合理的包装下都可以是一篇优质的论文。对于题主来说,可以多考虑一些idea的combining,比如有人用方法1解决问题A,有人用方法2解决问题B,那么我用方法2的思路改进方法1从而更好地解决问题A,这就是能够出论文的点。 
⑥ 工欲善其事必先利其器。从论文查阅和下载,文献管理,笔记管理,数据收集和整理,实验工具,论文写作流程等各个方面,多优化自己的工作流程,省下来的时间哪怕用来睡觉都是好的。重复上面说过的,请活用百度和google,当然如果你有靠谱的师兄师姐也可以。 
⑦ 多学习。这和上面的②不冲突,这里说的学习,指的是和你科研能力息息相关的基础知识体系,而不是如何用python实现你的一个简单想法。无论是经典的课本(PRML, MLAPP, ESL等)还是经典的公开课(Ng的机器学习,林轩田的机器学习基石+技法),都是需要花时间去学习的。否则你会发现,你以为读懂了论文,其实你还是不懂,所以你也没法做出自己的研究。

相关文章:

  • 喂,你是在学习还是在逃避?
  • 工作中四种重要的能力------谈谈工作两年后的一点思考
  • 像外行一样思考,像专家一样实践
  • 认识SCI、EI、ISTP、IEEE等和算法论文
  • 反演
  • BP神经网络入门
  • 模块涉及摄像头 文件系统 LCD
  • Latex 用法
  • KD树
  • opencv3计算机视觉:python实现
  • SLAM求职经验帖
  • FLANN匹配算法
  • 图像处理行业入门
  • 如何学好图像处理
  • 图像检索综述 (传统方法)
  • 【Leetcode】101. 对称二叉树
  • golang 发送GET和POST示例
  • happypack两次报错的问题
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • JavaScript服务器推送技术之 WebSocket
  • Java教程_软件开发基础
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Median of Two Sorted Arrays
  • mysql 5.6 原生Online DDL解析
  • node-glob通配符
  • React Native移动开发实战-3-实现页面间的数据传递
  • tweak 支持第三方库
  • 分享一份非常强势的Android面试题
  • 高程读书笔记 第六章 面向对象程序设计
  • 算法-插入排序
  • 小而合理的前端理论:rscss和rsjs
  • 新书推荐|Windows黑客编程技术详解
  • 异步
  • 我们雇佣了一只大猴子...
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #Linux(权限管理)
  • $GOPATH/go.mod exists but should not goland
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (四)图像的%2线性拉伸
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • ./configure,make,make install的作用(转)
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .gitignore文件---让git自动忽略指定文件
  • .NET BackgroundWorker
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • .net下的富文本编辑器FCKeditor的配置方法
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)