数据多样性促进了机器学习

麻省理工学院计算机科学与人工智能实验室及其信息与决策系统实验室的研究人员开发了一种算法,使不同子集的选择更加实际。

通过Larry Hardesty,麻省理工学院新闻办公室 2016年12月22日

当数据集变得太大时,有时对它们做任何有用的事情的唯一方法是提取更小的子集并分析它们。

然而,这些子集必须保留完整集的某些属性,在广泛应用中有用的一个属性是多样性。例如,如果你正在使用你的数据来训练一个机器学习系统,你想要确保你选择的子集代表了系统将不得不面对的全部情况。

麻省理工学院计算机科学与人工智能实验室(CSAIL)及其信息与决策系统实验室的研究人员提出了一种新的算法,使不同子集的选择更加实用。

之前的子集选择算法的运行时间依赖于完整数据集中的数据点数量,而新算法的运行时间依赖于子集中的数据点数量。这意味着,如果目标是将100万个点的数据集筛选到1000个点,那么新算法比之前的算法快10亿倍。

麻省理工学院电气工程与计算机科学系X-Window联盟职业发展助理教授、这篇新论文的资深作者斯蒂芬妮·杰格尔卡说:“我们希望选择多样化的组合。”

“为什么这有用?”推荐就是一个例子。如果你向某人推荐书籍或电影,你可能想要一套不同的产品,而不是同一件东西的10个小变种,”杰格尔卡说。“或者,如果你搜索‘华盛顿’这个词。“这个词有很多不同的意思,你可能想表达一些不同的意思。或者,如果您有一个大型数据集,并且您想要进行探索(例如,大量图像或健康记录的集合),并且您想要一个数据的简要概要,您想要一些多样化的东西,能够捕捉数据变化的所有方向。

“我们实际使用这个东西的另一个应用是大规模学习。你又有了一个庞大的数据集,你想从中选择一小部分,从中你可以很好地学习,”Jegelka说。

考虑小

传统上,如果你想从一个大型数据集中提取一个不同的子集,第一步是创建一个相似矩阵——一个巨大的表,它将数据集中的每个点与其他每个点映射。表示一个数据项的行与表示另一个数据项的列的交集包含了点在某些标准度量上的相似性得分。

有几种提取不同子集的标准方法,但它们都涉及对整个矩阵执行的操作。对于包含100万个数据点的数据集(以及100万乘100万的相似度矩阵),这是非常耗时的。

相反,麻省理工学院研究人员的算法是从随机选择的一小部分数据开始的。然后,它在子集内和子集外各选择一个点,并随机选择三种简单操作之一:交换点,将子集外的点添加到子集,或删除子集内的点。

算法选择其中一种操作的概率取决于完整数据集的大小和子集的大小,因此它会随着每次添加或删除而略有变化。但是算法不一定执行它选择的操作。

执行或不执行操作的决定是概率性的,但在这里,概率取决于操作提供的多样性的改进。对于添加和删除,决策还取决于子集相对于原始数据集的大小。也就是说,随着子集的增长,添加新的点变得更加困难,除非它们显著提高了多样性。

这个过程不断重复,直到子集的多样性反映了完整集的多样性。然而,由于从来不计算完整集的多样性,问题是多少重复才足够。研究人员的主要结果是回答这个问题的一种方式,并证明答案是合理的。

麻省理工学院

www.mit.edu

-由克里斯·瓦夫拉编辑,制作编辑,控制工程, CFE传媒,cvavra@cfemedia.com.查看更多控制工程资产管理故事。