自学机器学习向导

这里,你在学习机器学习的过程中,可以做很多的事情。这里有很多来自书籍和课程的资源给你提供参考,甚至你可以参加比赛和属性使用工具。在这篇文章里,我想对这些活动提供一些架构,并在你从程序员转变为机器学习专家的旅途中给你提供一些自由的顺序来解决一些问题。

机器学习的等级

考虑一下四个机器学习的技能等级,而这时一个模型,有助于我们思考这些可靠的资源和活动,而且说不定在什么时候能派上用场。

1.新手 2.初级 3.中级 4.高级

我这里想要把新手和初级分开来讨论就是因为我想要在这些绝对新手(一个在某个领域感兴趣的程序员)选择方向之前提供一些参考路径。

现在,我们开始对这四个等级进行一一的介绍,并在此过程中寻找一些能帮助我们在某个阶段的学习中学到更多,并且对他们的技能等级和所学的知识进行深入理解的资源和活动。

分解只是其中的一项建议,而一些活动或资源在它是你处在某个阶段以前或以后对于你来说是有用的,同时在你某个阶段下的分解是有用的这些情况是可能存在的。

我认为这个大致的框架是很有用的,而我很想听到你的想法,并欢迎你在文章的末尾那里留言来分享你个人的看法。

新手

这里的新手就是指一位程序员,他对机器学习的某个领域感兴趣。他们也许会从书籍方面入手,或者维基百科,或者在一个课程里上几堂课,但是他们还没有“明白”机器学习到底是怎么一回事。他们会感觉很沮丧,那是因为他们得到的建议是适合中间或者高级的人的。

新手需要一些合适的检验。除代码、教程和课程以外,他们需要知道他们为什么要学习机器学习、机器学习是什么,并且怎么学,为初级的学习打下坚实的基础。

以下的这些活动和书籍是适合初学者的:

1.书本的导论:读一些好的机器学习导论书籍和适合程序员的数据挖掘书籍,例如

Machine Learning for Hackers

https://www.amazon.com/dp/1449303714?tag=inspiredalgor-20

Programming Collective Intelligence

https://www.amazon.com/dp/0596529325?tag=inspiredalgor-20

以及 Data Mining: Practical Machine Learning Tools and Techniques

https://www.amazon.com/dp/0123748569?tag=inspiredalgor-20

这些书都是很好的入门书籍,当然,还有一篇文章你可以了解更多这方面的内容:

Best Machine Learning Resources for Getting Started

http://machinelearningmastery.com/best-machine-learning-resources-for-getting-started/

2.视频概述:你可以先选择一些针对入门的或者外行人的概述机器学习的视频进行观看,例如:

nterview with Tom Mitchell

http://videolectures.net/mlas06_mitchell_itm/

以及 Peter Norvig on big data Facebook Tech Talk。

https://www.facebook.com/video/video.php?v=644326502463

3.和人们交谈:问一下他们是怎样进入这一个行业的,他们会对新手推荐什么样的资源,这行什么吸引他们等等。

初级

有初级水平的人已经对机器学习有了一点了解,他们已经看了一些数据和听了一些视频课程。他们知道他们的兴趣在哪,而且他们想知道的更多。他们已经开始上手了,并且想要把更多的事情做好。

初级水平的人需要做这样的一些事情,这些事情就是,他们需要阅读一些具有针对性的材料,并把他们所学到的知识综合成一个架构,如他们所知道的编程语言或他们所能解决的问题。

一些活动和资源是针对初级水平的人:

1.完成相应的课程:完成一些相应的课程,如斯坦福大学的机器学习课程,并在此过程中做适当的笔记,尽可能的完成作业,并在需要的时候多问几个问题。

2.看一些相关书籍:不是课本,但可以选择看一些之前推荐给初学者看的书籍。

