2013年7月19日,星期五

使用更少的数据

在一个 以前的帖子 我指出,在进行数据科学时,对较小的数据集进行操作是确保生产率和快速实验的最佳方法之一。在ICML 2013上,我和Nikos提出了 一般策略 使用较少的数据来解决各种各样的问题。

这个想法的灵感来自 类不平衡二次采样启发式。这是计算广告从业者中的一个众所周知的技巧,这种技术的奇特效果一直吸引着我。诀窍在于:当二元分类数据集主要由一个类别的示例组成时,可以对更频繁的类别进行二次采样而不会影响最终分类器的质量。事实证明,我们能够将这一技巧概括如下。

假设您打算通过最小化损失函数$ \ mathcal {L} $(即经验风险最小化(ERM))来从集合$ \ mathcal {H} $中选择假设$ h ^ * $。还要假设有人给您一个假设$ \ tilde h \ in \ mathcal {H} $。您可以在执行ERM之前使用$ \ tilde h $对数据集进行子采样,并且引入的超额风险是适度的(有关确切的超额风险界限,请参见本文)。可以丢弃的数据量取决于$ \ tilde h $的经验损失。如果$ \ tilde h $的经验损失较低,那么您可以主动进行子采样。该策略很简单:以与$ x $上$ \ tilde h $的损失成比例的比率对每个示例$ x $进行采样。您必须对最终子样本进行重要性加权以保持无偏,并在最后一步中将重要性加权的经验损失降至​​最低,但是许多机器学习算法可以直接合并重要性加权(如果没有,则可以使用 将重要性加权损失减少为均匀加权损失 通过拒绝采样)。

在这种解释中,类不平衡子采样启发法对应于使用$ \ tilde h $,它是一个常量预测变量,例如,$ \ forall x,\ tilde h(x)= 0 $对于在正数广告中是一个很好的选择。例子(例如点击)相对较少。但是,此技术的概括适用范围更广。首先,我们有一个非常广泛的损失概念,不仅包括分类,回归,排名和结构化预测。但是还有一些无监督的设置,这些设置可以优化逐点丢失,例如重构错误或困惑。其次,我们允许使用假设集$ \ mathcal {H} $中的任何$ \ tilde h $。通常,对于\\ tilde h $的一个很好的选择是可以容易地按比例估计但损失很小的任何假设。对于类不平衡的问题,最好的常数预测器是很好的,并且很容易按比例估计(只需对标签计数!),但是即使对于那些不平衡的问题,自由选择$ \ tilde h $的能力也具有很大的灵活性。

作为自由选择$ \ tilde h $启用的功能的示例,考虑一下我以前工作过的eHarmony。 eHarmony的一个问题是估计两个人(如果匹配)彼此交流的可能性。 eHarmony已派发约10次 6 多年来每天都进行匹配,因此它们拥有庞大的数据集。尽管eHarmony使用数百种功能来预测通信,但仍有一些功能非常有用,而许多功能则非常有用。如果您在会议期间获得了Vaclav Petricek的精彩演讲 UAI 2013推荐研讨会,您知道身高差,年龄差和身体距离是三个具有较高预测价值的功能。仅基于这三个预测变量的预测变量可以轻松地仅使用Hive进行大规模组装,而并非最优的它将损失相对较低。因此,这是$ \ tilde h $的不错的选择。我没有在eHarmony的数据上尝试过此操作,因为在那儿工作时我并不了解这些事情,但是我与Vaclav进行了交谈,他愿意尝试一下。

此技术的一个重要特殊情况是对\\ tilde h $使用线性预测器,对最终ERM使用神经网络或决策树。这很有用,因为线性预测变量可以 估计规模。请注意,要满足定理的条件,您必须确保线性预测变量在$ \ mathcal {H} $中,这对于神经网络意味着从输入到最后一层的直接连接,而对于这两种技术,这意味着非线性预测变量具有访问所有线性特征(可以为最终ERM添加特征)。作为额外的效果,对于线性模型也适用的特征表示也将 也倾向于帮助非线性模型.

因此,现在您有一个原则性的方法可以对巨型数据集进行二次采样,这将在比类不平衡更一般的设置中工作。继续并丢弃一些数据!