机器学习的自学之路

翻译自:http://machinelearningmastery.com/machine-learning-roadmap-your-self-study-guide-to-machine-learning/

这篇文章主要是总结一下机器学习的Roadmap,可以用来评估一下自己在机器学习中目前所处的位置,找到下一步的方向。

关于机器学习的Framework和系统方法,我思考了很多。这篇文章是对我上一篇“Self-Study Guide to Machine Learning“的扩展,尽管上一篇文章已经对机器学习的学习做了总结,也明确了机器学习的路线。接下来让我们先进入看一下:

机器学习的自学之路_第1张图片

机器学习的Roadmap

机器学习是一个非常广泛的领域,这里有很多的数学,理论,技术需要学习,还有许多类型的问题的解决需要学习学习,让人感到被淹没在大量的学习当中。

机器学习是一个深度跨学科的领域,你需要有编程的技术,你需要有统计学的知识,有那么多的知识需要学习,让人觉得沮丧。

解决这些问题,你所需要的是一个总结好的结构化的学习路线图,和对机器学习的水平的定义,以及一些流行的书籍和开放的学习资源。

一个好的Roadmap能够让你清晰的知道自己在机器学习中所处的位置,以及我下一步应该学些什么,做些什么。

自学是一条途径

自学意味着按照你自己的节奏,自己的条件和你自己的计划来进行。这是最符合你自身的学习方式。

自学是学习机器学习的最好方式,自学不是说什么都需要自己来学习研究,而是能够让你以自己最有效率的方式学习,很好的借助各种网络上的课程,书籍和指南进行学习。我(译者)在对Python和Watson的学习过程中,也完全按照这个思路在进行自学的。

自学也能很好的与大学教育,研究生教育等有机的结合在一起。这意味着可以很好的考虑你自身的知识,用适合你自身的方法、方式来进行学习。因为是按照你自己的方式在进行,你可以对自己感兴趣的领域作深入的学习研究。

机器学习是一个与编程一样,非常实用的领域。虽然学习理论很重要,更要花费时间来练习这些理论。你必须多加练习,这是非常重要的。要通过不停的练习来训练你发现问题,利用这些理论来解决问题的直觉。

机器学习的自学之路_第2张图片

能力等级

在这里将机器学习分成四个等级:

兴趣者

初学者

中级

高级

这四个等级的划分是按照,面临的问题和学习的目的来划分的。每一个等级都一些列不同的学习活动来帮助你完成您的目标。

每个等级等级的问题

每一个能力等级都面临着一些列的不同的问题,如下:

兴趣者:困惑于机器学习到底是什么。压倒性的大量有效数据,受阻扰于在大多数可用信息中对未明确的先验知识。

初学者:被算法的数学描述所吸引。努力应用机器学习来解决问题。丧失对机器学习调查研究的机会。

中级:厌烦各种介绍材料。渴望了解更多的细节和更深入的洞察力。努力推动他们的知识和技能。

高级:痴迷于从系统和解决方案中获得最大收益。寻求更大的贡献机会。启发推动界限。

学习目标

每一个能力层级都有一个单一的目标,可以通过完成一系列任务来实现这个单一的目标。目标如下:

兴趣者:建立一个稳固的基础,进入机器学习领域。

初学者:应用和联系机器学习的流程。

中级:深入的了解算法,所解决的问题和相关的工具。

高级:对机器学习的相关领域进行扩展,如:算法,所解决的问题和相关的工具。

自学的活动

每个等级的目标都定义了一些不同的活动,来实现我们的目标。你可以自行设计你的活动来实现目标(非常鼓励你定义自己的活动)。下面是对每一个实现每一层级所推荐的活动:

兴趣者

发现机器学习到底是什么。(i.e. why machine learning matters and why it matters to you)