3.学习一种工具:学会使用一门工具或库,如Scikit-Learn(http://scikit-learn.org/stable/), WEKA, R 或许和它们类似的工具。尤其是,学习你在书本上看到的,或者是在课堂里学习的算法并掌握其使用方法,并尝试在你的学习过程中运用它们。

4.编写一些代码:运行一个简单的算法,如感知,k-最邻近或者线性回归。写一个程序来把这些方法简单化,并学习各种在运行过程中要学到的微观决策。

5.看完教程:随后要完成这些教程。开始建立一个配有数据集,脚本甚至你可以查阅的源代码的小项目的目录,并且思考。

中级

初级水平的人已经阅读了一些数据和完成了一些课程。他们知道怎样使用一些工具并能编写一些运行算法的代码和完成相关的教程。而一个中级水平的人能根据自己的需求,完成自己的项目来学习新的方法,并且进行互动,同时从更好的社区学习。中级水平的人需要学习如何更准确的运行和使用算法,并从它们的完整性和健壮性出发。他们需要花大量的时间来学习数据的预处理、数据清洗、汇总和思考这些问题的类型,需要怎么解答,以此建立新的技能。

这里有一些活动和资源是针对中级水平的人:

1.小项目:设计一些能用机器学习进行问题解答的小程序项目和实验。这就像是设计和运行你的教程来达到探索你感兴趣的新方法的目的。你也许要运行一个算法,或者连接到一个库,它可以给你提供算法。Learn more about small projects(了解更多小项目的内容)(http://machinelearningmastery.com/self-study-machine-learning-projects/)。

2.数据分析:你要习惯探索和汇总数据集。自动化你的报告、知道什么时候用什么工具、并寻找一些你能进行探索、清洗和你可以练习你的方法的数据集,并交流一些有趣的事。

3.看一些教材:阅读并自己消化那些机器学习的教材。这时,你需要具备能自己一会数学描述技能的能力,并认识一些描述问题和算法的等级的形式。

4.编写差距:写一些开源的,针对机器学习平台和库的插件和程序包。这是一个教你如何编写具有健壮性和生产效率的算法实施工具的练习。在你的包里使用你自己的插件,并从相关社区寻求他人帮忙阅读代码,并根据代码的性质尽可能的涵盖到相关的平台中。

5.竞赛:参加一些机器学习竞赛,例如一些相关会议,或者由像

Kaggle

平台提供的竞赛。在里面参与讨论,问问题,参考一下别的参赛者是如何解决一个问题的。在一个项目中添加你的仓库,方法和相关的代码。

高级

具有高级水平的人不仅会编写代码,而且还能独自整合机器学习算法或运行这些算法。他们也许有过相关的参赛经验,或者写过一些插件。他们读了相关的教程,完成了相关的课程,并在这个领域有了很多新的认识,甚至他们还根据自身条件掌握了几个重要的深度学习方法。

高级水平的人会建立、利用和维护生产系统来保持机器学习的顺利进行。他们和这个领域的发展与时俱进,并渴望的探索和学习方法的细微之处,并从其它具有相同水平的人得到一些新的技巧,当然,他们自己也可以。

这里有一些活动和资源推荐个高级水平的人:

1.定制算法:根据实际需求修改算法,它也许就要针对会议或期刊的论文运行自定义概述来解决一些相关问题域。

2.新的算法:基于基本的形式来重新改造出一个新的算法来应对可能的挑战。这个更像是在给一个问题找最优解,而不是更新这个领域的前沿。

3.案例研究:阅读并甚至重现机器学习竞赛里的或其他人所运行过的案例进行重新的运行。这些“我怎么做”的论文已经文章通常都填满那些数据展现的微妙的专业技能,特征工程和方法的使用。

4.方法学:过程的系统化,无论是正式的或者是它自身的。他们有一个解决问题的方法和在此基础上得到结果,而且他们还致力于寻找一些方法来进一步的定义它们,并根据相关的提示提高这些进程,进行最好的练习,并得到更新更好的方法。

5.研究:参加一些会议、阅读相关的研究论文和专著,并和这个方面的专家进行交流。他们也许会写一些自己的论文并把它们公开,或者以博客的形式展现他们的工作。

想要精通还需要一个持续的过程,学习之旅远远没有结束。任何人可以在旅途的任何一个地方停下来,或者绕到别的地方并成为“竞赛者”或者“专业图书馆人员”。实际上,我是期待这样的换方向回是常态。

这篇文章的分解就像介绍了一系列的线性学习途径,涵盖入门乃至高级的学习途径,并且是针对程序员的。我很希望大家能发表不同的见解,而我也可以从中改进。这种分解只是我的建议,我提倡你参加的活动,并假设你在某一阶段有如此强烈的求知欲望。

原文链接:https://machinelearningmastery.com/self-study-guide-to-machine-learning/ 译文链接:http://shujuren.org/index.php/Article/update/aid/186

原文发布于微信公众号 - CDA数据分析师(cdacdacda)

原文发表时间:2016-08-29

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

【学习】大数据技术学习路线指南:[2]实践原型

大数据的目的在于挖掘价值,而它的本质与OODA循环决策模型非常相似。用OODA这个原型来理解大数据是最合适的了!在战场上,OODA循环决策的周期越短,胜算越大;...

3786
来自专栏EAWorld

【超详解PPT】元数据驱动的微服务架构(上)

? 各位好!很高兴能与大家分享“元数据驱动的微服务架构”。 ? 本次分享有两个部分:1、微服务架构需要元数据,2、介绍微服务与元数据的关系。下期会分享:微服务...

5797
来自专栏新智元

Michael I. Jordan联合UC伯克利13位重量级学者:下一代人工智能系统的4大趋势和9大研究课题

【新智元导读】最近,加州大学伯克利分校大学的大牛们针对目前AI的火爆形势,又总结了一篇《A Berkeley View of Systems Challenge...

42010
来自专栏媒矿工厂

广播电视拥抱人工智能

最近几年人工智能(AI)领域出现了许多令人惊叹的发展。尽管如此,AI仍然是一个容易被炒作和误解的术语。

4285
来自专栏PPV课数据科学社区

学习攻略 | 数据分析师学习路线图

数据分析师Data analyst:指熟悉相关业务,熟练搭建数据分析框架,掌握和使用相关的分析常用工具和基本的分析方法,进行数据搜集、整理、分析,针对数据分析结...

3994
来自专栏大数据文摘

业界 | 为什么你不应该成为一名数据科学通才

数据科学家似乎个个都是全才,他们知识面很广,即写的了代码,又分析的了业务,没事还能整个数学模型调调参数。

912
来自专栏数据科学与人工智能

【陆勤学习】推荐系统开发的十个关键点

亚马逊的CEO Jeff Bezos曾经说过,他的梦想是“如果我有100万个用户,我就要为他们做100万个亚马逊网站”。智能推荐系统承载的就是这个梦想,即通过数...

46110
来自专栏人工智能头条

去苹果做 AI 一共分几步?看看这套面试指南吧(附面试题)

2032
来自专栏华章科技

分布式实时处理系统浪潮——浅析“深度学习”看未来发展

Autodesk资深系统研发工程师,从事平台架构方面的研发工作。曾在思科系统(中国)研发中心云产品研发部工作多年,全程参与了海量数据实时处理、分析系统的构建与实...

782
来自专栏人工智能头条

谷歌工智能开源项目Tensorflow预示着硬件领域的重大变革

1633

扫码关注云+社区

领取腾讯云代金券