每日一读SWOPE:Efficient Approximate Algorithms for Empirical Entropy and Mutual Information

Posted 海轰Pro

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一读SWOPE:Efficient Approximate Algorithms for Empirical Entropy and Mutual Information相关的知识,希望对你有一定的参考价值。

目录

简介

Hello!
非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~
 
ଘ(੭ˊᵕˋ)੭
昵称:海轰
标签:程序猿|C++选手|学生
简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖…已保研
学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!
 
唯有努力💪
 
【每日一读】每天浅读一篇论文,了解专业前沿知识,培养阅读习惯(阅读记录 仅供参考)

简介

原文链接:https://dl.acm.org/doi/10.1145/3448016.3457255

会议:SIGMOD '21: Proceedings of the 2021 International Conference on Management of Data (CCF A类)

年度:2021年6月18日

ABSTRACT

经验熵是数据挖掘中的一个经典概念,也是互信息等许多其他重要概念的基础

然而,在大型数据集上计算精确的经验熵/互信息可能是昂贵的

最近的一些研究工作探讨了基于经验熵/互信息的采样技术,以加快top-k查询和过滤查询的速度

然而,他们的解决方案仍然旨在返回查询的确切答案,这导致了较高的计算成本

基于此,在本研究中,我们提出了针对top-k查询和基于经验熵和经验互信息过滤查询的近似算法

近似算法允许用户指定的可调参数来控制查询效率和准确性之间的权衡

我们设计了有效的停止规则,以改进查询时间返回近似答案

我们进一步提出理论分析,并表明我们提出的解决方案比以前的解决方案实现了改进的时间复杂度

  • 我们在具有多达 3100 万条记录和 179 个属性的真实数据集上对我们提出的算法进行了实验评估
  • 我们的实验结果表明,在大多数情况下,所提出的算法在计算效率方面始终优于现有技术,同时提供相同的准确结果

1 INTRODUCTION

给定一个离散随机变量 X X X,其概率质量函数为 P ( X ) P(X) P(X),定义该随机变量 X X X的熵 H ( X ) H (X) H(X) H ( X ) = E [ − l o g 2 P ( X ) ] H (X) = E[−log_2P (X)] H(X)=E[log2P(X)]

在大多数现实应用中, X X X的分布通常是未知的,只能根据某些输入数据 D D D得到 X X X的经验分布

根据输入数据下X的经验分布推导出的熵通常定义为X在D上的经验熵,简称 H D ( X ) H_D (X) HD(X)

在数据分析任务中,变量X通常是输入数据的一个属性,那么X的经验分布就是X中出现的每个可能的属性值的分布

经验互信息是在考虑输入数据的多个属性时用来定义经验熵的一个广义概念

经验熵、互信息参考资料:https://zhuanlan.zhihu.com/p/35423404


经验熵和互信息在实际应用中都有广泛的应用

例如,美国人口普查局提供了一个公共数据集[32],其中包括数百万家庭的记录
每个记录包括100多个属性,如祖先、教育、工作、交通、互联网使用、居住地等
该数据集可用于为许多现实生活任务构建数据挖掘模型,例如,构建一个分类器来识别高价值保险消费者

然而,由于维数的诅咒,属性数量多(高维数)往往导致预测模型训练复杂度高

特征选择是数据挖掘的核心步骤,通常只选择有用的和任务相关的属性来构建模型

在文献中,经验熵/互信息[2,5,12,13,19,20,24,26,31,39]被广泛应用于特征选择

除了特征选择,经验熵和互信息进一步在IPv6地址分析[14]、决策树学习[3,27,33]、图形模型结构学习[10]和分类聚类[4,21]中找到了许多应用


本文主要研究两类查询:基于经验熵和互信息的top-k查询和过滤查询

  • 对于前k个查询,它旨在返回具有最高经验熵/互信息得分的k个属性
  • 对于过滤查询,给出一个阈值η,目标是返回经验熵/互信息不小于η的属性

一个直接的解决方案是通过扫描所有记录来获得准确的分数,但对于大型数据集来说,这太昂贵了

幸运的是,在大多数实际应用中,经验熵和互信息的误差有界近似通常是足够的

例如,在2,12,26,31,作者证明了top-k查询的近似解(resp。过滤查询)将足以进行特征选择,并提供有用的和任务相关的属性

