成功的机器学习项目的三个步骤

三个技巧性更强的技巧,助您成功迈入机器学习

机器学习项目

当人们和公司冒险使用机器学习(ML)时,有些人通常会期望直接进入构建模型并产生有用的输出。而且,虽然ML的某些部分感觉像是具有不可思议的预测的技术巫术,但还有其他方面的技术性较低,而且可以说更为重要。花足够的时间来定义正确的问题,适当地预处理数据并考虑使用模型的影响可以极大地提高ML项目的成功率。

我希望作为一家希望利用ML的公司,经理或工程师,这些技巧将节省您的时间,并帮助您确定未来的工作重点。

它从一个问题开始

提出正确问题的第一步通常是您的机器学习冒险中最困难的部分。任何ML项目的目的都是回答一个问题。 “谁写的”,“这是什么”,“价格将是多少”,“那里有什么模式”?如果您有一个具体问题要集中回答,则可以清楚地定义目标功能,并帮助您确定实际工作所需的数据。如果不提出正确的问题,您的团队可能会花费大量的时间来收集,精炼和建模产生无用产品的数据。 更糟糕的是,这些打could可能会削弱您机构中ML的感知价值,从而导致将来的支持减少。

如果不提出正确的问题,您的团队可能会花费大量的时间来收集,精炼和建模产生无用产品的数据。

为避免这种情况,在继续进行任何与数据相关的项目之前,请先暂停并清楚说明您要回答的问题。然后定义目标函数,以最大程度地提高准确性,您计划使用它来衡量进度。这似乎是一个简单的步骤,确实是,但是很容易忘记。虽然您的第一个问题可能不是正确的问题,但至少您会朝着明确的目标取得进展,并可以从中反复进行。

准备准备数据

收集和预处理数据可能需要90%的工作。另外10%可能是测试,调整和操作模型。对于浅层学习方法,这包括浏览数据,工程特征以及将数据规范化为有用的格式。即使采用深度学习方法,也应该对数据进行探索和向量化以确保合理的性能。这些操作中的许多操作很容易用库中的几行代码完成,例如 Scikit学习 要么 凯拉斯 ,探索数据并验证其是否代表实际数据非常耗时。

AI Time Journal资源
您正在学习数据科学吗?

Check out what 图书 帮助20多个成功的数据科学家成长。

功能工程需要对业务环境有相当深入的了解,拥有正确的功能确实可以改善您的结果,因此,单单让一个数据科学家来解决问题可能并不奏效。那些在组织中开始使用ML的人员应该花大量时间来进行数据探索和准备,然后再预期结果。提前做好可能要付出多少努力的准备,不要急于仅仅丢掉准确性得分。

在生产环境中 ’可能还没有收集到您希望的所有数据点,因此知道自己可能需要在收集方面进行迭代也很高兴知道。总体而言,计划在数据预处理上进行更长的迭代,并相应地管理期望。

您的模型会产生什么影响?

在一般意义上,机器学习(尤其是深度学习)的模型输出值基于其根据训练数据对其自身进行的一些数学转换。

这些算法可能会识别出我们人类尚未识别的训练数据中的某些模式,但是该模型不是有意识地思考或做出决定的。它只是在调整权重或值,以最大化/最小化其目标函数;非常单一的焦点。只需尝试在完全不同的数据集上利用模型,您就会意识到模型的“知识”实际上是多么具体。

我们应该花点时间考虑一下为什么我们的输出是正确的,如果它能很好地针对实时数据进行概括,以及使用它是否会带来意外的后果。

我认为这一点很重要,因为很多时候很容易获得模型的输出(即预测)并运行它,而无需考虑可能会渗入模型的偏差。我们应该花点时间考虑一下为什么我们的输出是正确的,如果它能很好地针对实时数据进行概括,以及使用它是否会带来意外的后果。由于该模型不是“思考”模型,因此除非其目标功能和训练数据相符,否则它将不会适应您的道德或道德考虑。

结论

总而言之,机器学习的工具和技术正在迅速发展,但是必须同时考虑许多辅助因素。着眼于正确的目标,正确地处理数据以及质疑输出是执行任何机器学习项目时应考虑的所有操作。正如我们看到机器学习的技术能力呈指数级增长一样,我们应该以更大的速度推动机器学习的支持活动。


相关文章:

贡献者

康奈尔技术学院MBA候选人|约翰逊管理学院

贡献者表达的观点是他们自己的观点。

关于乔纳森·赫科

康奈尔技术学院MBA候选人|约翰逊管理学院

查看乔纳森·希尔科的所有帖子→