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

文档序号:9564610阅读:来源:国知局
投影方向对应的预定数量的聚类中心,根据熵最大 化原则确定对应每一个投影方向的多个阈值,包括:对于每一个投影方向,根据所述投影方 向对应的聚类中心的个数确定所述阈值的个数,其中,所述阈值的个数为所述聚类中心的 个数减1 ;对每个阈值赋予候选值;迭代所有阈值的所有候选值,分别计算出相应的熵值; 将熵值最大所对应的一组阈值的候选值作为所述多个阈值。
[0088] 编码单元804利用对应每一个投影方向的多个阈值,对输入数据在所述每一个投 影方向的投影值进行编码,得到所述输入数据的编码。
[0089] 在本实施例的一个实施方式中,阈值确定单元803可以根据候选值的计算公式 Thri = Cfb=Kcw-CiVB, b = 2,…,B-I对每个阈值赋予候选值,其中,Ci为第i个聚类中 心的值,c1+1为第i+Ι个聚类中心的值,B为预先指定的块数。
[0090] 在本实施例的一个实施方式中,阈值确定单元803可以根据熵的计算公式 Entropy =Σ I = I^k-ProbiIogprobi计算每个阈值的候选值的熵,其中,k为所述聚类中心 的个数,k-Ι为所述阈值的个数,Prob 1为利用所述k-Ι个阈值将所述投影方向对应的投影 值划分为k个区域后,第i个区域的概率,并且,
Ii1为第i个区域所包含 的数据的个数。
[0091] 在本实施例的一个实施方式中,如图8所示,编码单元804可以包括:投影模块 8041、编码模块8042以及连接模块8043,其中,
[0092] 投影模块8041将所述输入数据在每一个所述投影方向进行投影,得到所述输入 数据在每一个所述投影方向的投影值。
[0093] 编码模块8042利用对应每一个投影方向的多个阈值和预先设定的编码策略,将 所述输入数据在每一个所述投影方向上的投影值转换为相应的编码。
[0094] 连接模块8043连接所述输入数据在所有投影方向上的投影值的编码,得到所述 输入数据的编码。
[0095] 其中,该编码模块8042所采用的预先设定的编码策略为:每一个投影方向所对应 的投影值下k-1个阈值划分出的k个区域按照如下方式编码:从k-Ι位全0码串依次每位 递增变为1,分别赋值给这k个区域。
[0096] 其中,对于第i个区域Ri,i = 1,…,k,Ri的码串是由k_i个0和i-Ι个1组成, 也即Ri = 0…01…1。
[0097] 在本实施例的一个实施方式中,如图8所示,该编码模块8042可以包括:比较子模 块80421和编码子模块80422,其中,
[0098] 比较子模块80421将所述输入数据在每一个所述投影方向上的投影值与对应所 述投影方向的多个阈值进行比较,确定所述输入数据在所述投影方向上的投影值所属的数 据区域。
[0099] 编码子模块80422将所述输入数据在所述投影方向上的投影值所属的数据区域 的编码作为所述输入数据在所述投影方向上的投影值的编码。
[0100] 本实施例提供的哈希编码装置,通过在每个投影方向下使用多个阈值,克服了单 阈值量化中无法有效对数据划分问题且可以选择使用任意多个阈值;通过使用多个自适应 学习的阈值来对每维数据进行量化,有效地保持了近邻结构,从而为大规模数据索引及近 邻查询提供良好基础。
[0101] 实施例3
[0102] 本发明实施例还提供了一种哈希编码装置,如实施例2的哈希编码装置不同的 是,在本实施例中,阈值确定单元是通过线性加权的方式确定对应每一个投影方向的多个 阈值。其中,与实施例2相同的内容将不再重复说明。
[0103] 图9是本实施例的哈希编码装置的组成示意图,如图9所示,该哈希编码装置包 括:投影单元901、聚类单元902、阈值确定单元903以及编码单元904,其中:
[0104] 投影单元901基于给定的训练数据集生成多个投影方向。
[0105] 聚类单元902将所述训练数据集中的所有训练数据在每一个所述投影方向上进 行投影,得到对应每一个投影方向的一组投影值,利用预先设定的聚类算法对每一个投影 方向对应的投影值进行聚类,得到对应每一个投影方向的预定数量的聚类中心。
[0106] 阈值确定单元903根据每一个投影方向对应的预定数量的聚类中心,确定对应每 一个投影方向的多个阈值,包括:将每一个投影方向的每两个相邻的聚类中心的线性加权 组合值作为该投影方向的一个阈值,得到对应该投影方向的多个阈值。
[0107] 编码单元904利用对应每一个投影方向的多个阈值,对输入数据在所述每一个投 影方向的投影值进行编码,得到所述输入数据的编码。
[0108] 其中,投影单元901、聚类单元902以及编码单元904的【具体实施方式】与实施例2 的投影单元801、聚类单元802以及编码单元804的实施方式相同,其内容被合并于此,在此 不再赘述。
[0109] 其中,阈值确定单元903可以根据下式确定每一个投影方向的每一个阈值:
为第i个聚类所包含的数据个数; m1+1为第i+Ι个聚类所包含的数据个数。
[0112] 本实施例提供的哈希编码装置,通过在每个投影方向下使用多个阈值,克服了单 阈值量化中无法有效对数据划分问题且可以选择使用任意多个阈值;通过使用多个自适应 学习的阈值来对每维数据进行量化,有效地保持了近邻结构,从而为大规模数据索引及近 邻查询提供良好基础。
[0113] 实施例4
[0114] 本发明实施例还提供了一种编码器,该编码器包括如实施例2或实施例3所述的 哈希编码装置。
[0115] 图10是本发明实施例的编码器的一构成示意图。如图10所示,编码器1000可以 包括:中央处理器(CPU) 1001和存储器1002 ;存储器1002耦合到中央处理器1001。其中该 存储器1002可存储各种数据;此外还存储信息处理的程序,并且在中央处理器1001的控制 下执行该程序,以实现哈希编码装置的功能。
[0116] 在一个实施方式中,哈希编码装置的功能可以被集成到中央处理器1001中。其 中,中央处理器1001可以被配置为:基于给定的训练数据集生成多个投影方向,将所述训 练数据集中的所有训练数据在每一个所述投影方向上进行投影,得到对应每一个投影方向 的一组投影值;利用预先设定的聚类算法对每一个投影方向对应的投影值进行聚类,得到 对应每一个投影方向的预定数量的聚类中心;根据每一个投影方向对应的预定数量的聚类 中心,确定对应每一个投影方向的多个阈值。利用对应每一个投影方向的多个阈值,对输入 数据在所述每一个投影方向的投影值进行编码,得到所述输入数据的编码。
[0117] 可选的,该中央处理器1001还可以被配置为:根据熵最大化原则确定对应每一个 投影方向的多个阈值,包括:对于每一个投影方向,根据所述投影方向对应的聚类中心的个 数确定所述阈值的个数,其中,所述阈值的个数为所述聚类中心的个数减1 ;对每个阈值赋 予候选值;迭代所有阈值的所有候选值,分别计算出相应的熵值;将熵值最大所对应的一 组阈值的候选值作为所述多个阈值。
[0118] 其中,可选的,该中央处理器1001还可以被配置为:根据候选值的计算公式Thr1 =Cl+b*(c1+1-Cl)/B,b = 2,…,B-I对每个阈值赋予候选值,其中,C1为第i个聚类中心的 值,c1+1为第i+Ι个聚类中心的值,B为预先指定的块数。
[0119] 其中,可选的,该中央处理器1001还可以被配置为:根据熵的计算公式Entropy =
计算每个阈值的候选值的熵,其中,k为所述聚类中心的个数,k-1 为所述阈值的个数,Prob1为利用所述k-1个阈值将所述投影方向对应的投影值划分为k个 区域后,第i个区域的概率,并且,
Ii1为第i个区域所包含的数据的个数。
[0120] 可选的,该中央处理器1001还可以被配置为:将每一个投影方向的每两个相邻 的聚类中心的线性加权组合值作为该投影方向的一个阈值,得到对应该投影方向的多个阈 值。其中,可选的,该中央处理器1001还可以被配置为:根据下式确定每一个投影方向的每 一个阈值:
为第i个聚 类所包含的数据个数;m1+1为第i+Ι个聚类所包含的数据个数。
[0121] 可选的,该中央处理器1001还可以被配置为:将所述输入数据在每一个所述投影 方向进行投影,得到所述输入数据在每一个所述投影方向的投影值;利用对应每一个投影 方向的多个阈值和预先设定的编码策略,将所述输入数据在每一个所述投影方向上的投影 值转换为相应的编码;连接所述输入数据在所有投影方向上的投影值的编码,得到所述输 入数据的编码。
[0122] 其中,预先设定的编码策略为:每一个投影方向所对应的投影值下k_l个阈值划 分出的k个区域按照如下方式编码:从k-Ι位全0码串依次每位递增变为1,分别赋值给这 k个区域。
[0123] 其中,对于第i个区域Ri,i = 1,的码串是由(k-i)个0和(i-Ι)个1组
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1