掌握机器学习的5条必由之路

作者:Jason Brownlee

译者:刘小芹

【导读】作者在本文提出一种5步入门并应用机器学习的方法。它不是传统的方法。传统的机器学习方法提倡从下往上学,先从理论和数学开始,然后是算法实现,最后让你去解决现实世界的问题。

作者提倡的掌握机器学习的方法与传统方法相反,是从最有价值的成果部分开始。

目标是得到有商业价值的成果:怎样得出结果。

这个结果以一系列预测或能进行可靠预测的模型的方式呈现。

这是一种从上往下的、结果优先的方法。

在商业社会,开始时就有要得到结果的目标是最重要的,那么,怎样才能得到结果?

我们总结了5个步骤:

• 第1步:调整心态 (要有信心!).

• 第2步:选择程序

• 第3步:选择工具

• 第4步:用数据集练习

• 第5步:做一个作品集

就这么简单!

下图是这个过程的图示,为了简便省略了第1步和第5步。

下面是这个过程的详细解释。

第0步:了解机器学习基本概念

开始学习之前,你需要了解机器学习的一些基本概念和大事件。可以问自己一些问题,并尝试回答。

例如:

• 你应该了解机器学习是什么,并能够向同事解释。

• 你应该了解机器学习的一些经典案例。

• 你应该知道机器学习对某些复杂问题来说是唯一的解决办法。

• 你应该知道预测建模是应用机器学习最有效的部分。

• 你应该知道机器学习怎样应用于AI以及数据科学。

• 你应该了解可得到的机器学习算法有哪些类型。

• 你应该了解一些机器学习的基本术语。

第1步:调整心态

机器学习不是教授的专利,也不是只为天才和学术研究者所专有的。

你得有信心!

你一定能学会机器学习,并且利用它解决问题。

有什么理由做不到呢?

• 你不需要写代码

• 不需要掌握很多数学知识

• 不需要高等学历

• 不需要大数据

• 不需要超级计算机

• 也不需要花很多时间

真的,让你止步不前、甚至无法开始的原因只有一个,就是你自己。

• 也许你只是找不到动力。

• 也许你想必须备齐所有工具才开始。

• 也许你一直挑高深的问题做,而不是从初级问题开始。

• 也许你在使用工具和库时缺乏系统的过程。

• 也许你没有好好利用工具和库。

这些想法让你无法开始。下面这篇文章可能对你有帮助:

What isHolding you Back From Your Machine Learning Goals?

http://machinelearningmastery.com/what-is-holding-you-back-from-your-machine-learning-goals/

解决这些问题的方法很多,你要发现它们、消除它们,然后继续前进。

为什么学机器学习?

当你认识到你可以学机器学习,你还要明白为什么学它。

• 也许你对学习更多机器学习算法感兴趣。

• 也许你对创建预测感兴趣。

• 也许你对解决复杂问题感兴趣。

• 也许你对开发更智能的软件感兴趣。

• 也许你甚至想成为一名数据科学家。

仔细思考这个问题,明白自己为什么想学习机器学习。

下面这篇文章可能对你有帮助:

http://machinelearningmastery.com/why-get-into-machine-learning/

找到了“为什么”后,你还要找到你的根据地。

下面这些分类,你属于哪种呢?

• 兴趣广泛的生意人

• 正在做项目的负责人

• 机器学习专业的学生

• 机器学习研究人员

• 正在处理棘手难题的研究者

• 想实现算法

• 需要一次性预测

• 需要可以利用的模型

• 数据科学家

• 数据分析师

不同的人有不同的兴趣点,因此会从不同的方向开始机器学习。

不是所有书籍或材料都适合你,知道你属于哪种人,然后再找适合自己的资料。

下面这篇文章可能对你有帮助:

http://machinelearningmastery.com/machine-learning-tribe/

第2步:选择程序

你想在一个接一个的问题中得出高于平均水平的结果吗?

那么你需要按照系统的程序来。

• 好的程序能让你利用和重复利用最好的练习

• 意味着你不必依赖记忆或直觉

• 引导你做完一个项目

• 让你总是明白下一步该做什么

• 还可以针对你的特殊问题类型和工具进行调整

我推荐的程序如下:

• Step 1: 确定问题

• Step 2: 准备数据

• Step 3: 抽样检查算法

• Step 4: 改善结果

• Step 5: 呈现结果

你可以不按这个步骤来,但在处理预测建模问题时最好要有系统性的程序。下面这篇文章可能对你有帮助:

http://machinelearningmastery.com/process-for-working-through-machine-learning-problems/

第3步:选择工具

