2016 机器学习之路:一年从无到有掌握机器学习

【新智元导读】程序员 Per Harald Borgen 在 Medium 刊文,介绍了他在一年的时间里,从入门到掌握机器学习的历程。Borgen 表示,即使没有博士学位和高深的数学造诣也能掌握机器学习。这一点相信对不少人都挺有吸引力和启发。不过,博士学位或许真的并非必须,但要掌握机器学习,学再多的数学也不会嫌多。下面就来看 Borgen 不脱产,从菜鸟变熟手提升业绩的故事。

第一步:Hacker News 和 Udactiy

Borgen 对机器学习的兴趣始于 2014 年。跟很多人一样,他最初是看到 Hacker News 的帖子,单纯觉得教计算机学东西很酷。那时候他还只是个业余的编码爱好者,连程序员都谈不上。

于是,Borgen 开始了他的机器学习之路。首先,到 Uadcity 看监督学习的视频,然后阅读所有能找到的、跟机器学习有关的读物。

Borgen 总结说,“这给了我一点概念上的理解,不过没有实践技巧。”

同时,他也十分坦承,Udacity 的 MOOC 他并没有上完——只要是 MOOC,他几乎都没有坚持上完过。这一点,无论怎么说,至少让篇文章的置信度倍增。

第二步:挂掉 Coursera 机器学习课

2015 年初,Borgen 为了成为正式的开发人员,参加了 Founders and Coders(FAC)在伦敦的训练营。在 FAC,他和同学一起,每周二晚上会看 Coursera 上机器学习课程的视频。

不用说,大名鼎鼎的吴恩达的机器学习课。Borgen 表示课很赞,学了很多,然而他个人觉得这门课不适合新手。至少他自己,就需要反复看视频才能掌握里面讲的概念——当然,这是 Borgen 的个人感受。不过,Borgen 在 FAC 学的同学也一个个掉队,最终他自己也挂掉了。

Borgen 总结说,他当时应该学一门用机器学习库编代码的课,而不是从零开始建算法,至少应该用他已经知道的编程语言写算法。

一句话,“对新手来说,一边学语言一遍写机器学习算法代码难度是很高的”。这句话有一定的参考价值。

Borgen 的建议是,可以选择 Udacity 的《机器学习入门》(Intro to Machine Learning),更容易入门,上来就能实践,在提升经验值的过程中,学习的趣味性也会增多。

【经验】从简单的实践学起,之后再学困难的、偏理论的东西

第三步:一周学会机器学习

Borgen 在 FAC 做的最后一件事情,就是“一周学会机器学习”。他的目标是,一周以后能够实用机器学习解决实际问题,而他也成功做到了这一点。

具体的经验 Borgen 写在了另一篇文章里。有兴趣进一步了解,可以访问:https://medium.com/learning-new-stuff/machine-learning-in-a-week-a0da25d59850#.elu1hfaak

简单说,在一周的时间里,Borgen 做了以下几件事情:

  • 学会了 Scikit Learn
  • 在真实世界数据库跑了一次机器学习
  • 从零(用 Python )写了一个线性回归算法
  • 做了一点儿 NLP

【经验】腾出一周时间来全身心地沉浸到机器学习里面去,效果惊人。

第四步:挂掉神经网络

成功在一周的时间里拿下机器学习给了 Borgen 自信。因此,在他结束 FAC 回到挪威时,他计划进行第二次挑战——一周内学会神经网络。

然而,事实是残酷的。离开 FAC 那种 沉浸式学习环境后,要一天写 10 小时的代码可不容易。

【教训】找一个合适的环境做这种事情。

不过,Borgen 到底还是学上了神经网络。去年 7 月份的时候,他写完了一个网络的代码。虽然很粗糙,但完成比完美重要,对吧?

下半年,Borgen 换了一份新工作,这在某种程度上影响了他的机器学习学习进展。这一阶段他主要做的是实现神经网络,他把大学时学的线性代数重新看了一遍。年底时,Borgen 写了篇总结:

《学习如何编写神经网络代码》

也是在这篇文章里,Borgen 记录了他从零开始写代码的过程。这篇文章在 Medium 上点赞的数量接近 600。

第四步:在 Kaggle 竞赛中实践

2015 年圣诞节,Borgen 参加了 Kaggle 竞赛。当然,实践的效果是显著的,他得到了通过算法和数据实际迭代实验的经验,也学会了在做机器学习项目时要相信自己的逻辑,“如果调参或特征工程从逻辑上看有用,那么一般都会有用”。

