正文
可现实是,你的时间是有限的,数据科学的知识却是日新月异。今年的热点,兴许到了明年就会退潮。深度学习专家Andrej Karpathy评论不同的机器学习框架时说:
Matlab is so 2012. Caffe is so 2013. Theano is so 2014. Torch is so 2015. TensorFlow is so 2016. :D
怎么办呢?
你需要以目标导向来学习。
例如说,你手头要写的论文里,需要做数据分类。那你就研究分类模型。
分类模型属于监督学习。传统机器学习里,KNN, 逻辑回归,决策树等都是经典的分类模型;如果你的数据量很大,希望用更为复杂而精准的模型,那么可以尝试深度神经网络。
如果你要需要对图片进行识别处理,便需要认真学习卷积神经网络(Convolutional Neural Network),以便高效处理二维图形数据。
如果你要做的研究,是给时间序列数据(例如金融资产价格变动)找到合适的模型。那么你就得认真了解递归神经网络(recurrent neural network),尤其是长短期记忆(Long short-term memory, LSTM)模型。这样用人工智能玩儿股市水晶球才能游刃有余。
但如果你目前还没有明确的研究题目,怎么办?
不要紧。可以在学习中,以
案例
为单位,不断积累能力。
实践领域需求旺盛,数据科学的内容又过于庞杂,近年来MOOC上数据科学类课程的发展,越来越有案例化趋势。
一向以技术培训类见长的平台,如Udacity, Udemy等自不必说。就连从高校生长出来的Coursera,也大量在习题中加入实际案例场景。Andrew Ng最新的Deep Neural Network课程就是很好的例证。
我之前推荐过的华盛顿大学机器学习课程,更是非常激进地在第一门课中,通过案例完整展示后面若干门课的主要内容。
注意,学第一门课时,学员们对于相关的技术(甚至是术语)还一无所知呢!
然而你把代码跑完,出现了结果的时候,真的会因为不了解和掌握细节就一无所获吗?
当然不是。
退一万步说,至少你
见识
了可以用这样的方法成功解决该场景的问题。这就叫
认知
。
告诉你一个小窍门:在生活、工作和学习中,你跟别人比拼的,基本上都是认知。
你获得了认知后,可以快速了解整个领域的概况。知道哪些知识对自己目前的需求更加重要,学习的优先级更高。
比案例学习更高效的“找目标”方式,是参加项目,动手实践。
动手实践,不断迭代的原理,在《如何高效学Python?》和《创新怎么教?》文中我都有详细分析,欢迎查阅。
这里我给你讲一个真实的例子。
我的一个三年级研究生,本科学的是工商管理。刚入学的时候按照我的要求,学习了密歇根大学的Python课程,并且拿到了系列证书。但是很长的一段时间里,他根本就不知道该怎么实际应用这些知识,论文自然也写不出来。
一个偶然的机会,我带着他参加了另一个老师的研究项目,负责技术环节,做文本挖掘。因为有了实际的应用背景和严格的时间限定,他学得很用心,干得非常起劲儿。之前学习的技能在此时真正被
激活
了。
等到项目圆满结束,他主动跑来找我,跟我探讨能否把这些技术方法应用于本学科的研究,写篇小论文出来。
于是我俩一起确定了题目,设计了实验。然后我把数据采集和分析环节交给了他,他也很完满地做出了结果。