自学机器学习入门指南

前言

本篇是Kabuto_hui(ISN国家重点实验室成员)的公众号投稿,感谢Kabuto_hui。更多技术文章请访问,Kabuto_hui的csdn博客连接:http://blog.csdn.net/kabuto_hui程序员

自学机器学习:一条你可能缺乏的路线图

本文翻译自原做者Jason Brownlee的文章,原做者于2014年6月发表在Start Machine Learning算法

Dr. Jason Brownlee是一位优秀的丈夫,骄傲的父亲,学术研究员,做家,专业的机器学习开发者和从业者;他致力于帮助开发人员开始学习并掌握机器学习。编程

​ 在这篇文章中,我为实用机器学习制定了一个具体的自学路线图,您能够用来定位本身并规划本身下一步的学习计划。网络

​ 我思考过不少关于框架和系统的方法(正如我博客上证实的)。我认为这篇文章中所提到的自学方法是我之前思考的一个极大的拓展,在社区里也收获了一些赞同的声音。框架

机器学习路线图

​ 机器学习是一个巨大的学习领域。他有很是多的算法,理论,技术和各类各样的问题,要想学习他确实有必定的压力。机器学习

​ 机器学习也是跨学科的。你可能须要程序员的知识和统计学家的知识,假设你没有这么多的预先知识时,你会感到困难。工具

​ 真正须要的是一种结构化的方法,为学习机器学习中详细的主题和层次提供一个路线图,并集成一些流行的资源如书籍和开放课程等。学习

​ 结构化的方法经过将注意力集中在你须要学习的部分上。它经过对材料的表现进行排序,侧重于实践方面,为工程师和程序员量身定作。ui

​ 路线图让您能够根据本身的位置和您想要的位置来定位本身。.net

自学是通向成功的途径

​ 自学是指以本身的速度,按照本身的条件和本身的时间表去学习。

​ 自学是学习机器学习的最佳途径。这并不意味着你必须本身作这一切,这远远不够。它要求要有高效率的学习方法和利用网络上最好的课程,书籍和指南。

​ 自学也和本科和研究生那样正式的课程同样。它是一种积极的将材料整合到您本身的知识库中并拥有它的过程。拥有这些知识,你能够深刻的了解你最感兴趣的领域。

​ 机器学习是一门应用学科,如编程。理论学习很是重要,可是更重要的是你要花时间去应用这些理论。你必须去练习,这很是重要。你须要去创建一种对流程,算法和问题的直觉。

能力水平划分

学习机器学习的结构化方法分为四个能力层次:

  • 初学者
  • 新手
  • 中级
  • 高级

这四个层次是根据他们面临的问题和他们拥有的学习目标来界定的。反过来,每一个级别都有一套不一样的活动来追求他们的目标。

自习

每一个层次所面临的问题

每个能力层都面临着一系列不一样的问题,以下:

  • **初学者:**主要的困惑是机器学习是什么。淹没于海量的信息之中。对所提供的大部分信息的中未明确假定的先验知识感到沮丧。
  • **新手:**被算法的数学描述所困扰。努力将机器学习应用到实际问题上,缺少寻找问题的能力。
  • **中级:**对介绍性的材料感到无聊。渴望更多的细节和更深的想法。渴望展现并推进他们的知识和技能。
  • **高级:**痴迷于从系统和解决方案中得到最大收益。寻求更大的贡献的机会。激发了突破界限的灵感。

每一个层次的学习目标

能力层级中,每一层都有一个单一的目标和许多相应的子任务。以下:

  • **初学者:**创建一个明确的基础,并准备开始进入这个领域
  • **新手:**应用机器学习的开发与实践
  • **中级:**深刻了解算法,问题和工具
  • **高级:**拓展某个领域如算法,问题和工具等

自学活动

每一个层次的目标定义了要实现这个目标的活动类型。你能够本身计划你的活动(强烈鼓励),如下是每一个层次的建议活动:

初学者

  • 发现机器学习的“Whys”(如机器学习的重要及为何它你很重要)
  • 明确那些可能会对你产生阻碍的自身限制(如没有学位,数学能力不强等)
  • 探讨该领域的基础定义和概念(如机器学习问题和算法)

新手

  • 学习应用机器学习过程当中的步骤。
  • 经过应用机器学习的步骤去了解足够的工具和库的细节(基本熟悉工具和库)
  • 练习经过使用应用机器学习解决端到端问题

中级

  • 对算法,问题和工具进行小调查
  • 经过参加机器学习的相关比赛以提升本身的应用机器学习的技能

高级

  • 以结构化的方法开发算法,问题和工具的扩展
  • 为社区作贡献

如何使用本路线图

该路线图是一个有用的工具,你能够在各类学习机器学习的方式上把它做为:

  • **学习指南:**使用它做为目标和活动的线性指南。耐心和努力将使你在短期内达到高级水平。
  • **精简指南:**用做上述线性指南,但将目标缩小到您正在寻求掌握的特定机器学习领域,而不是更普遍的应用机器学习领域。这多是一个特定的问题或算法类。
  • **信息过滤器:**此路线图能够用于帮你过滤你所遇到的信息和资源。这是一个很是重要的功能,你能够快速的评估博客文章,论文和书籍是否你目前的层次所匹配。

学习范围

​ 我建议您将范围集中在分类和回归类型问题以及相关算法和工具上。这些是两个最多见的底层机器学习问题,大多数其余问题能够用获得。

​ 有机器学习的子领域,如计算机视觉,天然语言过程,推荐系统或增强学习。这些领域能够简化为分类和回归问题,而且它们的学习也彻底符合的路线图结构。我建议不要潜入这些领域,直到你处于中等水平。

原则

​ 我有一些务实的原则,可能会帮助您使您在机器学习目标方面取得快速有效的进展。由他们撑起了这个路线图。

  • **机器学习是一个旅程:**你须要知道你如今在哪里和你想去哪里。这将须要时间和努力,但有不少帮助可用。
  • **建立半正式的工做产品:**以博客文章,技术报告和代码存储库的形式记录学习和发现的内容。你将快速地为你和其余人提供一系列展现出的技能和知识以供思考。
  • **及时学习:**在你须要它以前不要学习复杂的主题。例如,只须要学习足够的关于几率论和线性代数知识以便理解目前你所学习的算法,而不是花3年的时间去学习统计学和数学再去开始学习机器学习。
  • **充分利用现有技能:**若是你会编程,经过实现算法远比学习它的数学原理更加容易理解。使用你熟悉的语言。专一一件事情,不要同时学习一门新的语言,工具或者库来使其复杂化。
  • **理想是掌握:**掌握机器学习须要不断的学习。你永远不可能彻底掌握它,你只能继续学习,学习和改进。

提示

如下是3个提示,以有效地充分利用本指南和你机器学习的历程:

  • 从一个能够在一小时内完成小项目开始
  • 每周完成一个项目以创建和保持你的动力以及你能够构建一个项目的工做区
  • 在你的博客,Facebook,Google+,Github上分享你的成果,随时随地展现你的兴趣,增长技能,知识并得到反馈。

行动步骤

花点时间写下来

  • 你认为你目前在什么层次,你正在被什么困惑?
  • 你想要达到什么层次,你想要作什么?

机器学习是一个旅程
相关文章
相关标签/搜索