前言
本篇是Kabuto_hui(ISN国家重点实验室成员)的公众号投稿,感谢Kabuto_hui。更多技术文章请访问,Kabuto_hui的csdn博客链接:http://blog.csdn.net/kabuto_hui
自学机器学习:一条你可能缺少的路线图
本文翻译自原作者Jason Brownlee的文章,原作者于2014年6月发表在Start Machine Learning。
Dr. Jason Brownlee是一位优秀的丈夫,骄傲的父亲,学术研究员,作家,专业的机器学习开发者和从业者;他致力于帮助开发人员开始学习并掌握机器学习。
在这篇文章中,我为实用机器学习制定了一个具体的自学路线图,您可以用来定位自己并规划自己下一步的学习计划。
我思考过很多关于框架和系统的方法(正如我博客上证明的)。我认为这篇文章中所提到的自学方法是我以前思考的一个极大的拓展,在社区里也收获了一些赞同的声音。
机器学习路线图
机器学习是一个巨大的学习领域。他有非常多的算法,理论,技术和各种各样的问题,要想学习他确实有一定的压力。
机器学习也是跨学科的。你可能需要程序员的知识和统计学家的知识,假设你没有这么多的预先知识时,你会感到困难。
真正需要的是一种结构化的方法,为学习机器学习中详细的主题和层次提供一个路线图,并集成一些流行的资源如书籍和开放课程等。
结构化的方法通过将注意力集中在你需要学习的部分上。它通过对材料的表现进行排序,侧重于实践方面,为工程师和程序员量身定做。
路线图让您可以根据自己的位置和您想要的位置来定位自己。
自学是通向成功的途径
自学是指以自己的速度,按照自己的条件和自己的时间表去学习。
自学是学习机器学习的最佳途径。这并不意味着你必须自己做这一切,这远远不够。它要求要有高效率的学习方法和利用网络上最好的课程,书籍和指南。
自学也和本科和研究生那样正式的课程一样。它是一种积极的将材料整合到您自己的知识库中并拥有它的过程。拥有这些知识,你可以深入的了解你最感兴趣的领域。
机器学习是一门应用学科,如编程。理论学习非常重要,但是更重要的是你要花时间去应用这些理论。你必须去练习,这非常重要。你需要去建立一种对流程,算法和问题的直觉。
能力水平划分
学习机器学习的结构化方法分为四个能力层次:
- 初学者
- 新手
- 中级
- 高级
这四个层次是根据他们面临的问题和他们拥有的学习目标来界定的。反过来,每个级别都有一套不同的活动来追求他们的目标。
自习每个层次所面临的问题
每一个能力层都面临着一系列不同的问题,如下:
- 初学者:主要的困惑是机器学习是什么。淹没于海量的信息之中。对所提供的大部分信息的中未明确假定的先验知识感到沮丧。
- 新手:被算法的数学描述所困扰。努力将机器学习应用到实际问题上,缺乏寻找问题的能力。
- 中级:对介绍性的材料感到无聊。渴望更多的细节和更深的想法。渴望展示并推动他们的知识和技能。
- 高级:痴迷于从系统和解决方案中获得最大收益。寻求更大的贡献的机会。激发了突破界限的灵感。
每个层次的学习目标
能力层级中,每一层都有一个单一的目标和许多相应的子任务。如下:
- 初学者:建立一个明确的基础,并准备开始进入这个领域
- 新手:应用机器学习的开发与实践
- 中级:深入了解算法,问题和工具
- 高级:拓展某个领域如算法,问题和工具等
自学活动
每个层次的目标定义了要实现这个目标的活动类型。你可以自己计划你的活动(强烈鼓励),以下是每个层次的建议活动:
初学者
- 发现机器学习的“Whys”(如机器学习的重要及为什么它你很重要)
- 明确那些可能会对你产生阻碍的自身限制(如没有学位,数学能力不强等)
- 探讨该领域的基础定义和概念(如机器学习问题和算法)
新手
- 学习应用机器学习过程中的步骤。
- 通过应用机器学习的步骤去了解足够的工具和库的细节(基本熟悉工具和库)
- 练习通过使用应用机器学习解决端到端问题
中级
- 对算法,问题和工具进行小调查
- 通过参加机器学习的相关比赛以提高自己的应用机器学习的技能
高级
- 以结构化的方法开发算法,问题和工具的扩展
- 为社区做贡献
如何使用本路线图
该路线图是一个有用的工具,你可以在各种学习机器学习的方式上把它作为:
- 学习指南:使用它作为目标和活动的线性指南。耐心和努力将使你在短时间内达到高级水平。
- 精简指南:用作上述线性指南,但将目标缩小到您正在寻求掌握的特定机器学习领域,而不是更广泛的应用机器学习领域。这可能是一个特定的问题或算法类。
- 信息过滤器:此路线图可以用于帮你过滤你所遇到的信息和资源。这是一个非常重要的功能,你可以快速的评估博客文章,论文和书籍是否你目前的层次所匹配。
学习范围
我建议您将范围集中在分类和回归类型问题以及相关算法和工具上。这些是两个最常见的底层机器学习问题,大多数其他问题可以用得到。
有机器学习的子领域,如计算机视觉,自然语言过程,推荐系统或加强学习。这些领域可以简化为分类和回归问题,并且它们的学习也完全符合的路线图结构。我建议不要潜入这些领域,直到你处于中等水平。
原则
我有一些务实的原则,可能会帮助您使您在机器学习目标方面取得快速有效的进展。由他们撑起了这个路线图。
- 机器学习是一个旅程:你需要知道你现在在哪里和你想去哪里。这将需要时间和努力,但有很多帮助可用。
- 创建半正式的工作产品:以博客文章,技术报告和代码存储库的形式记录学习和发现的内容。你将快速地为你和其他人提供一系列展示出的技能和知识以供思考。
- 及时学习:在你需要它之前不要学习复杂的主题。例如,只需要学习足够的关于概率论和线性代数知识以便理解目前你所学习的算法,而不是花3年的时间去学习统计学和数学再去开始学习机器学习。
- 充分利用现有技能:如果你会编程,通过实现算法远比学习它的数学原理更加容易理解。使用你熟悉的语言。专注一件事情,不要同时学习一门新的语言,工具或者库来使其复杂化。
- 理想是掌握:掌握机器学习需要不断的学习。你永远不可能完全掌握它,你只能继续学习,学习和改进。
提示
以下是3个提示,以有效地充分利用本指南和你机器学习的历程:
- 从一个可以在一小时内完成小项目开始
- 每周完成一个项目以建立和保持你的动力以及你可以构建一个项目的工作区
- 在你的博客,Facebook,Google+,Github上分享你的成果,随时随地展示你的兴趣,增加技能,知识并获得反馈。
行动步骤
花点时间写下来
- 你认为你目前在什么层次,你正在被什么困惑?
- 你想要达到什么层次,你想要做什么?
网友评论