确定数据点的相似度的方法

文档序号:6639678阅读:750来源:国知局
确定数据点的相似度的方法
【专利摘要】本发明提供一种确定数据点的相似度的方法,包括:(a)将所有数据点进行线性投影;(b)基于线性投影后的数据点来构建包括预定数量的具有预定深度的树的随机森林,其中,按照测试函数将随机森林的每个分割结点中的数据点分割到左孩子结点或右孩子结点;(c)获取每个数据点在每颗树上的分割路径;(d)根据获取的分割路径来确定数据点的哈希码,并根据确定的哈希码来确定数据点的相似度。在根据本发明示例性实施例的确定数据点的相似度的方法中,生成的哈希码的长度突破了原始数据点的维度的限制,比现有的哈希编码方法更加灵活,可以更好地应用于各种数据的相似性的比较。
【专利说明】确定数据点的相似度的方法

【技术领域】
[0001] 本发明总体说来涉及近似查找技术,具体说来,涉及一种确定数据点的相似度的 方法。

【背景技术】
[0002] 随着网络上大量的图像和其它媒介数据的产生,近似最近邻搜索变得越来越重 要。它现在已成为机器学习中最重要的问题之一,已经被用于许多计算机视觉任务,比如图 像检索。在这个领域内,基于哈希的近似最近邻是一个普遍被使用的方法。这种方法把高 维的数据点编码成紧凑的二值码,这些二值码保留了高维数据点的相似性,而且可以让内 存容下更大的数据集,同时能够实现高效率的相似性搜索。
[0003] 大量的用于学习相似性保留的二值码方法已经被提出。在这些方法中,位置敏感 哈希(LSH)是最流行的哈希编码方法之一,它利用随机投影来产生二值码。但是为了达 到好的性能,它通常需要较长的二值码。文献"111(111(31:;^6 1^811;[1^0111]^11丨;1;'〇1(18"(卩· Shen,C.Shen,Q.Shi,A.van den Hengel,and Z. Tang. In CVPR 2013)的作者应用流形学 习紧凑的二值嵌入。谱哈希(SH)(文献"Spectral hashing"(Y. Weiss, A.Torralba, and R. Fergus. In Advances in Neural Information Processing Systems, 2008))基于一个可 分割的Laplacian特征函数学习出哈希函数。SH方法使用较小的二值码时,能够取得比较 好的性能,但是当码长增加时,它表现得不太理想。汉明距离通常被用来计算二值码之间的 距离。
[0004] 在传统的基于主分量分析(PCA)的哈希方法中,数据点被假设为零中心化的,哈 希函数定义为:
[0005] b (X) = sgn (W · X),
[0006] 这里,W e rxd是投影矩阵。这个函数把输入的d-维数据点X e Rd映射到二值 码b(x) e {〇, IK上。在PCA-哈希(PCAH)方法中,W的行对应于数据协方差矩阵的具有最 大特征值的c个特征向量。给定一个含有η个数据点的集合X = {xj, i = 1,. . .,n,一个 数据点Xie RdB成了数据矩阵X e Rdxn的第i列。矩阵X假定已被规范化零均值,也就 是哈希机制映射每一个数据点X1到一个C维的二值向量YiG {0,1}、一般来 说,我们需要学习 c个哈希函数去生成这个C-维的二值向量。在线性投影哈希方法里面, 在零均值假设下,第k个哈希函数定义为:
[0007] Iii(Xi) = Sgninjk -Xi),
[0008] 这里,Wk是投影向量,如果X多0,则sgn(x) = 1 ;否则的话sgn(x) = 0。y i的第 k 位等于 Iik(Xi)。记 W = [W1, · · ·,wj e Rdx% 那么 Yi= sgn(WT · Xi)。
[0009] 为了产生c位的二值码,PCAH用数据协方差矩阵特征值最大的c个特征向 量作为矩阵W的列。迭代量化(ITQ)哈希模型用一个正交的cXc的矩阵R旋转PCA投影 矩阵来学习哈希函数,以最小化把PCA投影后的数据映射到二值码过程中的量化损失。在 这种情形下,公式Yi= sgn(WT ^xi)可以重写为Yi= sgn((WR) T ^xi)。从这些模型里,可以 容易地发现二值码的长度不会超过原始的数据维度d。
[0010] 这样就导致当原始的数据点维度较低时,这些模型并不能达到满意的结果。另外, 在高维的情形下,有时直接通过阈值来二值化投影值不是一个好的选择,就像直接使用符 合函数。为了得到较长的二值码,投影矩阵W不得不足够地大。
[0011] 而对数据无关的哈希方法来说,它们的性能会随着码长的增加而逐渐提高。在位 置敏感哈希模型里,W是一个高斯随机矩阵。二值码通过投影原始的数据点到一些随机平 面上而得到。位移不变核哈希(SKLSH)是一个LSH的扩展版本,它使用随机余弦函数产生 二值码。这个方法可以保证理论上的收敛。然而,为了工作良好,矩阵W必须足够的大,这 就导致算法需要更多的时间去做投影运算。
[0012] 已有的基于汉明的方法产生的二值码通常由哈希函数的符号决定。虽然大多数情 况下,它都能达到好的性能,在某些情形下,尤其是处理高维数据时,由符号决定不是一个 好的选择。文献"Random forest based feature induction"(C. Vens and F. Costa. In IEEE Ilth International Conference on Data Mining,2011)使用森林中所有的结点编 码原始数据。如果一个结点出现在数据点从根结点落到叶子结点的路径上,对应的比特位 被标记为1,不在路径上的则为0。使用汉明函数计算这些二值码间的距离。这样的做法会 产生非常高维的二值码(维数等于森林中结点的个数)。
[0013] 由此可见,在现有技术中,哈希编码长度通常由原始数据点的维度决定,针对不同 维度的数据,难以通过改变哈希编码的长度来提升性能。二值码通常通过符号函数来实现, 而在很多时候,特别是处理高维度数据时,符号函数不是一个很好的选择。现有基于随机森 林的方法会产生过高维度的二值编码。相应地,在确定数据点的相似度方面,会付出较大的 运算代价,对硬件系统的要求过高,也不利于快速有效的进行检索。


【发明内容】

[0014] 本发明的示例性实施例在于提供一种确定数据点的相似度的方法,以解决至少一 个上述的问题。
[0015] 根据本发明示例性实施例的一方面,提供一种确定数据点的相似度的方法,包括: (a)将所有数据点进行线性投影;(b)基于线性投影后的数据点来构建包括预定数量的具 有预定深度的树的随机森林,其中,按照测试函数将随机森林的每个分割结点中的数据点 分割到左孩子结点或右孩子结点;(c)获取每个数据点在每颗树上的分割路径;(d)根据获 取的分割路径来确定数据点的哈希码,并根据确定的哈希码来确定数据点的相似度。
[0016] 在上述方法中,针对随机森林的第s个分割结点中的第i个数据点,测试函数可表 示为如下定义的φ〇;/?ιΛ):
[0017]

【权利要求】
1. 一种确定数据点的相似度的方法,其特征在于,包括: (a) 将所有数据点进行线性投影; (b) 基于线性投影后的数据点来构建包括预定数量的具有预定深度的树的随机森林, 其中,按照测试函数将随机森林的每个分割结点中的数据点分割到左孩子结点或右孩子结 占. (c) 获取每个数据点在每颗树上的分割路径; (d) 根据获取的分割路径来确定数据点的哈希码,并根据确定的哈希码来确定数据点 的相似度。
2. 根据权利要求1所述的方法,其特征在于,针对随机森林的第s个分割结点中的第i 个数据点,测试函数表示为如下定义的办,·;/?,A2):
其中,I,表示随机森林的第s个分割结点中的第i个数据点的向量,和分 别表不γ(.的第Ii1个分量和第112个分量,--) =Xi(Zil)-Xi(A2),SjPs1?分别表不第s个分 割结点的左孩子结点和右孩子结点,表不第s个分割结点中的所有数据点的(IiQi1,h2) 的均值。
3. 根据权利要求2所述的方法,其特征在于,h廊h2指示数据点的向量的分量标号中 使得第s个分割结点中的所有数据点对应的CliQll,h2)的方差最大的分量标号。
4. 根据权利要求1所述的方法,其特征在于,在步骤(d)中,根据以下算式来确定第i 个数据点的哈希码: 其中,T表示所述预定数量,Yi表示第i个数据点的哈希码,=WhMm…Mfa,Ukj表示 第i个数据点在第k颗树的分割路径中的第j个结点的标签,m表示所述预定深度,其中, 左孩子结点的标签为"〇 ",右孩子结点的标签为" 1"。
5. 根据权利要求1所述的方法,其特征在于,在步骤(d)中,根据以下算式来确定第i 个数据点的哈希码: 乃=[.?"··,.ν;?, 其中,Yi表示第i个数据点的哈希码,兄1 ukl表示第i个数据点在第k颗树 的分割路径中的第1个结点的标签,m表示所述预定深度,其中,左孩子结点的标签为"0", 右孩子结点的标签为"1"。
6. 根据权利要求5所述的方法,其特征在于,在步骤(d)中,根据以下算式来确定第i 个数据点与第j个数据点的相似度: p(xi,xj) -T-cnt((vjΦy'j)v(y;2Θ)v· · ·v(yl"Θy'°)), 其中,M.V,.,..V,;)表示第i个数据点与第j个数据点的相似度,T表示所述预定数量,cnt 表示计算向量中1的数量的计数函数,符号"? "表示位间异或运算,"V"表示位间或运 算。
【文档编号】G06F17/30GK104462503SQ201410805905
【公开日】2015年3月25日 申请日期:2014年12月19日 优先权日:2014年12月19日
【发明者】陈世峰, 杜书泽 申请人:中国科学院深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1