System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及向量数据库检索领域,特别是涉及一种基于概率聚类的向量数据库检索算法。
技术介绍
1、向量数据库是人工智能应用中的一个关键组成部分。图像、文本、视频或音频等信息都以高维向量的形式存储在向量数据库中。矢量数据库的检索速度在构建高性能人工智能系统中起着至关重要的作用。
2、向量数据库目前采用的检索方法以枚举匹配法为主,将查询向量依次与向量数据库中的每一个向量进行比较,与每个向量比较之后,得到最近的向量。这种方法的优点是匹配精度高,不存在漏检。缺点是匹配时间久,匹配所消耗的资源太多,成本高。于是利用聚类,成倍的减少比较次数,成为一种向量数据库检索加速的主要办法。
3、综合以上,需要一种加速算法来提高检索速度节省计算资源。
技术实现思路
1、本专利技术的目的在于提出一种基于概率聚类的向量数据库检索算法,在解决向量数据库检索速度慢的问题时,绝大多数的算法的要么会陷入匹配精度缺失,要么需要非常多的计算量。本算法将数据分成多个分区,确保在检索阶段仅搜索单个分区而不是整个数据集,以加速检索过程。
2、本算法分为两个阶段,聚类和检索。初始聚类阶段使用标准的高斯混合模型(gmm),将数据分布到k个簇中,其中k为检索的加速因子。随后的检索阶段包括聚类选择、聚类排名和簇搜索。在查询和每个簇之间应用负对数似然的计算。随后,选择两个具有最高负对数似然的簇,并通过置信度度量对其进行重新排名,具有更高置信水平的簇被选择用于搜索操作。搜索操作涉及通过定位与查询具有最大
3、基于上述目的,本专利技术提供了一种基于概率聚类的向量数据库检索算法,包括:
4、s1:确定高斯混合模型的初始参数,包括均值、协方差矩阵以及每个分量的权重。初始化生成n簇,获得超球体中每条向量数据的坐标,基于初始化坐标计算每个簇的中心坐标值。
5、s2:使用em算法,首先根据当前参数估计每个样本属于每个高斯分量的概率(后验概率)。然后使用前面步骤中计算的后验概率,更新模型参数,包括均值、协方差矩阵和权重。最后对模型值进行迭代,重复进行前面两个步骤,直到模型参数收敛或达到预定的迭代次数。
6、s3:基于收敛后参数模型,计算出gmm模型。并使用后验概率进行分类或通过选择概率最高的分量确定每个样本所属的簇。
7、s4:对概率聚类结果进行再次分配,当一个查询输入到系统中时,会对该查询与每个簇进行比较,基于它们的比较结果,计算马氏距离,并得到每一个簇的权重。基于负对数似然性对聚类进行排序,并选择前2名。
8、s5:基于前两条数据,计算z-score值,并对样本的置信水平进行评判,最后利用马氏距离来测量样本置信度。
9、s6:对所选簇中所有的特征向量,依次计算余弦相似度。与原有簇的样本矩阵点积,计算出最相似的样本。
10、s7:输出最终的最相似的样本向量,以及该位置对应的簇的值。
11、可选的,所述s1包括:
12、2.1:确定高斯混合模型的初始参数,包括均值、协方差矩阵以及每个分量的权重。
13、2.2:初始化生成n簇,获得超球体中每条向量数据的坐标,基于初始化坐标计算每个簇的中心坐标值。其中n是希望分类的簇的数量。
14、可选的,所述s2包括:
15、3.1:使用期望最大化算法,首先根据当前参数估计每个样本属于每个高斯分量的概率,计算后验概率。
16、3.2:使用前面步骤中计算的后验概率,更新模型参数,包括均值、协方差矩阵和权重。
17、3.3:最对模型值进行迭代,重复进行前面步骤,直到模型参数收敛或达到预定的迭代次数。其中预定迭代次数可以设定。
18、可选的,所述s3包括:
19、基于收敛后参数模型,计算出gmm模型。并使用后验概率进行分类或通过选择概率最高的分量确定每个样本所属的簇。计算公式如下:
20、
21、可选的,所述s4包括:
22、根据概率聚类结果进行再次分配,当一个查询输入到系统中时,会对该查询与每个簇进行比较,基于它们的比较结果,计算马氏距离,并得到每一个簇的权重。基于负对数似然性对聚类进行排序,并选择前2名。计算公式如下:
23、
24、可选的,所述s5包括:
25、基于前两条数据,计算z-score值,并对样本的置信水平进行评判,最后利用马氏距离来测量样本置信度。计算公式如下:
26、
27、这里k={1,2,3,…,k}。
28、可选的,所述s6中截止条件为找到超球体中离查询向量最近的向量。
29、在10000次实验中,当k=3个簇时,本算法有9872次检索到最近的向量,寻找到最近向量的概率为98.72%。而市面上主流算法找到最近向量的概率最高为96%。相同配置下,本算法运行一次所需时间为0.0014s。而其它算法最快需要0.0121s。本算法耗时只有目前主流算法的11%,按照实验中寻找全数据库最近的向量,和目前主流算法对比,本算法的性能、计算速度、全局搜索的能力都有很高优越性。
30、由上述可知,利用本方法来找目标向量的最近向量时,可以有很大概率找到全局最优解,同时计算量小,所需要的计算时间短。
本文档来自技高网...【技术保护点】
1.一种基于概率聚类的向量数据库检索算法。其特征在于,包括:
2.根据权利要求1所述的一种基于概率聚类的向量数据库检索算法,其特征在于,所述S1包括:
3.根据权利要求1所述的一种基于概率聚类的向量数据库检索算法,其特征在于,所述S2包括:
4.根据权利要求1所述的一种基于概率聚类的向量数据库检索算法,其特征在于,所述S3包括:
5.根据权利要求1所述的一种基于概率聚类的向量数据库检索算法,其特征在于,所述S4包括:
6.根据权利要求1所述的一种基于概率聚类的向量数据库检索算法,其特征在于,所述S5包括:
7.根据权利要求1所述的一种基于概率聚类的向量数据库检索算法,其特征在于,所述S6中截止条件为找到超球体中离查询向量最近的向量。
【技术特征摘要】
1.一种基于概率聚类的向量数据库检索算法。其特征在于,包括:
2.根据权利要求1所述的一种基于概率聚类的向量数据库检索算法,其特征在于,所述s1包括:
3.根据权利要求1所述的一种基于概率聚类的向量数据库检索算法,其特征在于,所述s2包括:
4.根据权利要求1所述的一种基于概率聚类的向量数据库检索算法,其特征在于,所述...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。