哈希编码方法和装置的制造方法

文档序号:9564610阅读:266来源:国知局
哈希编码方法和装置的制造方法
【技术领域】
[0001] 本发明涉及数据检索领域,尤其涉及一种哈希编码方法和装置。
【背景技术】
[0002] 随着互联网上的数据如文本、图像及视频等呈爆炸式增长,对大规模数据的索引 和近邻查询已经越来越引起人们的关注。
[0003] 哈希编码是一种常用的将任意实值多维数据转换成0-1二值串的技术。它具有低 存储及高速查询的优点,因此非常适于大规模数据索引及查找。
[0004] 传统的哈希编码技术首先生成若干投影,然后对每个投影方向下的投影数据进行 单阈值量化,从而得到0-1二值编码串。单阈值量化方法往往无法很好地分辨数据,这使 得相邻的数据可能具有不同编码,进而影响基于哈希编码的大规模数据索引和近邻查询效 果。双阈值哈希方法是最近提出的一种多阈值哈希编码方法,它先利用多个投影对数据投 影得到多维数据投影值,然后在每维数据中使用自适应学习的双阈值对数据进行量化和编 码,最后拼合所有投影下的编码生成最终的二值编码。
[0005] 应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、 完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的
【背景技术】部分进行了阐述而认为上述技术方案为本领域技术人员所公知。

【发明内容】

