机器学习、数据挖掘 如何进阶成为大神?

理由
举报 取消

本人研一,目前已经将机器学习的基础知识部分以及学习了不少,目前深入学习包括了《PRML》、《统计学习方法》、《矩阵论》、《最优化方法》、吴恩达《机器学习》视频、部分《凸优化》、《数字图像处理》;[PS:本人有c/c++/matlab/java的语言基础,python还没有用过;]我目前还没有任何机器学习方面的实践经验,不知道接下来我改如何学习,如何进阶到更高的层次,求大神分享经验!

2017年7月4日 10 条回复 1821 次浏览

回复 ( 10 )

  1. Luau Lawrence
    理由
    举报 取消

    现在知乎上越来越多的Data Mining/Machine Learning的回答都是在推荐Coursera公开课、推荐PRML/ESL/MLAPP、推荐好好看书听课做习题,其实这些内容和步骤是有一定局限性的,不适合出现在DM/ML进阶的问题中。一是Coursera的公开课太简单,偏向于入门,对于有一定基础的同学来说信噪比太低,讲得大多数都是已经知道的东西,我自己也曾经尝试过为了追求知识体系的完整性而去从头学一些东西,最后发现效率实在是太低了所以作罢;二来是题主已经看完了该看的书籍,也懂得怎么去找书刷习题。一般寻求进阶的同学,不是不知道看书刷题听课,而是这些手段对他们来说提高已经很有限了。

    我个人的建议,如果想走industry track,就好好去找人内推你去实习,这是最快的办法。工作中有许许多多比你厉害的人有踩过无数雷坑的senior,向他们学习比看书看公开课效率高多了,而且还可以积攒你以后会用到的人脉,强调一下,人脉这个东西真的很重要,即使在相对来说更崇尚技术的计算机行业。尽量在实习期间撸一个完整的项目,不管是对你的career,还是对你对技术的理解,都是大有帮助的。

    如果走research track,选一个细一点的方向,for example,increamental learning, LDA, entity recognition等等,然后多去读paper发paper(发paper的话,灌水要适度,更重要的是打基础)。有时候即使看了书做了习题,那也是别人写的书别人设计的习题,真实的情况中有大大小小的坑等着你,等到你真正拿着书上的东西去做一篇paper出来才会发现自己之前知道的实在太少了,发paper是一个非常有益的提升自己的事情。

    另外还要广泛涉猎各种书籍,可以是关于DM/ML的,也可以是关于抽样与统计推断的,也可以是关于热力学和复杂网络的,多去读多去看,往杂了学,提高自己整体的科学素养。基础打好了,等到读PhD的时候产出就会特别高。

    评论有提到一个问题,如果毕业想去企业但是在读期间导师又不让实习怎么办?先争取把导师的任务完成得尽善尽美看能不能争取去实习,不能的话,就找几个靠谱的小伙伴一起刷比赛吧,也是蛮好的。

  2. 熊辰炎
    理由
    举报 取消

    谢邀,

    真的深入学习了这些的人不应该来问这个问题。

    如果不是钓鱼问题的话,下一步就是大量看paper,开始做自己的科研了。可以也看看Stanford,MIT,UCB和我们CMU的机器学习系的PhD课程。把推荐的reading,homework,project什么的看看。

    如果是往工程方向走的话就是搞搞开源项目,或者进公司做实际产品了。

    另外这种问题你来知乎问能问出个啥。 你如果这些书都认真读完也做了不少课后习题,然后又会进一步在这个方向深入的话,本科入门公开课或者网申跟你早就一点关系都不应该有了。

  3. 淩清风
    理由
    举报 取消

    我不是大神。

    背景:某二本院校大四学生;

    说一说自己的学习经历吧。不知道能不能对题主有所帮助。

    跟大多数人一样,是从Andrew Ng大神的coursera课程接触到机器学习。在学那门课的时候也就老老实实的看完,看到最后,听到Andrew说看完这些课程的人基本上已经超过硅谷半数的工程师了(具体不记得了,大意是说看完就屌屌的了),前一秒,我是信的,后一秒,我自问我到底会了啥,无非就知道些机器学习的名词,算法的基本思路。

    然后我该干嘛?

    找本书来看看啊,找另外一个公开课看看啊,给脑子里那个模型增加数据量啊。

    《统计学习方法》+台大的公开课《机器学习基石》和《机器学习技法》这个组合简直杠杠,我敢拍着胸脯说我看了4遍,第1遍是照着课程进度配合书籍一起学习,第2遍是课程完结后的复习,第3、4遍在我参加kaggle比赛的时候进行知识的回顾。

    这个组合里面的书籍可以换成该课程对应的教材。

    看完书籍和公开课,我发现,数学很重要!数学很重要!数学很重要!在看Ng的课时倒还没有这个感觉,看台大课程的时候明显感觉到数学知识的比重陡然增加。然后就看了MIT的线性代数公开课和微积分,这才解决了公开课里面的部分疑惑。

    理论的知识大概了解了,然后我该干嘛?

    python大法好啊!什么C++,java啥的真复杂,直接做个调包侠多么愉快啊。二话不说,直接就学,Python 2.7教程,感谢廖叔叔。接下来就是热门的机器学习算法包scikit-learn: machine learning in Python 。什么,算法输入要求是pandas data frame ,来一本 利用Python进行数据分析 (豆瓣)。 至此,已经学会基本的数据预处理了,这些无论是书籍还是公开课都直接略过不会教的。

    在这里要隆重推荐 周志华老师的 机器学习 (豆瓣) ,目前看过的最好的中文的机器学习教材,涵盖了很多教材所没有的 数据预处理,特征工程。这书,得供起来。

    会调用算法了,然后我该干嘛?

    机器学习?数据挖掘?这两者到底界限在哪里?要不就都看看吧,有了这个想法后,我找了cousera上UIUC 的data mining 专项课程Specialization来看,里面有两门课是大名鼎鼎的韩家炜教授所教的。至此,我知道了pattern mining,搜索引擎的基本框架和原理,文本挖掘和自然语言处理的一点知识,聚类分析的大概。这些课程中都会夹杂着之前所学的机器学习算法。

    每节课课后推荐的延伸阅读文章和书籍非常值得去看一看!

    了解了一些应用,然后我该干嘛?

    玩啊!当然是好好玩机器学习/数据挖掘比赛啊,Kaggle: The Home of Data Science,我把101,playground这两个级别的比赛刷了一遍,然后鼓足勇气参加了一个有奖金的比赛!最后排名状况是在1800多个队伍排300多名。

    一开始不知道怎么去做一个kaggle比赛的时候,我照着 的教程过了一遍,大概就知道整个流程。

    偶然一次,碰到数据量特别大的比赛,数据量上G,套了一个模型上去后,直接memory error。这让我知道了大数据处理平台 Apache Spark™的好用之处,也再一次证明了,学习python的好处 Welcome to Spark Python API Docs!。我在windows 10的系统上尝试着跑一个单机版的spark来玩玩,配置过程一直出错,巨麻烦。这个时候我感受到了linux的友好!(没有黑windows的意思)也因为这样,顺便学习了linux操作系统。推荐 鳥哥的 Linux 私房菜 — 鳥哥的 Linux 私房菜 首頁

    会玩了,然后我该干嘛?

    找工作啊!我在拉勾网、100offer、哪上班和实习僧这些招聘网站找数据挖掘/机器学习的岗位,把招聘要求里面的共同需求点给标记出来。

    • 常见机器学习算法
    • 数据库
    • java、c++、python、R
    • linux操作系统
    • 数据结构与算法

    在知道自己的不足之处后,自然就一直在填补这些简历上面的空缺。

    当然我觉得自己在机器学习算法方面还有很多疑惑和不了解的地方,正准备去研读下经典的PRML。

    其实说了这么多,无非是想说,我是在一次次的需求和兴趣的驱动下去学习的,题主不妨仔细地思考下自己的需求,从机器学习的应用方面去找找灵感,也许会是不错的选择。

    然而我说了这么多,我学了这么些东西,我还是找不到实习!找不到实习!找不到实习!投了简历倒是给我个反馈啊喂!我容易吗我!!

  4. li Eta
    理由
    举报 取消

    题主是否要明确一下成为哪方面的大神?

    是成为非常能coding的机器学习应用大神(熟知各类模型算法的组合和优劣,分分钟能依据具体业务设计模型)?

    还是论文满天飞,各种理论分析,各种bound随便推的学术界大神?

    前者多看ML工具书(比如MLAPP、PRML、ESL、FML等),多写代码。后者多看前沿论文,多学基础理论。

  5. Demonhunter
    理由
    举报 取消

    反正就是一句话:

    Learn by doing, keep your hands dirty.

  6. 卡牌大师
    理由
    举报 取消

    我学了好几年了,还一直感觉自己在入门。。。

    每次看大牛们发的paper,都觉得自己弱爆了

  7. 冰柠檬
    理由
    举报 取消

    本人背景:机器学习、量化投资

    我的看法:理论实践相结合

    就看是先理论后实践,先实践后理论,边实践边理论。这些都是可以的,看个人想法,也看机遇,正所谓缘分天注定嘛!

    下面说一下个人经历,希望对题主有帮助吧。我是属于边实践边理论。

    我最早是在课堂上接触到神经网络,也看了一些书,美颠美颠的以为自己都会了。结果跟随老师做百度的一个项目时傻眼了,完全写不出算法。于是跟大多数人一样,从Andrew Ng大神的公开课开始学习,期间啃了《统计学习方法》、《数据挖掘》、《机器学习实战》等。在项目进行中会发现自己越来越多的不会,项目结束后,继续做金融时间序列的相关研究,慢慢走向了量化投资。

    在量化投资领域,我是大量阅读资料(包括各种论文,经典书籍,研究报告等),设计量化投资策略,编写程序实现,分析总结,继续阅读资料,反复迭代下去。其中理论实践结合中的分析总结很重要。

    说了很多了,最后一句,兴趣才是驱动学习的最大动力!真真的写了篇鸡汤呢?哈哈。。。

    对于题主来说,接下来就是做项目,找实习,更多的去实践。如果有项目的话就踏实的做项目,不多说。

    =============

    最后打个广告,如果没有项目、实习可做,可以找我。个人目前在JoinQuant平台做机器学习在量化投资中的研究,欢迎感兴趣的朋友私信我,一起来讨论用机器学习做量化投资,这是很酷的事情。【机器学习方法研究】——思路整理、支持向量机

    为表达诚意附上部分个人研究干货。

    这是之前回答的一篇资料帖,量化交易主要有哪些经典的策略? – 冰柠檬的回答

    ========下面简单介绍一点,不做详细展开特征选择

    基本面因子:PE,PB,ROE等

    技术指标因子:RSI、KDJ、MA、MACD等

    蜡烛图形态因子:三乌鸦、锤子线等

    大数据等等。。。

    输出

    股价,股价涨跌分类,未来一段时间收益率等

    还有一类用法是利用非监督学习甚至深度学习找到更好的特征

    • 比如找到大涨的股票,然后看大涨前一段时间的形态有没有相似的,利用非监督学习的方法。
    • 套利是看股价的相关性,这样的关系可能不是那么明显地存在于股票的价格中,可能存在于收益曲线中或者方差曲线中,甚至更高复杂度的统计量中。深度学习提供了将原数据投影到另一个特征空间中的方法,而且是高度非线性的。那么,原数据中没有体现出来的相关性,会不会在这种高度非线性的投影空间中体现出来呢?

    貌似歪楼了。。。。

  8. rainer wang
    理由
    举报 取消

    不是大神,只是个学渣,目前也不知道有没有入门,只说下自己感受

    先是看完了《集体智慧编程》一书,这本书设计到很少的数学内容,粗略的介绍了推荐系统的构建,聚类,搜索引擎,模型优化,文本过滤,决策树等算法,以及怎么写爬虫爬数据等等,用作入门还不错,算法主要是用python实现的,请务必按照书中的算法,自己动手实践!如果不熟悉Python,可以买本Python教程看一看,推荐老外写的《Python基础教程》,有中文版,我买的是第二版。《集体智慧编程》豆瓣书评在这里集体智慧编程 (豆瓣)#=====================================================

    更新一下上面提到的两本书的完整书名:

    PRML,Pattern Recognition And Machine Learnin,Pattern Recognition And Machine Learning (豆瓣)

    ESL,The Elements of Statistical Learning,The Elements of Statistical Learning (豆瓣)

    #=====================================================

    以上。

  9. 匿名用户
    理由
    举报 取消

    目前深入学习了prml,又没有实践过,哥们这前后矛盾呀!

    能不能别逗?

  10. 赵惜墨
    理由
    举报 取消

    感觉题主才是大神, 研一能看完

    本人研一,目前已经将机器学习的基础知识部分以及学习了不少,目前深入学习包括了《PRML》、《统计学习方法》、《矩阵论》、《最优化方法》、吴恩达《机器学习》视频、部分《凸优化》、《数字图像处理

    这分明是来嘲讽的。

    反正研一看完这些的, 估计手里怎么也有个ACL了, 要是没有就说明没看完, 用不着下面的人说我强答。。。。。

我来回答

Captcha 点击图片更换验证码