System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据库领域,具体而言,涉及一种高维数据的查找方法及装置、存储介质、电子设备。
技术介绍
1、相关技术中,高维数据top-k元素查找任务是指寻找具有某种低秩表示形式的高维数据对应张量的前k个最大元素及其对应的位置,其是很多应用领域如推荐系统、网络通信、量子计算等的最基本的任务之一。一种直接的方法是通过高维数据对应张量的低秩表示形式显式恢复该数据,再从中寻找前k个最大元素及其对应的位置,但该方法的计算和内存成本极高,在实际应用中基本不可行。降低成本的有效方法是通过高维数据对应张量的低秩表示形式来寻找top-k元素。
2、相关技术中,查找方法主要可分为两大类:1)采样型方法;2)特征值方法。采样型方法属于一种随机算法,其是通过分解因子信息得到样本,而分解因子与高维数据中元素大小之间的关联度受很多因素影响,如分解格式,秩的大小,以及数据集等,很难只从分解因子信息中得到好的样本,因此采样型方法在实际应用中准确率一般较低,并且不稳定。而特征值方法是基于top-k元素查找任务对应的等价模型提出的,其不存在模型误差,因此相比于采样型方法能取得更高的准确率。然而,现有的特征值方法还存在一些问题,例如幂迭代方法则只可用于查找最大元素,且其对应的位置需要做进一步处理得到,并且由于其迭代过程中需要引入重压缩操作来控制特征向量的秩过度增长,这使得幂迭代方法计算成本很高;而现有的优化方法则对步长、平移参数等超参数过于敏感,针对不同数据集都需要精心挑选合适的超参数,所以在实际应用中收敛性和准确率往往得不到保证。
3、针对
技术实现思路
1、本专利技术实施例提供了一种高维数据的查找方法及装置、存储介质、电子设备。
2、根据本申请实施例的一个方面,提供了一种高维数据的查找方法,包括:确定搜索空间中的初始值,其中,所述初始值包括初始位置值和初始元素值,所述初始位置值由n个向量构成,每个向量长度为高维数组对应阶的维度大小,n为大于2的正整数;基于所述初始值查找所述搜索空间在单一维度的单维最大值,以及所述单维最大值的数组位置;将所述单维最大值和所述数组位置输出为所述搜索空间在当前迭代周期的当前最大元素。
3、进一步,基于所述初始值查找所述搜索空间在单一维度的单维最大值包括:基于所述初始值的位置构建n个一阶的中间张量;在所述搜索空间中分别查找所述n个一阶的中间张量的最大值,得到n个在对应维度的最大值;在所述n个在对应维度的最大值中选择最大值为单维最大值。
4、进一步,若n=3,基于所述初始值的位置构建n个一阶的中间张量包括:确定所述初始值在[i,j,k]维度的位置a[i0,j0,k0];构建以下3个一阶的中间张量:a[:,j0,k0],a[i0,:,k0],a[i0,j0,:]。
5、进一步,基于所述初始值查找所述搜索空间在单一维度的单维最大值包括:获取预配置的块参数b;基于所述初始值的位置构建(n-1)b个一阶的中间张量;在所述搜索空间中分别查找所述(n-1)b个中间张量的最大值,得到(n-1)b个在对应维度的最大值;在所述(n-1)b个对应维度的最大值中选择最大值为中间最大值,并确定所述中间最大值对应的最大中间张量;在所述搜索空间中查找所述最大中间张量的前b个单维最大值。
6、进一步,若n=3,b=2,基于所述初始值的位置构建(n-1)b个一阶的中间张量包括:确定所述初始值在[i,j,k]维度的位置,a[i0,j0,k0],a[i1,j0,k0];构建以下4个一阶的中间张量:a[i0,:,k0],a[i1,:,k0],a[i0,j0,:],a[i1,j0,:]。
7、进一步,在所述搜索空间中查找所述最大中间张量的前b个单维最大值之前,所述方法还包括:采用所述初始值在第一维度的张量值更新第一维度指标。
8、进一步,在将所述单维最大值和所述数组位置输出为所述搜索空间在当前迭代周期的当前最大元素之后,所述方法还包括:采用所述最大元素的元素位置和元素值更新下一迭代周期的初始值,并继续在所述搜索空间中查找当前最大元素,直到满足预设收敛条件。
9、根据本申请实施例的另一个方面,还提供了一种高维数据的查找装置,包括:确定模块,用于确定搜索空间中的初始值,其中,所述初始值包括初始位置值和初始元素值,所述初始位置值由n个向量构成,每个向量长度为高维数组对应阶的维度大小,n为大于2的正整数;查找模块,用于基于所述初始值查找所述搜索空间在单一维度的单维最大值,以及所述单维最大值的数组位置;输出模块,用于将所述单维最大值和所述数组位置输出为所述搜索空间在当前迭代周期的当前最大元素。
10、进一步,所述查找模块包括:第一构建单元,用于基于所述初始值的位置构建n个一阶的中间张量;第一查找单元,用于在所述搜索空间中分别查找所述n个一阶的中间张量的最大值,得到n个在对应维度的最大值;第一选择单元,用于在所述n个在对应维度的最大值中选择最大值为单维最大值。
11、进一步,若n=3,所述第一构建单元包括:确定子单元,用于确定所述初始值在[i,j,k]维度的位置a[i0,j0,k0];构建子单元,用于构建以下3个一阶的中间张量:a[:,j0,k0],a[i0,:,k0],a[i0,j0,:]。
12、进一步,所述查找模块包括:获取单元,用于获取预配置的块参数b;第二构建单元,用于基于所述初始值的位置构建(n-1)b个一阶的中间张量;第二查找单元,用于在所述搜索空间中分别查找所述(n-1)b个中间张量的最大值,得到(n-1)b个在对应维度的最大值;第二选择单元,用于在所述(n-1)b个对应维度的最大值中选择最大值为中间最大值,并确定所述中间最大值对应的最大中间张量;第三查找单元,用于在所述搜索空间中查找所述最大中间张量的前b个单维最大值。
13、进一步,若n=3,b=2,所述第二构建单元包括:确定子单元,用于确定所述初始值在[i,j,k]维度的位置,a[i0,j0,k0],a[i1,j0,k0];构建子单元,用于构建以下4个一阶的中间张量:a[i0,:,k0],a[i1,:,k0],a[i0,j0,:],a[i1,j0,:]。
14、进一步,所述查找模块还包括:更新单元,用于在所述第三查找单元在所述搜索空间中查找所述最大中间张量的前b个单维最大值之前,采用所述初始值在第一维度的张量值更新第一维度指标。
15、进一步,所述装置还包括:更新模块,用于在所述输出模块将所述单维最大值和所述数组位置输出为所述搜索空间在当前迭代周期的当前最大元素之后,采用所述最大元素的元素位置和元素值更新下一迭代周期的初始值,并继续在所述搜索空间中查找当前最大元素,直到满足预设收敛条件。
16、根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
17、根据本申请实施例的另一方面,还提供了一种本文档来自技高网...
【技术保护点】
1.一种高维数据的查找方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,基于所述初始值查找所述搜索空间在单一维度的单维最大值包括:
3.根据权利要求2所述的方法,其特征在于,若N=3,基于所述初始值的位置构建N个一阶的中间张量包括:
4.根据权利要求1所述的方法,其特征在于,基于所述初始值查找所述搜索空间在单一维度的单维最大值包括:
5.根据权利要求4所述的方法,其特征在于,若N=3,b=2,基于所述初始值的位置构建(N-1)b个一阶的中间张量包括:
6.根据权利要求4所述的方法,其特征在于,在所述搜索空间中查找所述最大中间张量的前b个单维最大值之前,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,在将所述单维最大值和所述数组位置输出为所述搜索空间在当前迭代周期的当前最大元素之后,所述方法还包括:
8.一种高维数据的查找装置,其特征在于,包括:
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7中任一项所述
10.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:
...【技术特征摘要】
1.一种高维数据的查找方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,基于所述初始值查找所述搜索空间在单一维度的单维最大值包括:
3.根据权利要求2所述的方法,其特征在于,若n=3,基于所述初始值的位置构建n个一阶的中间张量包括:
4.根据权利要求1所述的方法,其特征在于,基于所述初始值查找所述搜索空间在单一维度的单维最大值包括:
5.根据权利要求4所述的方法,其特征在于,若n=3,b=2,基于所述初始值的位置构建(n-1)b个一阶的中间张量包括:
6.根据权利要求4所述的方法,其特征在于...
【专利技术属性】
技术研发人员:肖传福,刘翠玉,朱钱超,李敏,杨超,
申请(专利权)人:北京大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。