An Efficient Framework for Exact Set Similarity Search using Tree Structure Indexes

本文提出一种基于树的索引结构,用于精确的集合相似度搜索。通过定义bucket-based排序和设计动态算法,该方法能有效减少filtercost,提高filterpower,实验证明其在真实数据集上的性能优于现有技术。

相似性搜索在很多方面有应用。给定许多集合的记录和一个查询,精确的集合相似性搜索的含义是从这些集合中找到一个集合和所要查询的最为相似。现存方法:filter-and-verify的框架,这种框架充分利用了invetted indexse。但是它有缺点:由于基于集合的相似性度量方法的验证复杂度较低,它们往往不能很好地权衡filter power和过滤filter cost.。
因此本文提出了了一种基于树的索引结构的相似度搜索算法。
具体细节如下:
filter cost:定义了基于哈希的排序( a hash-based ordering),将数据导入到索引结构,然后做好优化去减少filter cost。
filter power:,作者提出了一种动态算法去把数据集分成几个部分并且提出了一种多索引的框架。
实验:本文的实验在真实数据集上面的结果所表现的性能要比最新的方法好

  • 介绍
    给出了集合相似度查找的定义(给定集合中找到和所给的查询相似的集合),查询分为俩类:一种是范围一种是取前k个。所用的方法目前为止有OVERLAP、JACCARD、COSINE、DICE.文章主要是更具JACCARD这种方法展开讨论的。至于其他的基于集合的相似度搜索的方法在第8部分 讨论 中提到。
    研究了很久的集合相似度查询,有比如filter and verify 的这种框架。框架实现的具体细节是这样的:在filter阶段,给每一个集合产生signatures,将signature组织到翻转的索引中。在verify阶段,verify候选集得到最终的结果。这种也方法应用在了具有编辑距离限制的字符串的相似度查询领域,但是也有缺点。比如计算俩个字符之间的编辑距离的复杂度是大O方。所以需要设计出复合型的filter去提高filter power。但是基于集合相似性的方法的复杂度是大O。所以所要在filter power和filter cost之间balance。同时filter and verfiy会导致内存过大。前人的Bed-tree [24] and PBI [11]是俩种B+树的方法去支持字符串相似度查询。但是这俩个方法仅仅支持编辑距离,不可以应用在集合相似度的查询问题。(真的吗?)
    作者提出了了一种基于树的框架去解决精确的集合相似度搜索。提出这种框架的目的是为了减少开销过大的filter cost并且保持filter power。作者使用B+树状结构作为索引结构。作者为集合记录定义一个全局顺序,以便有效地将集合导入索引中。对于数据集中的每一个集合记录x,把x当做一种向量,并且把它映射到一个整数以此来表示在全局顺序中的相对位置。在索引上执行相似性搜索时,我们只需要根据给定的查询在全局顺序中定位下界和上界,并对树索引执行范围查询。那么只有树的高度会影响filter cost,同时filter cost是独立于数据集中的平均记录的长度的。由于具有代表性的向量有很高的维度,所以查询操作开销很大。因此作者设计出了一种bucket-based的方法去减少向量维度来改善查询的性能。由于记录通常不是均匀分布在空间中,我们还设计了一种动态算法,根据共享令牌(shared takens)的数量将数据收集划分为几个集群.这样就可以将“相似”记录分组在一起,提高剪枝能力.
    文章贡献:
  • 设计了树结构应用于精准的集合相似度搜索
  • 定义了bucket-based 顺序将集合记录放入到索引结构中。我们还设计了这种有效的表示,以提高整体性能
  • 提出了动态算法去吧数据拆分成几个聚类,设计了多索引结构进一步提高了修剪的能力
  • 对于真实数据集进行了宽泛的实验。实验结果表明作者所提出的方法比最新的top-k和range方法要好。

文章组织结构:
Section 2中给出了标准的文章定义,讨论了相关工作;
Section 3介绍了索引结构和构建索引的分批处理的算法;
Section 4提出了一种集合记录和降维技术的全局顺序,以降低filter cost。
Section 5设计了中将数据集合拆分的动态算法,并且在这些数据集合上面建立了多索引。
Section 6讨论了所做的工作
Section 7展现了实验的结果
Sectiion 8 总结

  1. 前言
    A.

  2. 基于树的索引结构

  3. 优化相对排序

  4. 多索引结构

  5. 讨论

  6. 评估

  7. 总结

### 对比能量预测在离线强化学习中的应用 对比能量预测(Contrastive Energy Prediction, CEP)是一种用于改进离线强化学习中策略优化的技术。它通过引入一种新的能量函数来指导扩散采样过程,从而提高样本效率和策略性能[^1]。 #### 能量引导扩散采样的核心概念 在离线强化学习中,数据集通常是固定的,无法通过与环境交互获取新数据。因此,如何高效利用已有数据成为关键挑战之一。CEP 方法的核心在于设计了一种基于对比学习的能量模型,该模型能够评估状态-动作对的质量并生成高质量的动作分布。 具体而言,精确能量引导扩散采样(Exact Energy-Guided Diffusion Sampling)旨在通过对动作空间进行连续调整,使得最终采样到的动作更接近最优解。这一过程依赖于一个精心设计的能量函数,其作用类似于传统强化学习中的奖励信号,但更加灵活且适用于静态数据集场景。 以下是实现此方法的一个简化伪代码示例: ```python def contrastive_energy_prediction(state, action_candidates): # 计算每个候选动作的能量值 energies = compute_energies(state, action_candidates) # 使用对比损失训练能量模型 loss = contrastive_loss(energies, positive_action_index) optimize(loss) return energies def exact_energy_guided_diffusion_sampling(state, initial_distribution): current_sample = initial_distribution for t in range(diffusion_steps): noise_level = schedule_noise(t) # 更新当前样本以降低能量 gradient = estimate_gradient(current_sample, state, noise_level) current_sample -= step_size * gradient return current_sample ``` 上述代码展示了两个主要部分:一是 `contrastive_energy_prediction` 函数负责计算给定状态下不同动作的能量;二是 `exact_energy_guided_diffusion_sampling` 实现了一个逐步减少噪声的过程,在每一步都尝试使样本向低能量区域移动。 #### 技术优势 相比传统的离线强化学习算法,CEP 和精确能量引导扩散采样具有以下几个显著优点: - **更高的样本利用率**:由于采用了精细调优的扩散机制,即使面对有限的数据也能有效提取有用信息。 - **更强泛化能力**:通过构建通用型能量函数而非特定参数化的策略网络,可以更好地适应未见过的状态输入。 - **易于扩展至复杂环境**:这种方法天然支持高维连续控制任务,并且理论上可推广到多种不同的领域问题上。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值