哈希学习算法之一:ANN背景介绍

一、由ANN进入Hash

NN,即最近邻(nearest neighbor),定义在一个数据集X中,查询点q的最近邻是NN(q)=argmin dist(q,x) 其中x∈X。直接的表示,即为KNN查询,也就是需要找到K个最近邻。一个点x和查询点q的距离取决于具体的查询问题。例如:d维空间的数据集,和欧式距离的场景。
在低维空间时,这些情况都可以得到有效解决(比如k-d tree算法)。然而,在大规模高维数据时,有些算法的计算消耗甚至比线性消耗还要大。所以,ANN(Approximate nearest neighbors)近似最近邻查询被提出,主要是从两个方面实现近邻查询。

  1. error-constrained nn
    误差约束最近邻查询,包括(1+ε)-approximate 最近邻查询、R-near neighbor近邻查询
  2. time-constrained nn
    时间约束最近邻查询,是限制查询时间。它的目标是实现返回的k个最近邻点尽可能的与实际近邻点相似,同时查询代价尽可能小。

那这和我们研究的哈希算法有什么关系呢?哈希是在ANN中广泛应用的一种解决方案。哈希方法是将参考点和查询点映射到目标对象,ANN从而转换为对目标对象或者一部分原始参考点的处理。

二、Hash执行ANN查询

第一部分中最后提到经哈希函数转换后,得到的目标对象,即为Hash码。

2.1 hash函数

哈希函数定义为y=h(x)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值