机器学习项目失败的9个原因,你中招了吗?
摘要: 失败了!知道自己败在什么地方了吗?还不进来看看?
本文总结了数据科学项目失败的最常见原因,希望能够帮助你避免陷阱。
1.问错了问题
如果你问了错问题,你将会得到错误的答案。比如金融业中的欺诈识别问题,这个问题最初可能是“这个特定的交易是否存在欺诈”。为了确定这一问题,你将需要一个包含欺诈和非欺诈交易示例的数据集。这个数据集可以在一组专门负责侦测欺诈行为的专家(SME)的帮助下生成。但是,由于专家们依据的是过去对欺诈行为的认识进行的标记,用该数据集训练的模型只会捕获符合旧模式欺诈,而对于新兴的欺诈方式,这一模型将无法识别。如果将问题改为“这个交易是否反常”,它只需寻找不符合“正常”签名的交易,依靠人类进一步分析预测的欺诈交易以验证模型结果即可。但这种方法的副作用是,它很可能会比以前的模型产生更多的误报。
2.试图用它来解决错误的问题
我们经常会忽视一个问题:我们费尽心思解决了一个问题,但是解决后是否能实现我们的目的。比如,你想出了用人工智能开发出一个将人的全身照传上网站就能根据提醒量身定做一套合身的衣服的项目。完成这个项目我们需要完成以下任务:
·开发AI/ML技术以确定照片中的身体测量值;
·设计并创建一个网站和手机应用,以便与客户进行互动;
·进行可行性研究以确定此产品是否有市场。
作为技术专家,我们最熟悉的就是产品设计与编码,因此我们可能想开始研究前两个任务。如果我们在执行前两项任务后进行可行性研究并且研究结果表明我们的产品没有市场,那将很可怕。
3.没有足够的数据
有一些数据十分敏感并且受到严密的保护,对它的访问可能会受到很大的限制,我们可能获取不到相关数据。
比如,在一些与生命科学领域相关的项目中,由于生命科学行业对存储和传输受保护的健康信息(PHI)非常敏感,大多数可用数据集都会将这些信息删除。例如,密西西比人比康涅狄格州的人患糖尿病的可能性更高。但是由于这些信息可能无法获得,我们将无法使用。
4.没有正确的数据
就算你拥有超棒的模型,使用错误数据或者有缺陷的数据也可能导致预测错误。在监督学习中,我们使用以前标注过的数据,由于这种标签通常是人做得,可能会存在一些错误。举一个极端的例子,假设有一个具有完美准确性的模型但使用了不准确的数据,如MINIST数据集,图像的人工标记是100%准确的。现在,假设三分之一的数字被贴错了标签,就如古老格言所说的,如果是垃圾输入,你将得到垃圾输出。
5.拥有太多数据
从理论上讲,你永远不需要很多的数据(只要它是正确的数据)。在实践中,即使存储和计算成本和性能取得了巨大的进步,我们仍然受到时间和空间的物理限制。所以数据科学家最重要的工作之一就是明智地挑选他们认为会对实现精准的模型预测产生影响的数据源。例如,预测婴儿出生体重。与母亲的年龄及住处似乎相关,但与母亲的名字可能不相关。在本例中,需要人工干预来确定删除不相关的数据。在运行模型之前,确定哪些因素相关仍是一个潜在的陷阱,可能会破坏你的数据科学项目。
6.雇佣错误的人
如果你有的是一个小型数据科学实践,你可能别无选择,只能依赖一个或几个来执行所有任务。但是,随着团队的发展你应该考虑为每项任务聘请专家。特别是对于生物技术、金融等行业拥有专业的领域知识是非常有价值的,甚至是至关重要的。同时,拥有一个主题专家(SME)和具有良好沟通技巧的数据科学家也很重要。随着你团队的不断发展,拥有正确的资源和人才库是你实践成功的最重要因素之一。
7.使用错误的工具
举个例子:你最近派遣团队在MySQL上进行训练,他们回来后,你需要设置一个分析管道。由于他们的想法已经被重新训练,于是他们建议使用他们的新工具。但是,根据管道将要处理的数据量以及你需要对结果执行的分析量,这个选择可能是对作业的错误选择。许多SQL产品对可以存储在单个表中的数据量有严格的限制。在这种情况下,更好的选择可能是使用像MongoDB这样的NoSQL产品或者像AWS Redshift这样的高度可扩展的列式数据库。
8.没有合适的模型
“无免费的午餐”(NFL)是数学中的著名定理。它指出没有一种模型是可以解决所有问题的。例如,在营销应用程序中,保留客户电子邮件和地址等属性可能很重要。而在医疗环境中,患者的身高、体重和血型可能更为重要。这表明在某种情况下运作良好的模型可能在另一种情况下不起作用。所以在数据科学中使用多个模型进行迭代,以找到最合适给定情况的模型是很常见的。在监督学习中更是如此。验证或交叉验证通常用于评估不具有复杂性的多个模型的准确性,以找到最合适的模型。此外,一个有效地模型也可以通过多种算法进行训练—例如,可以使用正规方程(Linear least squares)或使用梯度下降(Gradient descent)来训练线性回归。
9.没有正确的尺度
在机器学习中,根据对数据的训练和测试来衡量模型的性能是非常重要的。该信息将用于选择要使用的模型、超参数和确定模型是否已准备好用于生产使用。为了衡量模型的性能,最重要的是选择最佳的评估标准来完成手头的任务。
关于度量选择的文献有很多,对此不在深入探讨,但在选择指标时要牢记以下一些参数:
·机器学习问题的类型:监督学习、无监督学习和强化学习。
·监督学习的类型:二元、分类或回归。
·数据集类型:如果数据集不平衡,则不同的度量标准可能更合适。
本文由北邮阿里云云栖社区组织翻译。
文章原标题《why-machine-learning-project-fail》
作者:Alberto Artasanchez
译者:乌拉乌拉,审校:袁虎。