[0006] 上述方法在每个投影下只使用两个阈值量化且其中的阈值学习算法只针对两个 阈值,因此无法扩展到多个阈值量化。
[0007] 本发明实施例提供一种哈希编码方法和装置,以解决【背景技术】指出的问题。
[0008] 根据本发明实施例的一个方面,提供一种哈希编码装置,其中,所述装置包括:
[0009] 投影单元,其基于给定的训练数据集生成多个投影方向;
[0010] 聚类单元,其将所述训练数据集中的所有训练数据在每一个所述投影方向上进行 投影,得到对应每一个投影方向的一组投影值,利用预先设定的聚类算法对每一个投影方 向对应的投影值进行聚类,得到对应每一个投影方向的预定数量的聚类中心;
[0011] 阈值确定单元,其根据每一个投影方向对应的预定数量的聚类中心,根据熵最大 化原则确定对应每一个投影方向的多个阈值,包括:对于每一个投影方向,根据所述投影方 向对应的聚类中心的个数确定所述阈值的个数,其中,所述阈值的个数为所述聚类中心的 个数减1 ;对每个阈值赋予候选值;迭代所有阈值的所有候选值,分别计算出相应的熵值; 将熵值最大所对应的一组阈值的候选值作为所述多个阈值;
[0012] 编码单元,其利用对应每一个投影方向的多个阈值,对输入数据在所述每一个投 影方向的投影值进行编码,得到所述输入数据的编码。
[0013] 根据本发明实施例的第二方面,提供一种哈希编码装置,其中,所述装置包括:
[0014] 投影单元,其基于给定的训练数据集生成多个投影方向;
[0015] 聚类单元,其将所述训练数据集中的所有训练数据在每一个所述投影方向上进行 投影,得到对应每一个投影方向的一组投影值,利用预先设定的聚类算法对每一个投影方 向对应的投影值进行聚类,得到对应每一个投影方向的预定数量的聚类中心;
[0016] 阈值确定单元,其根据每一个投影方向对应的预定数量的聚类中心,确定对应每 一个投影方向的多个阈值,包括:将每一个投影方向的每两个相邻的聚类中心的线性加权 组合值作为该投影方向的一个阈值,得到对应该投影方向的多个阈值;
[0017] 编码单元,其利用对应每一个投影方向的多个阈值,对输入数据在所述每一个投 影方向的投影值进行编码,得到所述输入数据的编码。
[0018] 根据本发明实施例的第三方面,提供一种哈希编码方法,其中,所述方法包括:
[0019] 基于给定的训练数据集生成多个投影方向;
[0020] 将所述训练数据集中的所有训练数据在每一个所述投影方向上进行投影,得到对 应每一个投影方向的一组投影值,利用预先设定的聚类算法对每一个投影方向对应的投影 值进行聚类,得到对应每一个投影方向的预定数量的聚类中心;
[0021] 根据每一个投影方向对应的预定数量的聚类中心,根据熵最大化原则确定对应每 一个投影方向的多个阈值,包括:对于每一个投影方向,根据所述投影方向对应的聚类中心 的个数确定所述阈值的个数,其中,所述阈值的个数为所述聚类中心的个数减1 ;对每个阈 值赋予候选值;迭代所有阈值的所有候选值,分别计算出相应的熵值;将熵值最大所对应 的一组阈值的候选值作为所述多个阈值;
[0022] 利用对应每一个投影方向的多个阈值,对输入数据在所述每一个投影方向的投影 值进行编码,得到所述输入数据的编码。
[0023] 本发明的有益效果在于:通过在每个投影方向下使用多个阈值,克服了单阈值量 化中无法有效对数据划分问题且可以选择使用任意多个阈值;通过使用多个自适应学习的 阈值来对每维数据进行量化,有效地保持了近邻结构,从而为大规模数据索引及近邻查询 提供良好基础。
[0024] 参照后文的说明和附图,详细公开了本发明的特定实施方式,指明了本发明的原 理可以被采用的方式。应该理解,本发明的实施方式在范围上并不因而受到限制。在所附 权利要求的精神和条款的范围内,本发明的实施方式包括许多改变、修改和等同。
[0025] 针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更 多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特 征。
[0026] 应该强调,术语"包括/包含"在本文使用时指特征、整件、步骤或组件的存在,但 并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。
【附图说明】
[0027] 所包括的附图用来提供对本发明实施例的进一步的理解,其构成了说明书的一部 分,用于例示本发明的实施方式,并与文字描述一起来阐释本发明的原理。显而易见地,下 面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创 造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0028] 图1是本发明实施例的哈希编码方法的流程图;
[0029] 图2是本发明实施例的哈希编码方法中映射学习部分的流程图;
[0030] 图3是本发明实施例的哈希编码方法中数据编码部分的流程图;
[0031] 图4是本发明实施例的哈希编码方法中阈值示意图;
[0032] 图5是本发明实施例的哈希编码方法中确定多个阈值的一个实施方式的流程图;
[0033] 图6是对输入数据在每一个投影方向的投影值进行编码的一个实施方式的流程 图;
[0034] 图7是区域编码不意图;
[0035] 图8是哈希编码装置的一个实施方式的组成示意图;
[0036] 图9是哈希编码装置的另一个实施方式的组成示意图;
[0037] 图10是本发明实施例的编码器的组成示意图。
【具体实施方式】
[0038] 参照附图,通过下面的说明书,本发明的前述以及其它特征将变得明显。在说明书 和附图中,具体公开了本发明的特定实施方式,其表明了其中可以采用本发明的原则的部 分实施方式,应了解的是,本发明不限于所描述的实施方式,相反,本发明包括落入所附权 利要求的范围内的全部修改、变型以及等同物。
[0039] 本发明实施例提出了一种哈希编码方法和装置,在一个实施方式中,首先利用多 个投影对数据投影得到多维数据投影值,然后在每维数据下通过k-means聚类得到k个聚 类中心,假定两两相邻聚类中心存在一个阈值,根据熵最大化原则求得(k-Ι)个阈值并利 用这些阈值及预设的编码方案对每维数据进行编码,最后拼合所有投影下的编码得到最终 的二值编码。
[0040] 下面结合附图和【具体实施方式】对本实施例的方法和装置进行说明。
[0041] 实施例1
[0042] 本发明实施例提供了一种哈希编码方法。图1是该方法的处理流程图,请参照图 1,该方法包括:
[0043] 步骤101 :生成投影,也即,基于给定的训练数据集生成多个投影方向;
[0044] 步骤102 :生成聚类中心,也即,将所述训练数据集中的所有训练数据在每一个所 述投影方向上进行投影,得到对应每一个投影方向的一组投影值,利用预先设定的聚类算 法对每一个投影方向对应的投影值进行聚类,得到对应每一个投影方向的预定数量的聚类 中心;
[0045] 步骤103 :确定阈值,也即,根据每一个投影方向对应的预定数量的聚类中心,根 据熵最大化原则确定对应每一个投影方向的多个阈值;
[0046] 步骤104 :多阈值量化编码,也即,利用对应每一个投影方向的多个阈值,对输入 数据在所述每一个投影方向的投影值进行编码,得到所述输入数据的编码。
[0047] 在本实施例中,该方法主要包括映射学习部分和数据编码
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1