度量空间划分边界的性能衡量方法、装置及相关设备
技术领域
本发明涉及数据处理
技术领域
,尤其涉及一种度量空间划分边界的性能衡量方法、装置及相关设备。背景技术
现有基于划分的度量空间索引主要是基于球形划分或者基于超平面划分进行的。基于划分的度量空间索引,根据划分结果的子空间的逻辑形态,大多可以分为以球形划分为基础和以超平面划分为基础两种。不同索引之间的性能比较都是通过各自进行,而不同的索引方法的索引条件往往是不相同的,性能影响也由多个因素共同决定,支撑点的不同、划分方式的不同、索引的平衡性等等都会对索引的性能造成较大的影响。
现有的不同度量空间索引之间的性能比较都是通过实验进行的,没有一套体系的、理论的方法可以客观地对不同方法的优劣进行评价,因此没法客观地反映不同划分方法的内在差异,并且实验采用的不同数据集之间的差异也大大降低了结论的客观性,同时性能衡量效率低。
发明内容
本发明实施例提供了一种度量空间划分边界的性能衡量方法、装置及相关设备,旨在解决现有技术中衡量度量空间划分边界的性能效率高的问题。
第一方面,本发明实施例提供了一种度量空间划分边界的性能衡量方法,其包括:
根据线性划分边界规则,获取度量空间不同划分边界对应的权重向量;
统计不同划分边界对应的所述权重向量,得到每种划分边界对应的权重序列;
基于所述权重序列对每种划分边界的性能进行计算,得到性能系数;
比较所述性能系数,确定最小性能系数的划分边界性能最优。
第二方面,本发明实施例提供了一种度量空间划分边界的性能衡量装置,其包括:
获取模块,用于根据线性划分边界规则,获取度量空间不同划分边界对应的权重向量;
统计模块,用于统计不同划分边界对应的所述权重向量,得到每种划分边界对应的权重序列;
计算模块,用于基于所述权重序列对每种划分边界的性能进行计算,得到性能系数;
比较模块,用于比较所述性能系数,确定最小性能系数的划分边界性能最优。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的度量空间划分边界的性能衡量方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的度量空间划分边界的性能衡量方法。
本发明实施例提供了一种度量空间划分边界的性能衡量方法、装置及相关设备。该方法包括根据线性划分边界规则,获取度量空间不同划分边界对应的权重向量;统计不同划分边界对应的所述权重向量,得到每种划分边界对应的权重序列;基于所述权重序列对每种划分边界的性能进行计算,得到性能系数;比较所述性能系数,确定最小性能系数的划分边界性能最优。该方法根据数学定理,以度量空间划分边界的权重向量衡量性能,衡量结果更客观,并且无需通过繁杂的实验,提高衡量不同度量空间划分边界性能的衡量效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的度量空间划分边界的性能衡量方法的流程示意图;
图2为本发明实施例提供的度量空间划分边界的性能衡量方法中步骤S110之前的流程示意图;
图3为本发明实施例提供的度量空间划分边界的性能衡量方法步骤S130的子流程示意图;
图4为本发明实施例提供的度量空间划分边界的性能衡量装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1所示,图1为本发明实施例提供的度量空间划分边界的性能衡量方法的流程示意图,该方法包括步骤S110~S140。
步骤S110、根据线性划分边界规则,获取度量空间不同划分边界对应的权重向量;
本实施例中,根据度量空间的线性划分边界规则,获取度量空间不同划分边界对应的权重向量。其中,划分边界的方式可以是超平面划分或球形划分。权重向量表示划分边界映射到支撑点空间后的向量表达。
在一实施例中,所述度量空间为二元组(M,d),其中M是有限非空的数据集合,d是定义在M上的距离函数。
在一实施例中,所述距离函数满足:
对于任意,d(x,y)≥0,并且d(x,y)=0时,x=y;
对于任意,d(x,y)=d(y,x);
对于任意,d(x,y)+d(y,z)≥d(x,z)。
在一实施例中,所述线性划分边界规则满足:
对于度量空间(M,d),在S中选择n个支撑点p1,p2,...,pn,利用线性关系:
a1·d(s,p1)+a2·d(s,p2)+...+an·d(s,pn)=c,c∈R,ai∈R,i=1,2,...,n作为边界对数据进行划分的方法称为线性划分,其中,ai表示数据到第i个支撑点距离的权重向量。在支撑点空间中,线性划分的划分边界表现为以(a1,a2,...,an)作为权重向量的超平面a1x1+a2x2+...+anxn=c,c∈R,ai∈R,i=1,2,...,n。线性划分的每一个边界都可以用一个对应的线性方程进行描述,每种线性划分方式都可以一组对应的线性方程组进行表示。如果没有特别说明的话,本发明实施例所提到的划分方法都属于线性划分。
在一实施例中,如图2所示,步骤S110之前,包括:
步骤S01、对数据库中的数据进行度量空间的划分,得到多个所述权重向量;
步骤S02、利用选点算法选取若干个支撑点;
步骤S03、以数据到支撑点的距离作为坐标,将度量空间中的数据映射为多维向量数据,得到支撑点空间。
本实施例中,对数据库中的数据进行度量空间的划分,得到多个权重向量。利用选点算法选取若干个支撑点;以数据到支撑点的距离作为坐标,将度量空间中数据映射为多维向量数据,得到支撑点空间。例如,划分两个划分边界d(x,p1)–d(x,p2)=d和d(x,p1)+d(x,p2)=d(d表示任意常数),对数据进行完全划分,则输入超平面划分的权重向量为(1,-1)、(1,1),球形划分的划分半径r(如r=1)。
进一步地,根据向量组(1,-1)、(1,1)判断出向量个数为2,那么可利用支撑点选点算法(如FFT(最大最近距离优先)、增量模型等算法)选取出两个支撑点p1,p2。接着以数据到支撑点p1,p2的距离作为坐标,将度量空间中的数据都映射成二维向量数据。需要知道的是,映射得到的向量数据的维数与所选取的支撑点个数相等。
在一实施例中,对于度量空间(M,d),数据S={si|si∈M,i=1,2,...,m},S中选择n个支撑点P={p1,p2,...,pn},对于以数据到支撑点的距离d(s,pi)作为坐标,可以定义一个从M到n维空间的映射,用sp表示s在n维空间中的像,则有映射函数FP,d如下:
FP,d(s)=(f1(s),f2(s),...,fn(s))=(d(s,p1),d(s,p2),...,d(s,pn))∈FP,d(M);
支撑点空间FP,d(S)是S在Rn的像:
FP,d(s)={sP|sP=d(s,p1),d(s,p2),...,d(s,pn),s∈S}。
例如,度量空间中三个数据s1,s2,s3,其中d(s2,s1)=12,d(s2,s3)=23,d(s1,s3)=13,当选用s1,s3两个支撑点时,得到的支撑点空间维度为2,s1,s2,s3在支撑点空间中的像分别为s1 P=(d(s1,s1),d(s1,s3))=(0,13),s2 P=(d(s2,s1),d(s2,s3))=(12,23),s3 P=(d(s3,s1),d(s3,s3))=(13,0)。
步骤S120、统计不同划分边界对应的所述权重向量,得到每种划分边界对应的权重序列;
本实施例中,统计不同划分边界对应的权重向量,得到每种划分边界对应的权重序列。其中,度量空间(M,d),数据S={si|si∈M,i=1,2,...,m},S中选择n个支撑点P={p1,p2,...,pn},对于利用线性关系a1·d(s,p1)+a2·d(s,p2)+...+an·d(s,pn)=c(c和ai都是常数;i=1,2,...,n;d(s,pi)表示数据到第i个支撑点的距离)作为边界对数据进行划分时,利用权重向量a1,a2,...,an的取值判断划分性能。统计不同划分边界对应的权重向量a1,a2,...,an的取值,得到不同划分边界对应的权重序列{|a1|,|a2|,...,|an|}。
步骤S130、基于所述权重序列对每种划分边界的性能进行计算,得到性能系数;
本实施例中,基于各划分边界的权重序列,计算每种划分边界的性能,得到不同划分边界的性能系数。
在一实施例中,如图3所示,步骤S130包括:
步骤S131、对所述权重序列的标准差和平均数进行计算,得到所述权重序列的标准差和平均数;
步骤S132、以所述标准差和平均数的比值,作为所述权重序列对应划分边界的性能系数。
本实施例中,为了刻画权重向量的接近程度,采用权重向量取绝对值的标准差和平均数的比值表示权重向量的接近程度的大小。标准差表示数据的总体偏移情况,平均值用来表示权重向量总体取值大小,标准差和平均数的比值可以准确地表示某组数据对平均数据的偏移程度,权重系数的值越小,说明权重序列中的权重向量取值越接近,那么划分边界的性能就越好。本实施例中,对权重序列的标准差和平均数进行计算,得到权重序列的标准差和平均数;以标准差和平均数的比值,作为权重序列对应划分边界的性能系数。
例如,若超平面划分,选用两个支撑点,将其一个划分边界映射到支撑点空间中有x1-x2=0,此时权值a1=1,a2=-1,则权重序列为{1,1},;若采用球形划分,选用两个支撑点,将其一个划分边界映射到二维支撑点空间中有x1=r,r是常数,则a1=1,a2=0,则权重序列为{1,0};接着计算两种划分边界对应权重序列的标准差和平均值,进而以标准差和平均值之间的比值作为两种划分边界的性能系数。
步骤S140、比较所述性能系数,确定最小性能系数的划分边界性能最优。
本实施例中,比较不同划分边界的性能系数,以最小性能系数对应的划分边界的性能最优。
该方法根据数学定理,以度量空间划分边界的权重向量衡量性能,衡量结果更客观,并且无需通过繁杂的实验,提高衡量不同度量空间划分边界性能的衡量效率。
本发明实施例还提供一种度量空间划分边界的性能衡量装置,该度量空间划分边界的性能衡量装置用于执行前述度量空间划分边界的性能衡量方法的任一实施例。具体地,请参阅图4,图4是本发明实施例提供的度量空间划分边界的性能衡量装置的示意性框图。该度量空间划分边界的性能衡量装置100可以配置于服务器中。
如图4所示,度量空间划分边界的性能衡量装置100包括获取模块110、统计模块120、计算模块130、比较模块140。
获取模块110,用于根据线性划分边界规则,获取度量空间不同划分边界对应的权重向量;
统计模块120,用于统计不同划分边界对应的所述权重向量,得到每种划分边界对应的权重序列;
计算模块130,用于基于所述权重序列对每种划分边界的性能进行计算,得到性能系数;
比较模块140,用于比较所述性能系数,确定最小性能系数的划分边界性能最优。
在一实施例中,度量空间划分边界的性能衡量装置100包括:
划分模块,用于对数据库中的数据进行度量空间的划分,得到多个所述权重向量;
选取模块,用于利用选点算法选取若干个支撑点;
映射模块,用于以数据到支撑点的距离作为坐标,将度量空间中的数据映射为二维向量数据,得到支撑点空间。
在一实施例中,计算模块130包括:
计算单元,用于对所述权重序列的标准差和平均数进行计算,得到所述权重序列的标准差和平均数;以所述标准差和平均数的比值,作为所述权重序列对应划分边界的性能系数。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上所述的度量空间划分边界的性能衡量方法。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如上所述的基于度量空间划分边界的性能衡量方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。