第五步:在工作中建立学习的习惯

2016 年初,Borgen 想将他在去年年底获得的动力持续到工作中,便询问经理是否能在上班时学新的东西——经理答应了。虽然 Borgen 在文中没有多写,实际上,从这个经历中也能学到东西:

勇于提出需求,它们才有机会得到满足——当然,你的需求需要合理。

于是,Borgen 就在上班时也能学机器学习啦(拿钱做想做的事情!)。在 2016 年积累了相关经验以后,Borgen 的第一站是 Uadcity 的深度学习课程。然而,事实证明,对于现在的他来说,Udacity 的这门课已经太浅。不过,课后的 Ipython Notebook 作业却太难。Debug 浇灭了他的大部分兴趣。又一次地,一门 MOOC 被他放弃。

但随后,Borgen 发现了斯坦福的 CS224D,这门课让他获益匪浅。Borgen 总结斯坦福 CS224D 的好处是:

  • 尽管难,但做题从来没有 debug;
  • 课程提供答案,便于加深理解。

尽管 Borgen 仍然没有把这门课上完,但他推荐有兴趣的人去学。

另外,Borgen 在学这门课的过程中,为了完成题目,请了一位家教,时薪 40 美元,这位家教帮他发现了很多问题。因此,他得到了这么一条经验。

【经验】花 50 美元/时的金额聘请机器学习家教,绝对值得。(如果你有机器学习经验,你可以获得时薪 50 美元的打工机会。)

学以致用,提高销售额

Borgen 在工作中实践机器学习,他搭建了一个系统,节省了公司销售部门同事的很多时间。相关代码:https://github.com/xeneta/LeadQualifier

以上就是 Borgen 在实际工作中一年掌握机器学习的历程。不管带不带感,至少十分真实。Borgen 在文章末尾写道:“如果我做得到,你也做得到。”

尤其是工作中的程序员,你不想试试吗?

编译来源:Machine Learning in a Year(https://medium.com/learning-new-stuff/machine-learning-in-a-year-cdb0b0ebd29c#.pj6h7f5xk)

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2016-09-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技大本营的专栏

NLP顶级专家Dan Roth :自然语言处理领域近期的任务和主要应用

记者 | 周翔 AI科技大本营1月28日消息,《麻省理工科技评论》新兴科技峰会EmTech China在北京召开,营长也受邀参加,会上有多位人工智能领域的重磅大...

37460
来自专栏人工智能头条

知人知面需知心——论人工智能技术在推荐系统中的应用

24050
来自专栏大数据文摘

重磅清单 | 当前AI领域尚未攻克的29个难题及进展评估(附百篇文献)

21630
来自专栏专知

剑桥大学计算机系博士孙琳:自然语言处理(NLP)的发展以及在教育领域的应用情况(附报告pdf下载)

? ? 大家好!我是孙琳,很高兴参加TAB教育科技论坛,今天分享的题目是“教育应用中的自然语言处理”。首先我先做一下自我介绍,我是剑桥大学计算机系的博士,博士...

66950
来自专栏机器之心

人物 | Yann LeCun:让Facebook学会思考的人

选自BuzzFeed 作者:Alex Kantrowitz 机器之心编译 Yann LeCun 是深度学习研究领域内一个响当当的名字。作为 Faceboo...

28190
来自专栏华章科技

一文看懂人工智能:原理,技术和未来

【新智元导读】Facebook 官方博客更新,FAIR 主管、深度学习代表人物 Yann LeCun 与同事撰文,深入浅出解释什么是人工智能、人工智能如何影响我...

12220
来自专栏数据的力量

干货 | 金字塔原理图文演示:演讲和写作的必杀技

14120
来自专栏大数据文摘

斯坦福项目NeutralTalk:让电脑像人一样看懂照片

232100
来自专栏人工智能头条

大伽「趣」说AI:腾讯云在多个场景中的AI落地实践

AI技术已经家喻户晓。不论是移动终端设备,还是企业系统平台,都开始集成AI能力,现阶段看,AI融合到各个行业的潜力非常巨大,能够在众多场景中发挥作用,比如云计算...

17240
来自专栏CDA数据分析师

数据分析从哪里开始入门学习,可以推荐的书有哪些?

数据行业在迅速的发展,几乎每天都会出现新的技术和方法。因此,想要跟上这个行业的步伐是有挑战性的。之前CDA数据分析师曾列出了15位在科技和数据科学领域最具影响力...

44050

扫码关注云+社区

领取腾讯云代金券