登录
首页精彩阅读如何避免机器学习中的三大陷阱?
如何避免机器学习中的三大陷阱?
2019-09-16
收藏
如何避免<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>机器学习</a>中的三大陷阱?

▲利用机器学习来优化生产高能等离子体的设备

随着来自无数领域的科学家急于进行算法分析,谷歌的Patrick Riley呼吁在研究和报告方面制定明确的标准。

作者 | Patrick Riley

出品 | CDA数据分析师

Three pitfalls to avoid in machine learning

机器学习正在推动整个科学的发现。其强大的模式发现和预测工具正在帮助各个领域的研究人员 - 从发现分子的新方法和在分析中发现细微信号,到改善医学诊断和揭示基本粒子。

然而,机器学习工具也会变成傻瓜的黄金 - 误报,盲目的小巷和错误。许多算法都非常复杂,以至于无法检查所有参数或无法确切地了解输入的操作方式。随着这些算法开始得到更广泛的应用,误解,错误结论和浪费的科学努力的风险将呈螺旋式上升。

这些问题并不新鲜。机器学习领域几十年来一直受到“坦克问题”的影响。最初的研究似乎是在20世纪60年代出现的(参考文献1是本研究中最早的合理参考文献;感谢软件工程师Jeff Kaufman)并被时间的迷雾所掩盖,但故事就是这样。研究人员在军方提供的照片中编写了一种算法来发现坦克。该模型在测试图像中成功找到了坦克。但它后来因为未来的真实照片而失败了。为什么?复述中的细节各不相同,但它所训练的图片包含其他图案 - 在晨光中或在云层下出现的坦克。因此,推动算法的是其他因素,而不是坦克的存在。

类似的混乱今天引起了反省。许多机器学习论文未能完成足够的实验。审查标准不一致。竞争鼓励一些研究人员一旦认为他们有他们想要的答案就偷工减料并跳过检查。

我们无法预测每次分析会产生的所有困难。但是,至少,研究人员将机器学习带到他们的领域应该熟悉他们可以用来检测和避免它们的常见陷阱和实践。

为了说明这一点,我强调了我们在Google Accelerated Science团队中面临和克服的机器学习分析中的三个问题。


三个问题


1、不恰当地拆分数据

在构建模型时,机器学习从业者通常会将数据分解为训练和测试集。训练集训练模型,并通过它对测试集的描述程度来评估模型的性能。研究人员通常会随机分割数据。但现实生活中的数据很少是随机的。它们可能包含时间趋势 - 例如收集数据的方式的变化,或者收集的信息的不同选择。

例如,这些历史模式被埋藏在分子的数据集中,其通过机器学习算法虚拟地筛选以找到药物的候选者。挑战在于预测假设分子如何有效地被吸收到体内或减少炎症。筛选开始于分子的数据,这些分子具有或不具有期望的效果。但是收集数据的背景可能与机器学习模型的使用方式不同。

如何避免<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>机器学习</a>中的三大陷阱?

▲使用机器学习来寻找能量材料

例如,模型可以建立在公开可用的一组分子上,然后用于不同的专有集合。化学家的凝视经常从某些分子群转向其他分子,当有希望的导联被检查和丢弃时。因此,研究人员经常高估模型在实践中的表现。这可能导致预期膨胀,并且在选择不当的分子上浪费时间和金钱。许多模型制作者(包括我自己)都陷入了这个陷阱。

换句话说,您要回答的问题应该会影响您分割数据的方式。为了模型预测添加几个原子对分子的影响,测试集中的每个分子应该在训练集中具有一个不同原子的伙伴。如果你想对化学上不同的分子做出很好的预测,那么测试集中的每个分子都应该与训练集中的所有分子不同。分割数据的“正确”方式可能并不明显,但仔细考虑并尝试多种方法可以提供更多洞察力。


2、隐藏的变量

在理想的实验中,研究人员只更改感兴趣的变量并修复所有其他变量。在现实世界中,这种控制水平通常是不可能的。随着时间的推移,设备的精度漂移,批次的试剂不同,一个实验条件在另一个之前进行,结果甚至可能被天气扭曲。这种不受控制的变量在机器学习模型中可能是有害的。

例如,我在Google的团队一直在加利福尼亚州Foothill Ranch的核聚变初创公司TAE Technologies工作,以优化生产高能等离子体4的实验。我们建立了模型,试图了解等离子机的最佳设备设置。存在数百个控制参数,从何时激励电极到要设置在磁体上的电压。记录一系列测量值,包括温度和光谱。

我们从数千次运行的等离子机中获取了数月的数据。设备调整和修改以及组件磨损并尝试不同的想法时,设置会有所不同。当我们到达一个模型时,我们很高兴,根据给定的设置预测,等离子体的能量是否会很高。很快,很明显我们的预测不是基于我们的想法。

如何避免<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>机器学习</a>中的三大陷阱?