选择一个能实现机器学习结果的最佳工具,并学习怎样最高效地使用工具。

我最推荐的工具是以下三个:

• WekaMachine Learning Workbench (适合初学者).Weka提供GUI界面,而且不需要自己写代码,可以用于快速一次性的建模问题。

• PythonEcosystem (适合中级学习者). 尤其是SciPy平台的pandas和scikit-learn。开发时你可以直接使用上面的代码和模型,它们的可靠性足够用来运行操作了。

• R Platform (适合高级学习者).R语言是为统计计算设计的,虽然语言艰深而且部分软件包文档很少,但它提供了很多方法。

针对专门领域,推荐的工具如下:

• 用于深度学习的Keras. Keras使用Python语言,意味着你可以充分利用整个Python生态系统,节省大量时间。它的界面非常干净,同时也支持Theano和Keras后端。

• 用于损失函数的XGBoost. 这是能最快实现损失函数的工具,它也支持R语言和Python。

以上只是我的一些个人推荐。同时也要学习怎样使用你选择的工具,成为这方面的专家。

用哪种编程语言?

用哪种编程语言都没关系,甚至用哪种工具也不会有什么影响。你在一个平台上实践时学到的技巧也能很容易转移到另一个平台。

第4步:用数据集练习

确定了程序和工具后,就需要练习,做很多练习。

用标准机器学习数据集练习。

• 使用从现实问题(而不是人造问题)中收集的真实数据集

• 使用适合内存和excel表单的小型数据集

• 使用好理解的数据集,以便预测结果类型

用不同类型的数据集进行练习。练习你不熟悉的问题,这能推动你在寻求解决方法的过程中技术得到进步。了解数据集的不同特性,例如:

• 不同类型的监督学习,例如分类和回归。

• 不同规格的数据集,实例(instance)的数量从小于十个、数十、数百到数千。

• 属性(attribute)的数量不同的数据集,从小于十种、数十种、数百种到数千种。

• 属性类型不同的数据集,包括实数、整数、分类数、序数、混合等。

• 不同的领域,能迫使你快速了解新的问题。

使用UCI机器学习资料库(UCI MachineLearning Repository)

上面有最常用、最好理解的一些数据集,对入门来说非常好。

了解更多:PracticeMachine Learning with Small In-Memory Datasets from the UCI Machine LearningRepository

利用机器学习竞赛,例如Kaggle

Kaggle上的数据集通常更大型,建模需要更多准备。

这篇文章列举了一些最常用的数据集:

Tour ofReal-World Machine Learning Problems

用你自己设计的问题练习

为适合你自己的机器学习问题收集数据,你会发现这非常有帮助。

第5步:做一个作品集

为你完成的项目建一个作品集,并好好利用。

在用数据集练习并不断进步的过程中,创建一个半正式的输出集合,总结你的发现。

• 你可以上传代码,并在readme文档中总结。

• 你可以在博客中发表你的结果。

• 你可以做成幻灯片。

• 你也可以做一个小视频传到YouTube上。

每一个完成的项目都代表着你的成长作品集的一页。

技巧提示

以下是有关机器学习的一些技巧提示:

• 从简单的程序(例如上文推荐的)和简单的工具(例如Weka)开始,有信心之后再进阶。

• 从最简单最常用的数据集入手(如iris flowers 和 Pima diabetes)

• 每次应用该程序,尝试做一些改进。

• 发现新方法时,找到把它整合到你的程序中的最佳方式。

• 研究算法,但只研究到能帮助你取得更好结果就够了。

• 向专家学习,研究怎样将专家的方法加入到你的程序中。

• 像研究预测建模问题那样研究你的工具,充分利用它们。

• 不要在简单的问题中耽搁,不断挑战更难的问题。

• 专注于清晰呈现的结果,结果越清晰,你的作品集的作用越大。

• 加入论坛和问答网站社区,提问并回答问题。

总结

这篇文章提出了一个简单的5步方法,你可以用它来开始机器学习的入门,并在应用中不断进步。

虽然方法简单,但只要你确实投入努力,就会得到回报。

我有许多学生正是这样成为机器学习工程师或数据科学家的。

来源:http://machinelearningmastery.com/

作者:Jason Brownlee

译者:刘小芹

转自:微信号 - 新智元(AI_era)

权威发布有关Imagination公司GPU、人工智能以及连接IP、无线IP最新资讯,提供有关物联网、可穿戴、通信、汽车电子、医疗电子等应用信息,每日更新大量信息,让你紧跟技术发展,欢迎关注!伸出小手按一下二维码我们就是好朋友!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180828B08M0U00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券