电子说
无论从学术研究还是就业来看,机器学习都算是现在一个非常火的方向了,许多学生在申请硕士或者博士的时候都选择这个方向,甚至不少不是这个方向的学生也决定换导师,转向机器学习。
但是作为一个出现时间不长的研究方向,没有前车之鉴,不知道怎么选项目、不知道怎么开始项目等问题难住一些刚起步的博士。
在Reddit上就有刚刚开始攻读机器学习方向的博士在线提问,怎么成功读完机器学习博士?有许多网友热心提供了答案,有的答案非常中肯,不仅值得提问者参考,也适合每一个准备从事机器学习的人——无论是学生还是从业者。
一位题主是一名最近换了导师转向机器学习的博士生,他问道:我目前已经进行了初步学习,尽管我已经想到了一些项目,但我认为它们不足以让我获得博士学位。大家有什么好的建议吗?不胜感激!
不要重复造轮子,要把当下需要解决的问题作为方向
第一个回答者认为需要请教导师,知道当下这个领域的前沿研究和已经完成的研究,不要做别人已经做过的研究,只有创新才有价值。以下是回答的原文翻译:
我认为,要获得机
器学习博士学位,你需要一个好的项目,通常是以新算法、新定理、或者是对以前就有的算法进行修正,总之是全新的形式,而不仅仅是对数据集应用一些旧模型。
这是我的看法,也是我的这个领域的工作方式,而且据我所知,这也是它在大多数其他领域的工作方式。也就是说,如果你想做一个全新的项目,首先你必须知道这个领域什么已经被做到了。
但是你不能回顾所有的论文看看人们都做过什么,所以你必须缩小范围,从小处入手看看你想做什么。从这个意义上说,你的导师应该指导你,因为他们知道学术界正在研究什么。然后去和他们交谈,问他们手头正在做什么,有什么事亟待解决的问题,以及他们认为哪些方向值得去探索。
我在强生都做过什么机器学习项目
第二个回答者是一名从业者,他没有给直接的建议,而是详细地说明了自己作为一名从业人员在工作中做的项目,试图告诉题主机器学习在产业中可以做什么。
下面是回答原文翻译:
我在强生公司工作了两年,做了很多项目,学到了很多东西。其中包括使用机器学习进行预测,将预测结果与传统的预测方法进行比较,并建立了一个模型,该模型将这些不同的参数作为输入,从而看到改进的结果。
我还做了NLP和情绪分析,试图确定Twitter上大家对某些产品的共识,并观察收入是如何随着情绪低落而下降的。我还参与了异常检测的一个项目,在这个项目中,通过客户的评论,我可以判断他们购买的产品是否被篡改、假冒或其他违规操作。我用LDA,fuzzy和KNN进行了主题建模,看看这些评论是如何聚合的,或者他们是如何将特定的词汇组合起来,这样就可以在特定的词汇中增加更多的权重,从而进一步关注。
第三名回答者是一位专注于深度学习的博士生,他用自己的研究举了个例子。下面是回答原文:
我的关注点是在很大程度上尚未被触及的领域,并在此领域开发和应用深度学习模型。
我的工作本质上是将数字图书馆应用于农业领域,在农业领域,数据有时是非常不均匀的,并且很难获得。如果归结起来是对几种情况进行一系列可行性研究,进行比较分析,并为该领域提供实际工具,以帮助基层生产商的决策过程,以及帮助他们的专家进行分析。
因此我认为,在一个领域内进行一系列的应用或可行性研究是一个不错的选择。
教授:如果自己实在没方向,可以直接问导师
第四位回答者是一位机器学习领域的教授,他的回答很有意思:
我是一个机器学习专业的教授,通常博士生不会根据我给他们的方向来工作,他们想要在论文中提出他们自己的想法!当然,如果你不是那样的人,告诉你的导师。他可能有很多想法,至少我有。
迷茫的机器学习新博士,该如何进行研究?
还有一个题主是一个新的机器学习博士,方向是是计算机视觉,主要是语义和实例分割,他表示自己有点迷茫,一下子提了很多问题:
你是如何在这个领域进行研究的?日常工作是什么样子的?
你关注新的神经网络结构和并且亲自重现他们的实验吗?
你会只是下载其他人的模型然后在自己的数据集上跑跑吗?
你如何看不同的知识结构、论文?能给我一个你读过的所有论文汇总么?或者还有什么具体的建议?
第一位回答者直接给了一个从事实证研究的“速成课”。
1、做实事。如果你还没有实现目标,那就从最底层做起,一步步往上爬。比如我完成我第一个“新”的想法的中长期规划:
2、在做事情的时候,要注意细节。你可能会发现有些事情做得不够理想(为什么使用5x5过滤器而不是convs?或者想出更好的方法,例如如果我使用卷积层,所有的权值都是由某种张量积构成的呢?如果我把损失函数调整得这里更平滑,那里更清晰呢?别犹豫,大胆尝试你的想法。
3、在你尝试了很多想法之后,你就开始有感觉了,对你正在学习的东西有更深的理解。想想你真正想要学习的是什么——你关心潜在的任务吗?或者说问问自己,我可以通过做这个任务来学习神经网络训练的一般知识吗?可以通过提高分数来学习优化知识吗?
4、你的一些想法会是有效的,但绝大多数不会,关注你失败和成功的地方,并批判性地思考它们背后的现象。为什么想法A能提高性能,而想法B却不能?
5、一段时间后,你会有更多的想法但你没有时间去实现,有更多的新知识单没有时间写在纸上。理想情况下,你的研究方向意味着:在任务X中,方法a占主导地位。但是如果我们调整方法A而应用方法B去修改任务X,这通常情况下会发生什么?或者你可能会说,“每个人都在关注Y,但是如果我关注Z呢?”,或者如果我们试着用这种方法得到问题Y的答案而这种方法以前从未尝试过呢?”(ICLR几年前的反思泛化论文就是一个很好的例子)。所以多写论文,论文是一种媒介,通过它,你可以尽可能简洁、清晰地表达你的知识,并提供支持的经验证据。
6、清洗和重复。考虑一下这个过程,因为你总是再往前走的,考虑你的研究方向,试着调整你的能力,深入到你真正想要回答的问题。对一些人来说,这意味着少花点心思在排行榜上;对一些人来说,这意味着更多地关注于登上排行榜首位的最佳方式(两者都是有效的!)
第二位回答者则不建议太关注做项目本身,他认为多读文献也很重要,利用别人的模型来作对比也无可厚非。
这个问题中很多人似乎都专注于测试、测试、测试。但是我最好的建议是阅读(和理解)论文。先在脑海中对你的领域有一个整体的印象,并弄清楚你想着手做什么。然后阅读越来越具体的文章,对你想要研究的内容也越来越具体。
与此同时,保持开放的心态,不要过于专注于你的特定主题:从其他地方获得灵感,也想提高你的创造力。如果你不知道从哪里开始,向你的教授要一些参考书,也许6本左右,这样可以帮助你掌握相关关键的知识和最新技术。在我看来,先上手项目再理解知识完全是无用功
题主追问:
你关注新的神经网络结构和并且亲自重现他们的实验吗?
答主回答:
一旦你对你的方向有了一个很好的了解,你就会发现你遗漏了什么,你也会看到哪些文章是朝着正确的方向发展的。把你的工作建立在他们所做的基础上,然后结合你自己的想法,如果您在一个已有的模型中看到一个缺陷,看看你是否可以改进,从而提出一个不会受到缺陷影响的替代方案。如果你有一个好主意,试着正式地表达出来,和你的导师谈谈。
题主继续追问:
你会只是下载其他人的模型然后在自己的数据集上跑跑吗?
答主回答:
你总是需要一个基准来和你的工作进行对比。可以找到一些类似于你正在做的项目,在你的原始数据上尝试一下,看看你是否可以复制论文的结果。
全部0条评论
快来发表一下你的评论吧 !