通过对top-k查询和过滤查询的更有效的近似解,我们可以显著减少特征选择阶段的计算成本

因此,大多数现有工作集中于近似解,如[16,30,32],以推导经验熵/互信息的误差有界估计。

最先进的top-k和过滤查询的解决方案由Wang等人[32]提出

特别是,它们对记录进行自适应采样,为每个属性推导出严密的估计上界和下界,并通过上下界对属性进行修剪

然而,他们仍然致力于返回完全是top-k或完全不小于η阈值的属性,这使得采样成本仍然很高,并留下了很大的改进空间。


针对现有解的不足,提出了基于经验熵和互信息的top-k和过滤查询的近似算法

对于top-k查询

  • [32]中最先进的解决方案的主要缺陷是,它们需要对足够多的记录进行采样,以区分具有第k个最大得分的属性的下界和具有(k + 1)个最大得分的属性的上界
    • 如果第k个最大分数和(k + 1)-第k个最大分数之间的差距∆非常小,则抽样成本可能相当高
    • 然而,在实际应用中,如果差距∆非常小,则意味着第k大和(k + 1)-大的两个属性同样重要,返回其中任何一个应该对下游分析任务几乎没有影响
    • 因此,我们的目标是返回一个近似的top-k答案(在第2.1节中正式定义),这样返回的k个属性的估值接近于具有真实最高top-k值的k个属性的估值。

对于过滤查询

  • 最先进的解决方案的不足是,他们将严格返回得分不小于η阈值的属性
  • 然而,在下游任务中,接近阈值的属性应该具有可以忽略的影响,因为否则将期望一个更合适的阈值
  • 因此,我们的目标是回答近似的过滤查询,返回得分大于阈值的属性,并放宽得分接近阈值的属性的条件

由于我们放宽了top-k查询和过滤查询的条件,采样成本可以显著降低,这将在我们的实验评估中显示出来

近似算法允许一个用户指定的误差参数来控制返回答案的准确性和效率之间的权衡,具有很强的理论保障

然而,如何设计有效的停止条件来提供满足近似保证的查询答案是一个很大的挑战

我们针对top-k查询和过滤查询都解决了这个具有挑战性的问题,并证明算法返回的近似查询答案具有高概率

我们进一步表明,我们提出的算法的时间复杂度比现有的替代方案提高了

在大型真实数据集上的大量实验表明,我们提出的算法在大多数情况下比现有的解决方案提高了一个数量级,而不会牺牲查询精度

2 PRELIMINARIES

2.1 Problem Definition

设D是由N个记录和h个属性组成的数据集。LetA = α1, α2,···,αh是D中的属性集,D(α)是所有记录相对于属性α的属性值。给定一个属性α,支持度大小uα为D(α)中出现的不同属性值的个数。我们进一步假设D(α)中的属性值在[1,uα]1的范围内,可以通过简单的一对一匹配预处理很容易处理。将ni (α)定义为属性值i∈[1,uα]在D(α)中的出现次数,如果上下文清楚,则定义为ni。

定义1(经验熵)。给定输入数据集D,支持大小为uα的属性α∈A,定义属性α相对于数据集D的经验熵hd (α)为:


给定两个输入属性α1和α2,设ni,j为D中的记录数,使得该记录在属性α1上的值为i∈[1,uα1],在属性α2上的值为j∈[1,uα2]。定义α1和α2之间的经验关节熵为:

定义2(经验互信息)。给定输入数据集D和两个属性α1, α2,定义D上α1和α2之间的经验互信息ID (α1, α2)为:

定义3 (Top-k查询)。给定输入数据D和正整数k,对经验熵的top-k查询(resp。经验互信息)返回k个具有最高经验熵的属性(resp。经验互信息)分数。

定义4(过滤查询)。给定输入数据D和阈值η,基于经验熵(resp。经验互信息)返回其经验熵(resp。经验互信息)分数不小于η。

注意,经验互信息以两个属性作为输入。在实际应用中,例如[12,26,31],我们给定一个属性αt,需要从剩余的属性中进行选择。我们将属性αt表示为目标属性,将剩余属性的集合C表示为候选集合。