▲在印度马杜赖的Aravind医院进行眼科检查,工作人员和谷歌研究人员正试图自动诊断由糖尿病引起的失明。

当我们再次训练模型时,将实验时间作为唯一输入,而不是机器的所有设置,我们获得了类似的预测能力。为什么?我们认为我们的第一个模型锁定时间趋势,而不是物理现象。随着实验的进行,有一段时间机械运行良好,有些时间没有。因此,实验的时间可以为您提供有关产生的等离子体是否为高能量的信息。此外,可以从控制参数的设置大致预测实验的时间 - 这些变化的时间趋势也是如此。

隐藏变量也可以源于实验布局。例如,我们正在与许多合作者合作解释显微镜图像,包括纽约市的纽约干细胞基金会研究所。图像包括在板上的生物实验阵列 - 通常是包含细胞和液体的孔的网格。目标是找到具有某些特征的孔,例如化学处理后细胞外观的变化。但生物变异意味着每个板块看起来总是略有不同。并且单个板块可能存在差异。边缘通常看起来与中心不同,例如,如果更多液体在外围井中蒸发或者板是否倾斜。

机器学习算法可以轻松掌握这些无意识的变化。例如,该模型可能只是确定哪些井位于板的边缘。检查是否发生这种情况的一种简单方法是让模型预测其他事物,例如盘子上的位置,盘子是什么以及图像来自哪个批次。如果它可以做到这一点,请怀疑你的结果。

得到的教训是:使用多个机器学习模型来检测意外和隐藏的变量。一个模型侧重于您关心的问题 - 等离子是高能还是低能; 细胞是健康还是生病?其他模型清除了混杂因素。如果后者的结果很强,请对数据进行标准化,进行进一步的实验或调整结论。


3、误解目标

机器学习算法要求研究人员指定一个“损失函数”,它决定了各种错误的严重程度 - 例如,最好是两个错误是1%,还是单个错误2%。从业者倾向于使用一小部分功能,这些功能无法捕捉他们真正关心的内容。

例如,我们一直在使用机器学习来帮助求解偏微分方程。这些公式在科学中很常见,包括流体动力学,电磁学,材料科学,天体物理学和经济建模。通常,它们必须以数字方式解决,我们训练模型以在有限的分辨率下提供更好的准确性。

如何避免<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>机器学习</a>中的三大陷阱?

▲神经技术和AI的四个道德优先事项

我们从一个方程开始描述水波如何在一个维度上传播。该算法的任务是重复预测当前步骤的下一个时间步长。我们有两种略有不同的配方和训练模型。根据我们的损失函数,这两个模型同样好。然而,一个产生废话,而另一个产生了接近期望的结果。

为什么?控制学习的损失函数只考虑下一步的错误,而不是多步骤的解决方案的有效性,这正是我们真正想要的。

发散目标也冒出了我们的机器筛选工作,为糖尿病视网膜病变,糖尿病的并发症及预防失明的世界的首要原因。如果从眼睛后部的图像中提早检测到,则可以有效地治疗该病症。当我们收集数据并让眼科医生根据图像提供诊断时,我们要求我们的机器学习工具预测眼科医生会说些什么。出现了两个问题。

首先,眼科医生经常不同意诊断。因此,我们意识到我们不能将模型建立在单一预测上。我们也不能使用多数票,因为在医疗准确性方面,有时少数意见是正确的。其次,单一疾病的诊断实际上并不是真正的目标。我们本来应该问:'该病人应该去看医生吗?' 因此,我们将目标从单一疾病的诊断扩展到多种疾病。

机器学习从业者很容易掌握数据和标签清晰的“明显”目标。但他们可能正在设置算法来解决错误的问题。必须牢记总体目标,否则我们将生成能够回答错误问题的精确系统。


接下来是什么?

首先,机器学习专家需要让自己和同事保持更高的标准。当新的实验室设备到来时,我们希望我们的实验室伙伴了解其功能,如何校准,如何检测错误以及了解其功能的限制。因此,机器学习也是如此。没有魔法,使用它们的人必须理解这些工具。

其次,不同的学科需要制定明确的标准,以便如何执行和报告他们所在地区的机器学习。适当的控制,健全性检查和错误测量将因场而异,这些需要清楚地说明,以便研究人员,审稿人和编辑能够鼓励良好的行为。

第三,机器学习科学家的教育需要包括这些更广泛的问题。虽然存在一些资源(例如http://ai.google/education),但我们还需要做更多工作。我们经常教授算法和工具,但学生需要更多地了解如何应用他们的算法并对其进行适当的质疑。

我们处于一个惊人的地步 - 计算能力,数据和算法汇集在一起,在机器学习的帮助下为发现创造了巨大的机会。作为一个科学界,我们有责任确保我们充分利用这个机会。

数据分析咨询请扫描二维码

客服在线
立即咨询