确定你的自我限制的信念,它们可能导致你回到原点。((i.e. no degree, not good at mathematics)

调查该领域的基本定义和概念(i.e. machine learning problems, and algorithms)

初学者

学习和学习应用机器学习的步骤

通过应用机器学习的步骤,了解足够的工具和类库的细节。(基本熟悉工具和类库)

实践和应用机器学习的过程,解决端到端的问题。

中级

对算法,问题和工具进行小的研究。

通过参与和学习机器学习,提高应用机器学习的技能。

高级

以结构化的方式开发算法,问题和工具的扩展。

参与和贡献社区。

如何使用这个Roadmap

这个Roadmap是一个有用的工具,你可以通过各种方式使用它来帮助你进行机器学习的学习:

学习指南:将它作为实现目标和完成活动的线性指南,耐心和勤勉努力,是在短时时间内达到高等级的手段。

精简指南:作为上述的线性指南,但讲目标缩小到你正在寻求掌握的特定机器学习的领域,而不是应用机器学习的宽泛领域。这可以是一个特定的问题或算法。

信息过滤:Roadmap可以用于过滤你所遇到的信息和资源。这是一个强大的用例,它可以帮你快速的帮你评估博客文章,文章和书籍是否与你所称的等级匹配。

这是一条适合你的路

我为其他的工程师和程序员设计了这本指南:

你可以知道如何编程。

你可以正在或曾经做为专业的工程师或者程序员在工作。

你可以是本科生或者研究生。

你对机器学习或者数据科学感兴趣。

你可以正在做机器学习和数据分析相关的工作。

机器学习的自学之路_第3张图片

这种方法是针对已经熟悉开发和构建系统的流程的程序员和工程师量身定制的。他们已经具有一个计算或者逻辑方法来思考和系统的思考方法。程序员特别已经熟悉了自动化的功能以及算法的复杂性和特征。

这种方法不仅对专业的程序员有效,也对学习工程,计算机科学与技术或类似学科的学生也有效。

你不需要是一个程序员或者是一个优秀的程序员。你可以使用具有图形用户界面的现成工具来进行机器学习,并应用机器学习的算法。如:Weka。

你不需要是数学家或者统计学家。当你花费时间研究算法时,你可以进获取算法所需的特定统计信息,概率和线性代数。

你可以阅读指南、书籍和参加公开课。这些指南、书籍或公开课很好的使用这四个能力水平的划分。给定的书籍可能是初学者或者中级者的完美参考,也可能跨越两个或者多个层次。类似地,课程同样也可以很好的使用参与者的水平,或者可以跨越两个或者更多个级别,给出各种机器学习活动的样本。

范围

我建议您将范围集中在分类和回归类型的问题以及相关的算法和工具上。这是机器学习中最常见的两个问题,大多数问题都可以简化到这两个问题上。

推荐系统或加深学习机器学习的某些子领域,如计算机视角,自然语言等。这些领域可以归结为分类和回归问题。对他们的研究完全符合提出的Roadmap。我不建议深入这些领域,知道达到中级水平。

原则

我有一些务实的原则,可能会帮助你在达成机器学习的学习目标时取得快速有效的进展。正是根据原则制定了这个Roadmap。

机器学习是一段旅程。你需要知道你目前所处的位置,以及明确的目标,你要达到什么水平。这需要时间和辛勤的工作,但有很多帮助可以供你使用。

创建半正式的工作产品。以博客文章,技术报告和代码存储的形式记下学习和发现的内容。将快速的为自己和他人提供一些列可以展示出的技能,知识以及反思。

实时学习。不要在当你需要的时候才学习复杂的主题。例如:实时的来学习足够的概率和线性代数来理解您正在处理的算法,在启动机器学习之前,不要花费三年的时间来学习统计和数学方面的知识。

利用现有的Skills。如果你可以编码,那么通过实现算法来理解它们,而不是研究数学理论。使用你所知道的语言专注于您正在学习的一件事情,不要同时学习一种新的语言,工具或者类库来使其复杂化。

掌握是理想。掌握机器学习需要持续学习。也许永远不可能实现掌握机器学习,只能持续不断的学习,学习和改进所掌握的知识。

技巧

下面是三个技巧可以有效的帮助你利用这个Roadmap,来提高你机器学习的能力。

启动一个可以在一小时内完成的小项目。

通过每周完成一个项目,来建立和保持你的学习势头和建立你的项目工作区。

在博客,Facebook,Google+,Github上分享你的结果,或者随时随地的展示你的兴趣,增加技能,知识并获得反馈。

下一步行动

花费一点时间,并写下如下内容:

你当前的水平和你当前的困惑?

你想要达到什么级别,你想要做什么?

你可能感兴趣的:(机器学习的自学之路)