均方恐怖-仅GridSearch是不够的

2020-07-09 06:02:21

2020年6月29日这篇博文在发布后的第二天进行了编辑。在我早晨散步的过程中,我意识到我的代码在统计数据中有一个明显的错误。我报告的是训练集数字,而不是验证集。我用适当的数字重新运行了系统,虽然结论没有改变,但一些数字/数字改变了。

很多年前,当我开始研究数据时,人们都在积极地研究启发式方法。这些规则可以查看数据,然后做出适当的决定。在原理图上,这是常态;

你必须了解数据才能得出这些规则,这非常耗时。但是后来机器学习改变了一切。我们不是编写适合问题的规则,而是提供标签并让机器计算出规则。

后一种方法有其优点,但它需要一种新的工作方式。它也倾向于计算密集型,因为我们感兴趣的是找到可能的最佳设置。

为了找到所有这些模型的最佳设置,我们甚至通过交叉验证实现了网格搜索;这是确保我们选择最佳模型的行业标准。

别误会我的意思,方法论是有可取之处的。我们希望在我们的模型中展示一致的结果。但我们将模型的所有可能属性表示为单个数字。这是信息的大量减少,坦率地说,这是对模型的一种过于简单化的思考方式。

我以前写过“GridSearch还不够[tm]”,但在这篇文档中,我想举例说明这项技术如何也会成为问题。GridSearch充其量是不够的,在最坏的情况下也可能是危险的。

主要原因是我看到人们盲目相信方法论,导致模型的其他问题出现盲点。我还与数据科学家交谈过,他们认为机器学习算法是在数据中发现“真相”的不偏不倚的工具,网格搜索是一种纯粹的方法论。这是一种危险的态度,所以我想我应该树立一个反例。

所以让我们做一个小实验。我们的目标是观察机器学习对有偏数据集的影响。给定一个有偏差的数据集,网格搜索会放大还是减少数据集中的偏差?

我已经使用dradata.xyz绘制了一个数据集。让我们假设这个用例代表根据技能水平预测工资。技能水平绘制在x轴上,工资/奖励绘制在y轴上。有两组数据点,一组代表边缘群体。这一群体的代表性不足,仅以较低的工资出现,而且他们的工资也低于未被边缘化的同龄人。当前的插图是对现实生活数据集中可能发生的事情的直截了当的表示(偏差可能更微妙),但问题是:网格搜索后会提取什么模式?

下面我们将看看三种不同模型的结果。我们还将列出从网格搜索中报告给我们的均方误差。

请注意,具有最低均方误差的模型也是在较高技能水平的组之间造成最大偏差的模型。这种偏见的增加不能仅仅归咎于数据。正是模型的选择增加了这种偏差,这是算法设计者的责任。

现在,你可以争辩说这是一个理论数据集。任何专业人士都不会在预测薪资的模型中包含性别之类的东西。对吗?我们可以对与敏感属性相关的内容重复相同的练习,但您可以期待类似的结果。当您可以学习数据集中的偏差时,您可以获得较小的均方误差。不管有多微妙。

这就是我觉得网格搜索可怕的地方。人们已经学会了信任它,即使它可以选择一个你不应该考虑的模型。注意网格搜索如何告诉我们,即使这两个群体表现出很高的技能水平,他们之间的薪酬差距也应该很大。在算法方面,有些人可能会说这种行为是“最优的”,而在现实生活中,你会称之为性别歧视、年龄歧视或种族主义。

这里要记住的是,100%无偏的数据集并不真正存在。这种在度量上过度匹配的现象是网格搜索造成的。再加上算法设计人员在他们要应用您的算法的领域中没有领域知识,您可能会得到这样的结果。

这篇帖子是由Twitter上的一场讨论和LinkedIn上的一场讨论引发的。看到数据专业人士对算法如何放大偏见不屑一顾,令人失望。这不是职业人士应该随意对待的事情。