Learning to Hash综述阅读笔记

为了确定研究的内容,便读了综述《A Survey on Learning to Hash》,现将读后笔记整理如下:

1、Introduction

哈希算法主要分为两大类:LSH(不依赖数据的)和Learning to hash(依赖数据的)

关于LSH综述:Hashing for similarity search: A survey.CoRR 2014.

LSH:data-independent,使用随机哈希函数

Learning to hash:data-dependent,从一个特定的数据集学习哈希函数(起源:semantic hashing,spectral hashing)

应用领域:大规模对象检索,图像分类,对象检测等


本篇综述根据“保持相似度的方式”将算法进行分类:

(1)成对相似性保留

(2)多重相似性保留

(3)隐含相似性保留

(4)量化(也是一种成对相似性保留,end-to-end哈希学习策略,直接从对象学习哈希编码,例如图片,在深度学习框架之下)

根据经验观察,量化算法要比其它方法表现更好,和另一篇综述相比(Learning to Hash for indexing big data),本篇综述更加侧重于基于量化的哈希方法。


2、Background

2.1最近邻搜索

近似最近邻搜索:error-constrained近似最近邻搜索  time-constrained近似最近邻搜索

2.2哈希查找

主要思想:将数据库的项和查询点映射到目标项,即哈希码。

哈希函数: 通常,几个哈希函数一起用于计算复合哈希码


两种基本的哈希查找策略:哈希表查找(hash table lookup),哈希码排列(hash code ranking)

 hash table lookup:减少距离计算的次数,分为多表查找和单表查找

数据结构是哈希表,由哈希桶组成,每个哈希桶都有一个哈希码作为索引

目标:最大化相邻数据的碰撞概率,同时最小化距离远的数据的碰撞概率

hash code ranking:穷尽搜索,得到所有数据库成员以及查询点的哈希码,然后进行比较

总结:哈希表查找主要适用于LSH,实际上并不常用,实际上用的方法是非穷尽搜索


3、Learning to Hash

3.1哈希函数

线性哈希函数:


核函数:


非参数函数:


3.2相似度

输入空间的相似性度量:欧氏距离,高斯函数,余弦相似度,语义相似度等

哈希编码空间的相似性度量:哈明相似度

在量化方法中,欧氏距离总是会被用到

3.3损失函数

设计损失函数的基本准则是:保持相似性的顺序

3.4优化

优化哈希函数的参数有两个挑战:第一个是包含sgn函数,导致了一个混合的二进制到整数的优化问题

    第二个是时间复杂度很高,当处理规模很大的数据时

3.5分类

根据形成目标函数时所采用的保持相似度的方式来分类


4.Pairwise Similarity Preserving

分类:

Similarity-distance product minimization (SDPM) 

Similarity-similarity product maximization (SSPM)

Distance-distance product maximization (DDPM)

Distance-similarity product minimization (DSPM) 

Similarity-similarity difference minimization (SSDM) 

Distance-distance difference minimization (DDDM) 

Normalized similarity-similarity divergence minimization (NSSDM) 

4.1 Similarity-Distance Product Minimization 

约束条件介绍:

code balance condition:映射到每个哈希码的数据的数量是相同的。

bit balance and bit uncorrelation:用于近似code balance condition

bit balance:每一位有50%的机会为1或者-1

bit uncorrelation:不同位之间是不相关的

bit balance另一种处理方法:

光谱哈希
Learning to Hash综述阅读笔记_第1张图片


Linear discriminant analysis(LDA) hashing

目标函数:

minimal loss hashing


目标函数:


三种代表算法的区别:

1、输入空间的相似度定义方式(光谱哈希是利用欧氏距离计算的连续的正值,而LDA哈希和minimal loss哈希是利用1和-1分别来表示相似的点对和不相似的点对。)

2、哈希空间的距离(minimal loss哈希和其它两种算法不太一样)

4.2 Similarity-Similarity Product Maximization 

代表算法:半监督哈希

目标函数(最大化):

4.3 Distance-Distance Product Maximization 

代表算法:Topology preserving hashing(SDPM+DDPM)

目标函数:

4.4 Distance-Distance Difference Minimization 

代表算法:Binary reconstructive embedding

目标函数:

核哈希函数:

4.5 Similarity-Similarity Difference Minimization 

代表算法:Supervised hashing with kernels

目标函数:

哈希函数:核哈希函数

4.6 Normalized Similarity-Similarity Divergence Minimization

代表算法:Spec hashing

目标函数:

你可能感兴趣的:(哈希)