🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 机器学习掌握方法 > 原文: [https://machinelearningmastery.com/machine-learning-mastery-method/](https://machinelearningmastery.com/machine-learning-mastery-method/) ### 5 个步骤开始并擅长机器学习 我教授一个 5 步骤的过程,您可以使用它来开始应用机器学习。 这是非常规的。 教授机器学习的传统方式是自下而上。 从理论和数学开始,然后算法实现,然后发送给您,找出如何开始解决实际问题。 ![Machine Learning for Programmers - Gap in Bottom Up](img/bde9d62e07471463b18a651591ec25c6.jpg) 开始进行机器学习的传统方法在从业者的道路上存在差距。 机器学习掌握方法翻转了这一点,并从最有价值的结果开始。 **它针对企业想要支付的结果:** **如何交付结果。** 结果是一组可以可靠地进行预测的预测或模型。 **这是一种自上而下的结果优先方法。** 从实现市场中最理想的结果的目标开始,将您,实践者带到该结果的最短途径是什么? 我们可以通过以下 5 个步骤总结这条路径: * **第 1 步:调整心态**(_ 相信!_)。 * **第 2 步:选择一个过程**(如何获得结果)。 * **第 3 步:选择工具**(实施)。 * **第 4 步:实践数据集**(_ 投入工作 _)。 * **第 5 步:建立投资组合**(_ 展示你的技能 _)。 而已。 这是[所有电子书训练背后的哲学](http://machinelearningmastery.com/products/)。 这就是我创建这个网站的原因。我知道一种更简单的方法,只需分享它。 下面是一个动画片来说明这个过程,为简洁起见,省略了第 1 步(在思维模式上)和第 2 步(在展示你的工作上)。 ![Machine Learning for Programmers - A Better Approach](img/3cf413c8473531f22e5e8c6fc486f4a7.jpg) 学习机器学习的更好方法,从端到端的工作机器学习问题开始。 让我们仔细看看每一步。 ## 第 0 步:地标 在我们开始之前,您必须了解机器学习的标志。 我经常假设这一点,但除非你知道一些真正的基础知识,否则你无法继续。 例如: * 您应该知道机器学习是什么,并能够向同事解释。 * [什么是机器学习?](http://machinelearningmastery.com/what-is-machine-learning/) * 你应该知道一些机器学习问题的例子 * [实用机器学习问题](http://machinelearningmastery.com/practical-machine-learning-problems/) * 您应该知道机器学习是解决一些复杂问题的唯一方法。 * [机器学习事项](http://machinelearningmastery.com/machine-learning-matters/) * 您应该知道预测建模是应用机器学习中最有用的部分。 * [预测建模的温和介绍](http://machinelearningmastery.com/gentle-introduction-to-predictive-modeling/) * 您应该知道机器学习在人工智能和数据科学方面的适用范围 * [机器学习适合哪里?](http://machinelearningmastery.com/where-does-machine-learning-fit-in/) * 您应该知道可用的机器学习算法的类型。 * [机器学习算法之旅](http://machinelearningmastery.com/a-tour-of-machine-learning-algorithms/) * 您应该了解一些基本的机器学习术语 * [如何谈论机器学习中的数据](http://machinelearningmastery.com/data-terminology-in-machine-learning/) ## 第 1 步:心态 机器学习不仅适用于教授。 它不仅适用于天才或学者。 ### 你必须相信 您可以学习该主题并将其应用于解决问题。 没有理由不这样做。 * 您不需要编写代码。 * 你不需要知道或擅长数学。 * 你不需要更高的学位。 * 您不需要大数据。 * 您不需要访问超级计算机。 * 你不需要很多时间。 ![Machine Learning for Programmers - Limiting Beliefs2](img/810e529baae63a22dbe63ed5f4d355ff.jpg) 很容易找到借口不开始机器学习。 真的,只有一件事可以阻止你开始并擅长机器学习。 是你。 * 也许你只是找不到动力。 * 也许你认为你必须从头开始实现一切。 * 也许你继续选择高级问题而不是初学者问题。 * 也许您没有系统化的流程来提供结果。 * 也许你没有使用好的工具和库。 明确阻止您入门的限制性信念。 这篇文章可能有所帮助 * [什么阻碍了你的机器学习目标?](http://machinelearningmastery.com/what-is-holding-you-back-from-your-machine-learning-goals/) 你可以遇到很多减速带。 识别它们,解决它们并继续前进。 ### 机器学习为什么? 一旦你知道你可以做机器学习,就明白为什么。 * 也许您有兴趣了解有关机器学习算法的更多信息。 * 也许你对创建预测感兴趣。 * 也许你对解决复杂问题很感兴趣。 * 也许你对创建更智能的软件感兴趣。 * 也许你甚至有兴趣成为一名数据科学家。 仔细思考这个话题并试着找出你的“_ 为什么 _”。 This post might help: * [为什么要进入机器学习?](http://machinelearningmastery.com/why-get-into-machine-learning/) 一旦你有了“_ 为什么 _”,找到你的部落。 哪一组机器学习从业者你最亲密? * 也许你是一个普遍感兴趣的商人。 * 也许你是一个提供项目的经理。 * 也许你是一个机器学习的学生。 * 也许你是一名机器学习研究员。 * 也许你是一个有棘手问题的研究员。 * 也许你想实现算法 * 也许你需要一次性的预测。 * 也许您需要一个可以部署的模型。 * 也许你是一名数据科学家。 * 也许你是一名数据分析师。 每个部落都有不同的兴趣,并将从不同的方向接近机器学习领域。 并非所有书籍和材料都适合您,找到您的部落,然后找到与您说话的材料。 This post might help: * [找到你的机器学习部落](http://machinelearningmastery.com/machine-learning-tribe/) ## 第 2 步:选择一个流程 您是否希望在出现问题后可靠地获得高于平均水平的结果? 你需要遵循一个系统的过程。 * 流程允许您利用和重用最佳实践。 * 这意味着你不必依赖记忆或直觉。 * 它引导您完成项目的端到端。 * 这意味着你总是知道下一步该做什么。 * 它可以根据您的特定问题类型和工具进行定制。 一个系统的过程就是过山车的好坏结果与高于平均水平的差异,另一方面是永远改善的结果。 我会选择高于平均值并且每次都会永远改善结果。 我推荐的流程模板如下: * **第 1 步**:定义您的问题。 * **第 2 步**:准备数据。 * **第 3 步**:抽查算法。 * **第 4 步**:改善结果。 * **步骤 5** :显示结果。 下面是一个很好的漫画,总结了这个系统的过程: ![Machine Learning for Programmers - Select a Systematic Process](img/013ddf5e4f3158bbd6eaf42bc199a76d.jpg) 选择一个系统且可重复的流程,您可以使用该流程始终如一地提供结果。 您可以在帖子中了解有关此过程的更多信息: * [应用机器学习过程](http://machinelearningmastery.com/process-for-working-through-machine-learning-problems/) 您不必使用此过程,但确实需要一个系统的过程来处理预测建模问题。 ## 第 3 步:选择一个工具 选择最佳工具,您可以使用它来提供机器学习结果。 将您的流程映射到该工具,并了解如何最有效地使用它。 我最推荐的工具有三种: * **Weka 机器学习工作台**(_ 适合初学者 _)。 Weka 提供 GUI 界面,无需代码。我用它来快速一次性建模问题。 * [Weka 机器学习迷你课程](http://machinelearningmastery.com/applied-machine-learning-weka-mini-course/) * **Python 生态系统**(_ 适用于中间体 _)。特别是大熊猫和 scikit-在 SciPy 平台上学习。您可以在开发中使用相同的代码和模型,它们足够可靠,可以在运行中运行。 * [Python 机器学习迷你课程](http://machinelearningmastery.com/python-machine-learning-mini-course/) * **R 平台**(_ 适用于高级 _)。 R 是为统计计算而设计的,虽然语言是神秘的,而且有些软件包的文档很少,但它提供了大多数方法以及最先进的技术。 * [R 机器学习迷你课程](http://machinelearningmastery.com/r-machine-learning-mini-course/) 我也有专业领域的建议: * **深度学习的 Keras** 。它使用 Python 意味着您可以利用整个 Python 生态系统,从而节省大量时间。界面非常干净,同时也支持 Theano 和 Keras 后端的强大功能。 * [深度学习迷你课程](http://machinelearningmastery.com/applied-deep-learning-in-python-mini-course/) * **XGBoost 用于梯度增强**。它是该技术的最快实现。它还支持 R 和 Python,允许您在项目中利用任一平台。 * [XGBoost 迷你课程](http://machinelearningmastery.com/xgboost-python-mini-course/) 这些只是我的个人建议,我有很多帖子,每个都有更详细的训练。 了解如何使用您选择的工具。研究它。成为它的专家。 ### 什么编程语言? 编程语言并不重要。 即使您使用的工具也无关紧要。 您通过问题学习的技能将轻松地从平台转移到平台。 不过,这里有一些关于机器学习中最流行语言的调查结果: * [机器学习的最佳编程语言](http://machinelearningmastery.com/best-programming-language-for-machine-learning/) ## 第 4 步:实践数据集 一旦有了流程和工具,就​​需要练习。 你需要练习很多。 练习标准机器学习数据集。 * 使用从实际问题域(而不是人为)收集的真实数据集。 * 使用适合内存或 excel 电子表格的小型数据集。 * 使用易于理解的数据集,以便了解所期望的结果类型。 练习不同类型的数据集。练习让您感到不舒服的问题,因为您必须提高技能才能获得解决方案。在数据问题中寻找不同的特征,例如: * 不同类型的监督学习,如分类和回归。 * 来自数十,数百,数千和数百万个实例的不同大小的数据集。 * 来自少于十个,几十个,几百个和几千个属性的不同数量的属性。 * 来自实数,整数,分类,序数和混合的不同属性类型。 * 不同的域名会迫使您快速了解和描述您之前没有经验的新问题。 ### 使用 UCI 机器学习库 这些是最常用和最易理解的数据集,也是最佳起点。 在帖子中了解更多信息: * [使用来自 UCI 机器学习库的小型内存数据集练习机器学习](http://machinelearningmastery.com/practice-machine-learning-with-small-in-memory-datasets-from-the-uci-machine-learning-repository/) ### 使用机器学习比赛,例如 Kaggle 这些数据集通常较大,需要更多准备才能很好地建模。 有关您可以练习的最流行数据集的列表,请参阅帖子: * [真实世界机器学习问题之旅](http://machinelearningmastery.com/tour-of-real-world-machine-learning-problems/) ### 关于你自己设计问题的实践 收集有关您重要的机器学习问题的数据。 你会发现问题和你设计的解决方案更有价值。 有关更多信息,请参阅帖子: * [研究对您来说很重要的机器学习问题](http://machinelearningmastery.com/work-on-machine-learning-problems-that-matter-to-you/) ## 第 5 步:构建投资组合 您将构建已完成项目的集合。 好好利用它们。 当您处理数据集并变得更好时,创建半正式输出,总结您的发现。 * 也许上传你的代码并在自述文件中进行总结。 * 也许你在博文中写下你的结果。 * 也许你制作一个幻灯片。 * 也许你在 youtube 上创建了一个小视频。 这些已完成的项目中的每一个都代表了您不断增长的投资组合 就像画家一样,您可以构建一系列已完成的作品,以展示您通过机器学习提供成果的不断增长的技能。 您可以在帖子中了解有关此方法的更多信息: * [建立机器学习组合](http://machinelearningmastery.com/build-a-machine-learning-portfolio/) 您可以自己使用此产品组合,将先前结果中的代码和知识用于更大,更雄心勃勃的项目。 一旦您的投资组合成熟,您甚至可以选择将其用于更多的工作责任或新的机器学习重点角色。 有关详细信息,请参阅帖子: * [获得付费申请机器学习](http://machinelearningmastery.com/ladder-approach-to-becoming-a-machine-learning-consultant/) ## 技巧和窍门 以下是使用此过程时可能会考虑的一些实用技巧和窍门。 * 从一个简单的过程开始(_ 如上 _)和一个简单的工具(_ 如 Weka_ ),然后一旦你有信心就前进。 * 从最简单和最常用的数据集开始(_ 鸢尾花 _ 和 _ 皮马糖尿病 _)。 * 每次您应用此过程时,都要寻找改进它的方法和使用方法。 * 如果您发现新方法,请找出将它们集成到流程中的最佳方法。 * 研究算法,但只有尽可能多的方式可以帮助您在流程中获得更好的结果。 * 学习并向专家学习,了解您可以窃取哪些方法并添加到您的流程中。 * 研究您的工具就像您做预测性建模问题并充分利用它。 * 处理更难和更难的问题,留下容易的问题,因为你不会从中学到很多东西。 * 专注于清晰呈现结果,您做得越好,您的投资组合的影响就越大。 * 在论坛和 Q& A 网站上参与社区,都可以提问和回答问题。 ## 摘要 在这篇文章中,您发现了一个简单的 5 步骤过程,您可以使用它来开始并在应用的机器学习中取得进展。 尽管布局简单,但这种方法确实需要付出艰苦的努力,但它确实会带来回报。 我的许多学生都在完成这个过程,并成为机器学习工程师和数据科学家。 如果您正在深入了解此过程和相关想法,请参阅帖子: * [程序员机器学习](http://machinelearningmastery.com/machine-learning-for-programmers/) **你有什么问题吗?** _ 在下面的评论中提问,我会尽力回答。_