正如我们在第1节中提到的,为top-kor过滤查询返回确切的答案仍然需要大量的采样成本。同时,我们可以放宽top-k查询和过滤查询的条件,以降低采样成本。根据前人对近似top-k查询的研究[6,29,34,36,37],基于经验熵/互信息的近似top-k查询定义如下:

定义5(近似top-k查询)。假设输入数据ad,正整数k,误差参数0 < ε < 1,失效概率pf,设s(α)为属性α的确切分数,或者是经验熵,或者是互信息,而s(α)为s(α)的估计分数。设α * 1, α * 2,···,α * k是具有top-k评分的k属性,使s(α * 1)≥s(α * 2)···≥s(α * k)。近似的top-k查询返回k个属性α ’ 1, α ’ 2,···α ’ k,其前k个最高估计分数的顺序如下:


对于条件(i),要求返回的k个属性的估计分数足够准确。对于条件(ii),它要求返回的第i个属性的值接近第i个最大的值。结合条件(i)和(ii)可以保证返回的top-k近似答案接近于准确的top-k答案,并有理论保证。

对于过滤查询,它与重量级查询[8,9,35]有着相似的精神,两者都需要报告得分高于阈值的元素。根据近似重磅查询[8,9],近似过滤查询定义如下:

定义6(近似过滤查询)。假设输入数据D,阈值η,误差参数0 < ε < 1,失效概率pf,设s(α)为属性α的经验熵或互信息的确切分数。近似过滤查询返回一个集合X⊆a,这样:

以上定义允许用户通过误差参数ε来控制top-kand过滤查询答案的质量。当ε非常小时,返回的属性具有与真实top-k或过滤答案相似的高质量结果。正如我们将在我们的理论分析中看到的,当ε变得更小时,它会产生更高的采样成本。查询效率和结果准确性之间需要权衡。我们将在第6节中评估ε的影响。

的话。注意,在下面的章节中,我们将省略下标D,而简单地使用H (α)或I (α1, α2)来表示输入数据集Dif上的经验熵和经验互信息。此外,我们只要求算法返回一个概率为1−pf的近似查询答案

表1列出了本文中常用的符号。

2.2 Existing Solutions

一个简单的解决方案是一种精确的方法,它逐列扫描所有记录(假设数据以列样式存储)。有了确切的分数,就可以返回top-k或过滤查询答案。然而,当数据集变得庞大并且包含许多属性时,这种方法是昂贵的。这激发了[32]中最先进的基于采样的解决方案。

EntropyRank EntropyFilter。Wang et al.[32]提出的EntropyRank和EntropyFilter的主要思想是从输入数据集D中对记录的一个子集进行采样,然后推导出经验熵或互信息的估计。给定一个属性α,一个采样子集S⊆D,设S(α)是S中所有采样记录相对于属性α的属性值。属性α上S(α)相对于S的经验熵也可以这样定义。特别地,设M为采样子集S中的记录数。设mi (α),如果上下文清楚,则简称mi,为属性值i∈[1,uα]在S(α)中的出现次数。经验熵HS (α)定义为:


经验互信息IS (α1, α2)也可以类似地定义。HS (α) (resp。IS (α1, α2))不是HD (α)的无偏估计(resp。ID (α1, α2))与HD (α) (resp。ID (α1, α2))和HS (α)的期望(resp。IS (α1, α))在大小为m的子集S的随机选择上。正如在[32]中所证明的那样,这样的间隙可以由以下引理限定。

引理1。设S是从d中随机抽样的M大小的子集,设uα为属性α的支持度大小。以下是适用的:


因此,只要HS (α)和E[HS (α)]之间的间隙有界,就可以得到HD (α)的误差有界估计。注意,经典的浓度界限,如Chernoff界限[23]或McDiarmid不等式[22],不能用于界定HS (α)的估计与其期望之间的差距。为了解释,经验熵不能表示为样本的平均值,因此切尔诺夫界不能应用。此外,样本子集S是一个没有被D替换的样本,而McDiarmid不等式考虑的是一个分布中有替换的抽样。为了解决这个问题,Wang et al.[32]探索了不替换采样的浓度界限。特别地,大小为M的随机抽样子集S可视为对输入数据D进行随机洗牌后的前M条记录,设π (Z), (Z1, Z2,···,Zn)为随机洗牌后对输入数据D的排列向量,其中Zi∈[1,N]是洗牌数据中第i个元素的索引。函数f: π (Z)→R,如果f的值不随π (Z)的前M个元素或后N−M个元素的顺序改变而改变,则称为(M, N)-对称的π (Z)。

