过去几年,机器学习(ML)已成为人工智能领域最热门的领域之一。机器学习的范围如此之大,Gartner 估计,到 2022 年,人工智能和机器学习领域将创造 230 万个就业岗位。
由于机器学习工程师的平均工资高于欧洲其他职位的工资,因此机器学习职业变得利润丰厚。机器学习专业人士不仅可以在其组织中规划人工智能的发展方向,还可以成为公司正在构建的人工智能技术堆栈的关键领导者。
机器学习最初由 IBM 研究员 Arthur Samuel 提出,现在已成为每个数据驱动型公司成功的核心。在深入探讨 ML 时,我们已经解释了 ML 的工作原理、各种类别、用例和挑战。然而,经常出现的常见问题之一是如何开始机器学习。好吧,我们来这里是为了帮助回答这个问题。
什么是机器学习?
对于初学者来说,让我们从熟悉机器学习开始。机器学习本质上是人工智能的一个子领域,旨在将数据转化为数字并发现这些数字中的模式。计算机利用可用数据寻找模式的能力通常被称为得出结论或推论。
世界各地的组织一直在使用机器学习来获取有助于做出业务决策的见解。根据加州大学伯克利分校的说法,机器学习算法包括三个主要组成部分:决策过程、误差函数和模型优化过程。
正如机器学习工程师、YouTuber 丹尼尔·伯克 (Daniel Bourke) 在他的一个热门视频中所观察到的那样,机器学习“令人惊叹”,但它仍然需要传统编程才能成功。 Bourke 在他的题为“机器学习路线图”的视频中表示,工程师应该构建一个简单的基于规则的系统,如果可能的话,不需要机器学习。
Bourke 引用了 Google 的机器学习手册,认为 ML 不应该是工程师采用的首选。相反,他建议在实施基于机器学习的系统之前先看看要解决的问题。他还解释了机器学习过程、工具甚至资源。
机器学习过程:解决机器学习问题的步骤
在了解解决机器学习问题的步骤之前,了解问题本身非常重要。用 Bourke 的话说,最常见的问题是工程师和客户倾向于应用机器学习来解决所有问题。他将此比喻为本末倒置,试图解决移动物品的问题。
学习也有多种类别,例如监督学习、无监督学习、强化学习和迁移学习。您可以在此处阅读有关这些类别的更多信息。还需要学习分类和回归。
为了解决所有这些挑战,Bourke 建议遵循一系列流程。第一个过程是数据收集,他建议机器学习工程师询问他们试图解决的问题类型,并考虑现有的数据源、隐私问题(如果有)、数据存储位置,甚至数据是否公开。作为数据收集的一部分,机器学习工程师考虑数据的类型也很重要。这更容易定义为结构化数据和非结构化数据。
下一个过程是数据准备,包括探索性数据分析或也定义为了解您将使用的数据。探索阶段之后是数据处理,工程师为建模准备数据,其中包括填充缺失数据、将值转换为数字、数据缩放或标准化、将数据转换为有意义的表示、选择最有价值的特征等操作。数据集,并处理不平衡问题。
下一步是将数据分成训练集,通常占数据集的 70% 到 80%。机器学习模型使用这些数据进行学习。剩余 10% 到 15% 的数据用作验证集,模型的超参数在此基础上进行调整,剩余 10% 到 15% 的数据用作最终评估的测试集。
数据分割后,机器学习工程师需要根据数据训练模型。 Bourke 表示,为此需要三个步骤,包括选择算法、过度拟合模型以及通过正则化减少过度拟合。我们建议观看此视频以详细了解这些步骤。下一个过程涉及分析、部署和重新训练模型以获得准确的结果。
机器学习工具:您应该使用什么来构建机器学习解决方案?
在 ai.nl,我们广泛介绍了 ML 工程师可用的所有基于 Python 的解决方案。 Bourke 建议将工具分为两类:库和工具箱。对于工具箱,他进一步将其分类为预训练模型、实验跟踪、数据和模型跟踪、云计算服务、硬件、AutoML、可解释性和机器学习生命周期。
对于 Python 风格的库,Bourke 建议使用 Scikit-Learn、PyTorch、TensorFlow、ONNX。您可以在此处了解所有这些开源工具。对于迁移学习,他推荐 TensorFlow Hub、PyTorch Hub、用于 NLP 的 HuggingFace Transformers 以及用于计算机视觉的 Detectron2。
对于实验跟踪,ML 工程师可以依靠 TensorBoard、Dashboard by Weights & Biases、neptune.ai,而数据和模型跟踪可以使用 Artefacts by Weights & Biases 或数据版本控制 (DVC) 来完成。
对于云计算服务,Bourke 推荐 Google Colab,这是一款免费的 GPU 驱动的 Jupyter 笔记本。 ML 工程师还可以查看 AWS 的 Sagemaker、Google Cloud Platform 的 AI Platform 或 Microsoft Azure 的 Azure Machine Learning。对于硬件,在执行构建 1,000 美元 PC 的任务之前,了解适合您的工作负载的 GPU 非常重要。
在过去几年中,我们还看到 AutoML 的使用呈爆炸式增长,它可以根据数据集和超参数调整自动构建机器学习模型。从 TPot、Google Cloud AutoML 到 Microsoft 自动机器学习、Sweeps by Weights & Biases 以及 Keras Tuner,工程师有多种选择。为了便于解释,有假设工具和 SHAP 值。