初学者福利:机器学习项目清单
为了加强自己对某一进程的解释而编纂和比较某一特定进程的各种解释的活动是有价值的。我之前已经对我们可以称之为机器学习过程的其他解释做了这样的事情(并且可以合理地与数据科学或数据挖掘过程紧密结合,至少在某种程度上)。
为了进一步完善我们的内部模型,本文将概述AurélienGéron的机器学习项目清单,如他的畅销书《动手学习Scikit-Learn&TensorFlow》所示。它作为一个接近项目的清单呈现,因此感觉不那么规范和更具描述性,提醒你应该做什么,而不是你为什么要做什么,这是一种没有判断力的观察。
以下是Géron清单的简要概述,从这篇文章中你可以获得针对初学者和从业者的更多有用信息。
1.解决问题
第一步是确定目标的位置。Géron在业务术语中指的是目标,但这并非绝对必要。了解最终如何使用机器学习系统的解决方案非常重要,此步骤还讨论了针对给定问题的可比较的场景和当前的变通方法,以及正在考虑的假设,以及确定了对人类专业知识的需求程度。在该步骤中需要构建的其他关键技术项包括确定应用哪种类型的机器学习问题(监督、无监督等)适用,以及采用适当的性能度量。
2.获取数据
此步骤以数据为中心:确定需要多少数据,需要什么类型的数据,从何处获取数据,评估数据采集的法律义务以及获取数据。获得数据后,确保其被适当地匿名化,确保您知道它实际是什么类型的数据(时间序列、观察、图像等),将数据转换为您需要的数据,并创建训练、验证和测试集合是有保证的。
3.探索数据
清单中的这一步类似于通常称为探索性数据分析(EDA)的步骤。目标是在建模之前尝试从数据中获得见解。回想一下,在第一步中,要确定和探索有关数据的假设;现在是更深入调查这些假设的好时机。人类专家可以在这一步骤中特别有用,回答关于机器学习从业者可能不明显的相关性的问题。在这里研究特征及其值的一般可视化(例如,想象它是多么容易,通过箱形图快速识别异常值而不是通过数字查询)。记录您的探索结果以供以后使用是一种很好的做法。
4.准备数据
是时候应用您在上一步中确定为值得的数据转换了。此步骤还包括您将执行的任何数据清理以及特征选择和工程。任何用于值标准化和/或标准化的特征缩放也会在这里发生。
5.对数据建模
是时候对数据进行建模,并将最初的模型集精简为看似最有希望的数据集。 (这类似于Chollet过程中的第一个建模步骤:良好模型→“太好”模型)此类尝试可能涉及使用完整数据集的样本来促进初步模型的训练时间,模型应该涵盖广泛的类别(树、神经网络、线性等)。应该建立、测量和比较模型,并且应该研究每个模型的错误类型,以及每个算法使用的最重要的特征。最好的模型应该被列出,然后可以对其进行微调。
6.微调模型
已经入围的模型现在可以对它们的超参数进行微调,并且应该在此阶段调查集合方法。如果数据集样本已用于先前的建模阶段,则应在此步骤中使用完整数据集;如果没有接触到所有训练数据或与其他已接触过所有训练数据的模型进行比较的情况下,则不应选择微调模型作为“赢家”。
7.提出解决方案
是时候呈现了,所以希望你的可视化技能(或实施团队成员的技能)达到标准!这是一个技术性较小的步骤,但此时确保系统技术方面的正确记录也很重要。为感兴趣的各方回答问题:感兴趣的各方是否了解大局?解决方案是否达到了目标?你有没有传达假设和限制?这基本上是一个销售宣传,所以确保推销是对系统的信心。如果结果不被理解和采用,为什么要做这些工作呢?
8.启动ML系统
让机器学习系统为生产做好准备;它需要插入更广泛的生产系统或战略。作为一个软件解决方案,它将在事先进行单元测试,并应在启动和运行后进行充分监控。在新的或更新的数据上重新训练模型是这个过程的一部分,在这里应该加以考虑,即使在前面的步骤中已经考虑过这一点。