1 新智元校对
翻译者:闻菲
那时是2016年9月12日AI WORLD 2016当今世界人工智慧讨论会第三阶段 36天起航期5折总貌第三阶段 7 天【新智元编者按】开发人员 Per Harald Borgen 在 Medium 发表文章,如是说了他在两年的天数里,从进阶到掌控机器自学的心路历程。Borgen 则表示,即便没硕士学位和深奥的微积分天分也能掌控机器自学。这一点儿坚信对许多人都挺有诱惑力和启迪。但是,硕士学位也许吗绝非要,但要掌控机器自学,学再多的微积分也不能当是。上面就上看 Borgen 不离岗,从红人变黄鑫提高业绩预期的故事情节。
第二步:Hacker News 和 UdactiyBorgen 对机器自学的兴趣始自 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 在文章末尾写道:“如果我做得到,你也做得到。”
尤其是工作中的开发人员,你不想试试吗?
ium.com/learning-new-stuff/machine-learning-in-a-year-cdb0b0ebd29c#.pj6h7f5xk)
AI WORLD 抢先看新智元特派记者前往蒙特利尔大学音频采访深度自学三大缔造者一Yoshua Bengio教授,这也是Bengio教授第一次接受中国媒体的独家专访。想看他对中国人工智慧的看法?『AI WORLD 2016 当今世界人工智慧讨论会』10月18日·北京·国家会议中心我们不见不散!