显然,D上的经验熵和经验互信息是(M, N)对称的。注意,给定一个大小为M的随机抽样子集S对应排列中的前M个元素,HS (α)和IS (α1, α2)也是(M, N)对称的。

给定一个(M, N)对称函数f,我们有f (Z)的浓度边界和它的期望E[f (Z)]。设Zi, j是z中仅交换Zi和Zj得到的扰动排列向量。El-Yaniv和Pechyony[11]提出了以下(重新表述的)浓度界。

6 EXPERIMENTS

7 RELATED WORK

熵是数据挖掘和信息论中的一个基本概念

大量的研究工作集中在开发估计信息熵的有效算法,如[17,18,25,30,38]

  • Paninski[25]发现熵估计量的偏差与某个多项式近似问题之间的联系。然后,他开发了一个在所有可能的潜在概率分布的最大误差上具有严格界限的估计器。这也限制了经验熵和信息熵之间的差异
  • Valiant等人[30]推导出,给定来自最多u个不同元素的任意分布的独立抽取的样本,熵可以通过ingo (u/log u)样本进行估计
  • Jiao等人。[17]和Wu等人。[38]设计了一种算法,利用基于M个样本的多项式逼近,估计熵的最小最大平方错误率为2/(M ln M)2 + ln2u /M
  • [ 18 ] 显示了使用 M ≫ u 个样本对 MLE 的 u2/M2 + ln2 u/M 最坏情况平方误差率的熵估计。
  • 还存在关于流式或分布式设置下的熵监测的研究,例如 [7, 15]。然而,这些研究工作都没有考虑经验熵或互信息下的 top-kor 过滤查询
  • 最近,Wang 等人。 [32] 采用无替换抽样技术来回答我们在第 2 节中讨论的 top-k 和过滤查询。但是,他们的解决方案仍然以返回准确答案为目标,并留有很大的改进空间。

此外,大量的工作集中在近似的 top-k 查询上,例如 [6, 29, 36]。盛等人

  • [29] 提出了一种 ε 近似算法,用于在隐藏的二分图上找到度数最大的 k 个顶点
  • 曹等人[6] 讨论了如何选择具有最大均值的 k 分布,以有效地容忍较小的相对误差
  • 王等人 [36] 考虑近似的 top-k 个性化 PageRank 查询
  • 还有一系列研究工作,例如 [8, 9],专注于与我们的过滤查询具有相似精神的重击查询。在重击查询中,我们得到一个长度为 N 的流,它要求频率大于 τ · N 的元素,其中 τ 是一个阈值。所有这些查询都可以看作是随机变量的总和或平均值,因此可以应用经典的浓度界限。然而,估计经验熵更具挑战性,这促使我们设计更高效和有效的近似 top-k 和过滤查询算法。

8 CONCLUSION

在本文中,我们提出了一个有效的框架 SWOPE 来处理关于经验熵和互信息的 top-k 和过滤查询

  • 理论分析表明,我们提出的解决方案比现有替代方案实现了改进的时间复杂度
  • 实验表明,在不牺牲查询准确性的情况下,我们的解决方案比替代方案快两个数量级

读后总结

2022/09/19 第一次阅读

只看了一头一尾,大概了解了文章的关注点、突破点

Note: 特征选择,利用经验熵/互信息得到top-k查询/过滤查询(针对数据量较大的情况,适当放宽),时间复杂度有了较大提升

结语

文章仅作为个人学习笔记记录,记录从0到1的一个过程

希望对您有一点点帮助,如有错误欢迎小伙伴指正

以上是关于每日一读SWOPE:Efficient Approximate Algorithms for Empirical Entropy and Mutual Information的主要内容,如果未能解决你的问题,请参考以下文章

每日一读 | The Steam Train

jdk源码每日一读 java.lang.Object

每日一读:《关于python2和python3中的range》

每日一读

原版英文绘本每日一读 | Marvin wanted more!

每日一读Kronecker Attention Networks