最后,这些年出现了很多非常棒的工具,从 scikit-learn 到 Theano、 TensorFlow 和 Keras,使得进入机器学习的门槛降低,这也让我很兴奋。这些工具带来的便利让我们不用太担心技术上的部署问题,还让我们集中关注我们想解决的实际问题。 4. 你是如何在紧张的工作中挤出时间做那些小项目的? 这个问题问的好,说实话,我没有什么秘密可以分享。我觉得这个问题就像是:人们总是说要控制体重,但最终问题还是会归结于每日的热量摄入与消耗。而且,每天只有 24 小时,没人可以延长这个数字。我认为挤出时间的秘诀是你需要对这些小项目感兴趣,这样我就会自然地减少其他业余活动的时间,如看比赛,读小说等等。当然,你的关注点也是很重要的。我觉得对大多数有趣的东西说「不」是其中的关键。我没有说我们必须全天无休止地工作,我想表达的是:如果你有一个绝妙的想法,你通常会挤出时间来实现它。 5. 解决机器学习问题时最适用的数学是什么? 统计、概率论、线性代数 和微积分。 统计和概率论,因为首要任务之一通常是在区别生成模型之间选择一个,来定义性能指标,并评估结果。线性代数是机器学习部署中主要支柱之一,因为它让我们能持续高效地记录和部署。我想说微积分在纯机器学习应用中显得不太重要,但是如果你想理解我们使用或部署的算法,多元微积分和优化理论就显得非常重要,如果你想研究机器学习,那就更不必说了。 6. 我是一位生物物理学专业的学生,对 Python 在自然科学中的应用很感兴趣。对于初学者,你能推荐一本学习 Python 的最好的书吗? 不幸的是,在学习 Python 上,我个人没有什么推荐的书,因为我是通过 Codecademy 以及后面参加的一个大学课程(CS Programming I)学会 Python 的;与此同时,我还大概在 2011 年 12 月份学习了 Udacity 的「计算机科学入门」课程。所以我倒是愿意推荐 Codecadamy 和 Udacity 的计算机科学入门课程,它们都是很好的资源(而且就我所知它们是免费的)。推荐书的话,我觉得最受欢迎的两本书是《Hitchhiker's Guide to Python》和《Learn Python the Hard Way》。但是我个人从来没有读过这两本书,也就不能为它们做担保了——但这不是说它们并不够好 :) 另外,我认为这还要看你在其它编程语言上的经验如何。如果你之前曾经使用过另一种动态语言(例如 Ruby 或甚至 R),那么我觉得你只需要读一下 Python Pocket Guide(甚至只需要网页文档)就可以很快掌握 Python 了。 尽管我相信上面列出的所有资源都对入门很有帮助,但你应该通过应用这门语言来解决你领域内的问题的方式来自动地学习这门语言。或者换句话说,一旦你通过入门的门槛,你就可以快速地在网上找到相关的或更特定的概念实现(比如通过 StackOverflow)。另外,写代码的时候进行合作也是有帮助的,因为你可以通过阅读其他人的代码获得很多有用的想法,而且其他人也能为你的实现提供有用的指点。 参考: 计算机科学入门:https://www.udacity.com/course/intro-to-computer-science--cs101 Hitchhiker's Guide to Python: Learn Python the Hard Way:https://learnpythonthehardway.org/ 7. 在生物学和机器学习的尖端,最激动人心的问题是什么? 在计算生物学领域(computational biology),我们常常有丰富的无标签的数据(有标签的数据有时候可能会有些棘手,这要看具体的项目)。我认为主要的难题之一实际上是我们应该如何呈现数据以使之能够被机器学习算法处理(即:特征表征(feature representation))。现在我看到了很多有潜力的想法和方法;碰巧的是,我刚刚在上面还回答了这个问题。 8. 我喜欢你的《Python Machine Learning》这本书,你有计划再写一本吗? (责任编辑:本港台直播) |