CN107909119B - 集合间相似度的确定方法和装置 - Google Patents
集合间相似度的确定方法和装置 Download PDFInfo
- Publication number
- CN107909119B CN107909119B CN201711317249.5A CN201711317249A CN107909119B CN 107909119 B CN107909119 B CN 107909119B CN 201711317249 A CN201711317249 A CN 201711317249A CN 107909119 B CN107909119 B CN 107909119B
- Authority
- CN
- China
- Prior art keywords
- data set
- data
- points
- similarity
- knn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种集合间相似度的确定方法和装置,属于相似度度量技术领域。本发明提供的集合间相似度的确定方法和装置,根据数据集合中数据点之间的KNN距离,从数据点与数据点之间的k最近邻关系,进一步得出数据点与数据集合之间的k最近邻关系,进而通过计算集合中每个数据点与另一数据集合的k最近邻的比例,确定两数据集合间的相似度,从而确定样本差异或样本相似性,精度高;并且适用于各个维数、各种样本分布的数据集合,具有广泛的普适性。
Description
技术领域
本发明涉及相似度度量技术领域,尤其是涉及一种集合间相似度的确定方法和装置。
背景技术
现有的确定数据集合之间的相似度的计算方法主要包括:最短距离(singlelinkage)/最长距离(complete linkage)、杰卡德(Jaccard)相似度、K-S(Kolmogorov-Smirnov)检验、K-L(Kullback-Leibler)散度等方法。
一、最短距离/最长距离广泛用于聚类中描述类与类之间(即集合与集合之间)距离,其中:最短距离为两类样品两两之间的距离最小值;最长距离为两类样品两两之间的距离最大值。该技术的不足之处:对于集合的距离定义过于简单,会受到个别奇异数据带来的巨大误差;最短距离往往高估集合间的相似性,最长距离往往低估集合间的相似性。
二、Jaccard相似度是一种广泛用于描述集合间相似度的算法,在自然语言处理中应用最多,包括数据索引匹配、推荐系统等等场景,其公式表示如下:
其中,|A|表示集合元素的个数;该技术的不足之处:适用于集合中元素精确匹配,特别适用于特征向量为简单多元选择型的样本集,无法解决包括文本或数值的模糊匹配问题,没有考虑到样本的特征向量不完全相同,但实质上样本点接近也是样本集合相似的表现之一;比较适合用于一维数据,在多维数据中效果不佳。
三、K-S检验基于累积分布函数,用以检验一个经验分布是否符合某种理论分布或用于比较两个经验分布是否有显著性差异。
设零假设为总体X和Y分布相同,计算统计量Z值,其公式表示如下:
其中F1,n(·),F2,m(·)为累积分布函数;
该技术的不足之处:只适用于一维数据,用于多维数据时十分复杂;
对于较相近的数据集合的区分敏感度较低。
四、K-L散度基于熵的概念,也被称为相对熵,表示两个函数或概率分布P和Q的差异性,假设P(x)和Q(x)是X上取值的两个离散概率分布,则P对Q的K-L散度为:
差异越大则K-L散度越大,差异越小则K-L散度越小,当且仅当两分布相同时,KL散度等于0;特别地,KL散度是非对称的,即D(P||Q)≠D(Q||P)。该技术的不足之处在于:尽管KL散度从直观上是个度量或距离函数,但它并不是一个真正的度量或者距离,因为它不具有对称性,虽然在实际应用中一般用D(P||Q)和D(Q||P)的均值来表示距离,但是很难说明K-L散度的不平衡性可以仅靠取均值来解决。
这些方法确定两集合间的相似度的精度低,且对于数据样本的分布有特殊要求,没有普适性。
发明内容
有鉴于此,本发明的目的在于提供一种集合间相似度的确定方法和装置,以提高所确定的集合间相似度值的精度。
第一方面,本发明实施例提供了一种集合间相似度的确定方法,所述方法包括:
获取第一数据集合和第二数据集合,其中,所述第一数据集合中的数据点的维数和第二数据集合中的数据点的维数相同;
将第一数据集合和第二数据集合合并为第三数据集合;
逐一从所述第三数据集合中的选取当前抽样点,对于每个所述当前抽样点,计算所述当前抽样点与所述第三数据集合中的其它数据点的KNN距离;根据所述当前抽样点的KNN距离选取满足k最近邻邻居的邻居点,其中,k为预设值;如果所述邻居点和所述当前抽样点分别属于所述第一数据集合和所述第二数据集合,为所述当前抽样点设置相似标记;
根据所述第三数据集合中带有相似标记的抽样点的总数,计算所述第一数据集合和所述第二数据集合的相似度。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,计算所述当前抽样点与所述第三数据集合中的其它数据点的KNN距离的步骤,包括:
采用距离函数计算所述当前抽样点与所述第三数据集合中的其它数据点的KNN距离;所述距离函数为欧氏距离、马氏距离、切比雪夫距离或余弦距离。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,根据所述当前抽样点的KNN距离选取满足k最近邻邻居的邻居点的步骤,包括:
将所述当前抽样点与所述第三数据集合中的其它各数据点的KNN距离按照递增的顺序进行排序;
从排序后的KNN距离中,选取前k个KNN距离对应的数据点作为所述当前抽样点的k最近邻邻居的邻居点。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,根据所述第三数据集合中带有相似标记的抽样点的总数,计算所述第一数据集合和所述第二数据集合的相似度的步骤,包括:
将所述带有相似标记的抽样点的总数与所述第三数据集合所包含的抽样点总数的比值,作为所述第一数据集合和所述第二数据集合的相似度。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,获取第一数据集合和第二数据集合的步骤,包括:
获取第一目标集合和第二目标集合;
判断第一目标集合与第二目标集合所包含的数据点的数量是否相同;
如果是,将所述第一目标集合和第二目标集合分别作为第一数据集合和第二数据集合;
如果否,从所述第一目标集合抽取设定数量的数据点作为第一数据集合,从所述第二目标集合抽取所述设定数量的数据点作为第二数据集合。
结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述方法还包括:
如果第一目标集合与第二目标集合所包含的数据点的数量不相同,重复执行所述从所述第一目标集合抽取设定数量的数据点作为第一数据集合,从所述第二目标集合抽取所述设定数量的数据点作为第二数据集合的步骤,得到多组所述第一数据集合和第二数据集合;
对于多组所述第一数据集合和第二数据集合,执行权利要求1-5任一项所述的集合间相似度的确定方法,得到各组所述第一数据集合和第二数据集合的相似度;
计算各组所述第一数据集合和第二数据集合的相似度的均值;
将所述均值作为所述第一目标集合与第二目标集合的相似度。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述第一数据集合和第二数据集合分别为目标场景中的两个集合;所述方法目标场景包括以下之一:数据聚类、图像识别和自然语言处理;
所述方法还包括:根据所述第一数据集合和第二数据集合的相似度进行所述目标场景对应的后续处理,其中,所述数据聚类对应的后续处理包括分类处理,所述图像识别对应的后续处理包括图像的识别处理,所述自然语言处理对应的后续处理包括匹配处理或分类处理。
第二方面,本发明实施例提供了一种集合间相似度的确定装置,所述装置包括:
数据集合获取模块,用于获取第一数据集合和第二数据集合,其中,所述第一数据集合中的数据点的维数和第二数据集合中的数据点的维数相同;将第一数据集合和第二数据集合合并为第三数据集合;
相似度确定模块,用于逐一从所述第三数据集合中的选取当前抽样点,对于每个所述当前抽样点,计算所述当前抽样点与所述第三数据集合中的其它数据点的KNN距离;根据所述当前抽样点的KNN距离选取满足k最近邻邻居的邻居点,其中,k为预设值;如果所述邻居点和所述当前抽样点分别属于所述第一数据集合和所述第二数据集合,为所述当前抽样点设置相似标记;根据所述第三数据集合中带有相似标记的抽样点的总数,计算所述第一数据集合和所述第二数据集合的相似度。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述相似度确定模块,还用于:将所述当前抽样点与所述第三数据集合中的其它各数据点的KNN距离按照递增的顺序进行排序;从排序后的KNN距离中,选取前k个KNN距离对应的数据点作为所述当前抽样点的k最近邻邻居的邻居点。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述相似度确定模块,还用于:将所述带有相似标记的抽样点的总数与所述第三数据集合所包含的抽样点总数的比值,作为所述第一数据集合和所述第二数据集合的相似度。
本发明实施例带来了以下有益效果:
本发明实施例提供的集合间相似度的确定方法和装置,根据数据集合中数据点之间的KNN距离,从数据点与数据点之间的k最近邻关系,进一步得出数据点与数据集合之间的k最近邻关系,进而通过计算集合中每个数据点与另一数据集合的k最近邻的比例,确定两数据集合间的相似度,从而确定样本差异或样本相似性,精度高;并且适用于各个维数、各种样本分布的数据集合,具有广泛的普适性。
本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的第一种集合间相似度的确定方法的流程图;
图2为本发明实施例提供的第二种集合间相似度的确定方法的流程图;
图3为本发明实施例提供的第三种集合间相似度的确定方法的流程图;
图4为本发明实施例提供的一种集合间相似度的确定装置的结构框图;
图5为采用本发明实施例提供的集合间相似度的确定方法得到的两集合间KNN距离的演示图;
图6为可实现本发明实施例所提供的方法的电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有的集合间相似度的确定方法精度低的问题,本发明实施例提供了一种集合间相似度的确定方法和装置。该方法可以应用于数据挖掘、机器学习领域,包括聚类、自然语言处理、图像识别等。
在聚类处理中,例如在典型的聚类应用中,包括系统聚类、层次聚类等,都需要对目前分好的类进行类与类之间距离计算,以保证聚类结果使类与类之间的距离达到最大。
在自然语言处理领域,语句相似度的计算具有很重要的地位,如基于实例的机器翻译、自动问答技术、句子模糊匹配等,通过对术语之间的语义相似度计算,能够为术语语义识别、术语聚类、文本聚类、本体自动匹配等多项任务的开展提供重要支持。在信息检索、网页判重、推荐系统等,都涉及到对象之间或者对象和对象集合或对象集合之间的相似性计算,例如在推荐系统中,将所有用户对某一物品的评价或喜好或行为作为一个集合,根据物品间的相似度和用户的历史行为为用户生产推荐列表;在数据检索中,需要对所需检索关键词或字符串集合在数据库中找到相对应最佳匹配;在文本识别中,一般将分本分割为单词的集合,判断文本之间的相似性从而进行文本分类或识别等。
在图像识别中,相似度计算主要用于对于两幅图像之间内容的相似程度进行打分,根据分数的高低来判断图像内容的相近程度,传统的识别系统大都基于“特征”表示,但从图像中提取有意义并具有类别区分性的特征是一项非常困难的工作,需要大量的专门知识和丰富经验,而另一方面,定义图像间的相似度或距离却相对容易。图像相似度可以用于计算机视觉中的检测跟踪中目标位置的获取:根据已有模板在图像中找到一个与之最接近的区域,和基于图像内容的图像检索:也就是以图检图,将图像抽象为几个特征值,再根据数据库中的特征集合匹配以返回相应的图像。
在上述的应用场景中,均需要比较两目标集合之间的相似度。为此,本发明实施例提供了一种集合间相似度的确定方法,该方法基于点与点之间的KNN(K最近邻)算法,从数据点与数据点之间的K最近邻关系进一步得出数据点与集合之间的K最近邻关系,进一步通过计算集合中每个数据点与另一集合的K最近邻的比例,得出两个集合间的KNN距离,做为两个集合间的相似度。当两个样本来源于完全相同的分布时,两个集合间的KNN距离最小;而在其他情况下,两集合间的距离都会比最小值大。
本发明实施例提供的集合间相似度的确定方法,可以采用相关的软件或硬件实现,下面通过实施例进行描述。
实施例一
参见图1所示的第一种集合间相似度的确定方法的流程图;该方法包括如下步骤:
步骤S102,获取第一数据集合和第二数据集合。
其中,第一数据集合中的数据点的维数和第二数据集合中的数据点的维数相同。数据点的维数可以是一维、二维……d维。
在图像识别中,第一数据集合可以是待检测的图像的特征点的集合,第二数据集合可以是基准图像的特征点的集合。在信息检索中,例如关键词检索,第一数据集合可以是用于输入的关键词或其分词的特征集合,第二数据集合可以是网页中爬取的信息的特征集合。
步骤S104,将第一数据集合和第二数据集合合并为第三数据集合。
步骤S106,逐一从第三数据集合中的选取当前抽样点,对于每个当前抽样点,计算当前抽样点与第三数据集合中的其它数据点的KNN距离;根据当前抽样点的KNN距离选取满足k最近邻邻居的邻居点,其中,k为预设值;如果邻居点和当前抽样点分别属于第一数据集合和第二数据集合,为当前抽样点设置相似标记。
可以采用距离函数计算当前抽样点与第三数据集合中的其它数据点的KNN距离;距离函数可以是欧氏距离、马氏距离、切比雪夫距离或余弦距离。根据数据点的特点和数据集合中数据的分布情况,可以选取不同的距离函数,计算当前抽样点与第三数据集合中的其它数据点的KNN距离。然后将当前抽样点与第三数据集合中的其它各数据点的KNN距离按照递增的顺序进行排序;从排序后的KNN距离中,选取前k个KNN距离对应的数据点作为当前抽样点的k最近邻邻居的邻居点。k值可以根据实际需要设定,例如,可以令k=1、2、5等。在选取的多个邻居点中,只要存在一个邻居点与当前抽样点分别属于不同的数据集合,例如,当前抽样点属于第一数据集合,而邻居点中至少存在一个邻居点属于第二数据集合,则为当前抽样点设置相似标记。
步骤S108,根据第三数据集合中带有相似标记的抽样点的总数,计算第一数据集合和第二数据集合的相似度。
将带有相似标记的抽样点的总数与第三数据集合所包含的抽样点总数的比值,作为第一数据集合与第二数据集合的相似度。
其中,第一数据集合和第二数据集合分别为目标场景中的两个集合;所述方法目标场景包括之一:数据聚类、图像识别和自然语言处理。该方法还包括:根据第一数据集合和第二数据集合的相似度进行目标场景对应的后续处理,其中,数据聚类对应的后续处理包括分类处理,图像识别对应的后续处理包括图像的识别处理,自然语言处理对应的后续处理包括匹配处理或分类处理。该方法应用于数据聚类过程中,可以增加聚类的准确性;应用于图像识别过程中,可以增加图像识别的正确率;应用于自然语言处理场景中,可以增加处理速度和处理地准确性。
该方法根据数据集合中数据点之间的KNN距离来确定数据集合之间的相似度,精度高;并且适用于各个维数、各种样本分布的数据集合,具有广泛的普适性。
实施例二
参见图2所示的第二种集合间相似度的确定方法的流程图;该方法在图1中所示集合间相似度的确定方法的基础上实现,包括如下步骤:
步骤S202,获取第一目标集合和第二目标集合。
步骤S204,判断第一目标集合与第二目标集合所包含的数据点的数量是否相同;如果是,执行步骤S208;如果否,执行步骤S206。
步骤S206,从第一目标集合抽取设定数量的数据点作为第一数据集合,从第二目标集合抽取设定数量的数据点作为第二数据集合。
设定数量应当小于或等于数据量较小的目标集合中包含的数据点的数量。通过抽取设定数量的数据点,得到数据量相同的第一数据集合和第二数据集合。
步骤S208,将第一目标集合和第二目标集合分别作为第一数据集合和第二数据集合。
步骤S210,将第一数据集合和第二数据集合合并为第三数据集合。
步骤S212,逐一从第三数据集合中的选取当前抽样点,对于每个当前抽样点,计算当前抽样点与第三数据集合中的其它数据点的KNN距离;根据当前抽样点的KNN距离选取满足k最近邻邻居的邻居点,其中,k为预设值;如果邻居点和当前抽样点分别属于第一数据集合和第二数据集合,为当前抽样点设置相似标记。
步骤S214,根据第三数据集合中带有相似标记的抽样点的总数,计算第一数据集合与第二数据集合的相似度。
步骤S216,将第一数据集合与第二数据集合的相似度,作为第一目标集合与第二目标集合的相似度。
该方法基于数据量相同的第一数据集合和第二数据集合,进行相似度计算。即当第一目标集合与第二目标集合包含的数据点的数量不相同时,从第一目标集合抽取设定数量的数据点作为第一数据集合,从第二目标集合抽取设定数量的数据点作为第二数据集合,使第一数据集合和第二数据集合包含的数据点的数量相同。
可选地,如果第一目标集合与第二目标集合所包含的数据点的数量不相同,可以重复执行上述步骤S206,得到多组第一数据集合和第二数据集合;对于多组第一数据集合和第二数据集合,执行步骤S210~步骤S216所记载的集合间相似度的确定方法,得到各组第一数据集合和第二数据集合的相似度;计算各组第一数据集合和第二数据集合的相似度的均值;将该均值作为第一目标集合与第二目标集合的相似度。
其中,第一数据集合和第二数据集合分别为目标场景中的两个集合;所述方法目标场景包括之一:数据聚类、图像识别和自然语言处理。该方法还包括:根据第一数据集合和第二数据集合的相似度进行所述目标场景对应的后续处理,其中,数据聚类对应的后续处理包括分类处理,图像识别对应的后续处理包括图像的识别处理,自然语言处理对应的后续处理包括匹配处理或分类处理。该方法应用于数据聚类过程中,可以增加聚类的准确性;应用于图像识别过程中,可以增加图像识别的正确率;应用于自然语言处理场景中,可以增加处理速度和处理地准确性。
本实施例基于数据点之间的KNN距离,从数据点与数据点之间的K最近邻关系,进一步得出数据点与数据集合之间的K最近邻关系,进而通过计算集合中每个样本点与另一集合的K最近邻的比例,衍生出两个数据集合间的KNN距离,作为两个数据集合的距离定义。该定义有一些特有的属性,比如当两个样本来源于完全相同的分布时,两个集合的KNN距离达到最小;而在其他情况下,样本间距离都会比最小值大。
该方法针对样本差异或者样本相似性,尤其是非常接近的两个样本之间,可以做出非常精准的比对,并且对样本的数据分布没有任何要求,对样本的数量大小没有要求,对数据的维数没有要求,精准度、稳健性都很高。
实施例三
参见图3所示的第三种集合间相似度的确定方法的流程图;该方法包括如下步骤:
步骤S304,判断m与n是否相等;如果是,执行步骤S306;如果否,执行步骤S310。
步骤S306,计算目标集合X中是目标集合Y的k最近邻邻居的样本点数量d1;计算目标集合Y中是目标集合X的k最近邻邻居的样本点数量d2。
具体地,对于目标集合X中的数据点xi,计算数据点xi与整个数据空间中其它所有数据点之间的KNN距离。其中,整个数据空间由目标集合X和目标集合Y组成。可以根据实际数据的不同性质挑取不同的点与点之间距离度量函数,计算两个数据点之间的KNN距离。距离度量函数包括但不限于欧氏距离、曼哈顿距离、马氏距离、切比雪夫距离、余弦距离、相关系数等。
例如,对于两个二维数据点:A=(x1,y1),B=(x2,y2),则点A与点B之间的欧式距离为:
类似的,点A与点B之间的曼哈顿距离为:
d(A,B)=|x1-x2|+|y1-y2|
点A与点B之间的马氏距离为:
其中∑为二维随机变量(X,Y)的协方差矩阵。
点A与点B之间的切比雪夫距离为:
d(A,B)=max(|x1-x2|,|y1-y2|)。
将数据点xi与整个数据空间中的其它各数据点的KNN距离按照递增的顺序进行排序;从排序后的KNN距离中,选取前k个KNN距离对应的数据点作为数据点xi的k最近邻邻居的邻居点。如果在这些邻居点中,存在某个邻居点属于目标集合Y,即数据点xi至少是目标集合Y中一个数据点yj的k最近邻邻居,则认为数据点xi为目标集合Y的k最近邻邻居,设置相似标识Iy(xi)=1,其中,I(·)是示性函数,当条件满足时取值为1,当条件不满足时取值为0。
同理,对于目标集合Y中的数据点yj,如果数据点yj至少是目标集合X中一个数据点xi的k最近邻邻居,则认为数据点yj为目标集合X的k最近邻邻居,设置Ix(yj)=1。其中,I(·)是示性函数,当条件满足时取值为1,当条件不满足时取值为0。统计目标集合Y中是目标集合X的k最近邻邻居的数据点数量d2,
步骤S310,从目标集合X和目标集合Y中重复随机抽取样本量为N的w组样本集合对(X1,Y1),(X2,Y2),……(Xw,Yw)。其中,N=min(n,m),w可以根据实际需要进行设定。
步骤S312,逐一计算Xi中是Yi的k最近邻邻居的数据点数量d1.i;逐一计算Yi中是Xi的k最近邻邻居的数据点数量d2.i。
对于样本集合对(Xi,Yi),i=1、2……w;采用上述步骤S306中所记载的方法,逐一统计样本集合Xi中是样本集合Yi的k最近邻邻居的数据点数量d1.i,以及样本集合Yi中是样本集合Xi的k最近邻邻居的数据点数量d2.i。如,对于样本集合Xi中的数据点xia,如果数据点xia为样本集集合Yi的k最近邻邻居,设置相似标识Iy(xia)=1,则样本集合Xi中是样本集合Yi的k最近邻邻居的数据点数量对于样本集合Yi中的数据点yja,如果数据点yja为样本集集合Xi的k最近邻邻居,设置相似标识Ix(yja)=1,则样本集合Xi中是样本集合Yi的k最近邻邻居的数据点数量
步骤S316,将KNN值作为目标集合X和目标集合Y的相似度。
本发明实施例定义了两个数据集合之间的KNN距离,通过计算一个数据集合中每个数据点和另一个数据集合的KNN(k最近邻邻居)关系,进一步计算有KNN关系的数据点的数目和所占的比例,作为数据集合间的KNN距离,该KNN距离表明了数据集合之间的相似度。本发明实施例的相似度确定方法遍历了每个数据点,考虑了局部区域的分布情况,所以可以适用于多种不同数据分布的样本集合,不受限于数据的分布情况。该方法对数据集合的维数没有要求,对一维或者高维数据的计算都适用,计算速度快。
传统的集合相似性如杰卡德相似度只针对集合中元素精确匹配的情况,而本发明实施例所提供的相似度确定方法适用于集合中数据模糊匹配的相似性问题。本发明实施例对不同大小样本使用了重复抽样比对的处理方法,可以对不同大小的样本进行比较,不受限于样本分布和样本维数,对不同样本之间展开的全方位的比对和推演,具有广泛的普适性,对数据集合的分辨度高,敏感性强。并且可以根据不同的数据选取不同的距离度量函数,灵活度高。
以下通过实验来证实本发明实施例所提供的集合间相似度的确定方法的效果:
测试数据集分别为和其中假设集合B是观测到的真实数据,集合A为基于已知数据集合B推理出来的可能数据集。通过设置不同的参数η调节数据集合B,可以得到多个不同的集合A。假设η=0时,集合A与集合B的分布相同,η不等于0时,集合B产生η大小的移位。η绝对值越小,集合A与集合B越相近。
在模拟实验中,可以选取不同大小η的取值集合A,η取值区间为[-5,5]按照步长为0.1遍取,以此证明上述技术方案对于集合A与集合B的区分的确具有很好的作用。
因为集合A的样本量大小为n=50,集合B的样本量大小为m=100,取N=min(n,m)=50,在集合B中重复随机抽取样本量大小为50的小样本集合B1,B2,B3,...B100。对每个集合对(A,Bi),i=1、2…100,求取各个集合对的KNN距离;并对得到的100个KNN距离取平均值,得出最终的KNN距离。
由于k可以设置不同的取值,在模拟实验中,k分别取1,2,5,观察不同k值下得到的集合A与集合B的KNN距离。针对不同大小的每一个η,重复上述步骤,然后对得到的KNN距离求平均值,以减少计算误差。针对不同的η和不同的k值,最后得到集合A与集合B的KNN距离如图5所示,当η=0,得到的集合A与集合B的KNN距离很小,表明集合A与集合B十分相近。随着η的绝对值增大,集合A与集合B的KNN距离也随之增大,表明集合A与集合B之间具有一定的差异,从而证明了本发明对集合相似性的区分效果较好。
从图5中还可以看出,不同的k值得到的集合A与集合B的KNN距离不同,当η=0,即集合A与集合B十分相近时,得到的KNN距离接近特别地,当k较小时,KNN距离对于相似度度量的敏感性较高;当k较大时,KNN距离的稳健性较高但敏感度下降;且当k越大,甚至是k→∞时,KNN→0。因此,当敏感度要求比较高时,可以选取较小的k值;当稳健性要求比较高时,可以选取较大的k值。
对应于上述方法实施例,参见图4所示的一种集合间相似度的确定装置发结构框图;该装置包括:
数据集合获取模块41,用于获取第一数据集合和第二数据集合,其中,第一数据集合中的数据点的维数和第二数据集合中的数据点的维数相同;将第一数据集合和第二数据集合合并为第三数据集合;
相似度确定模块42,用于逐一从第三数据集合中的选取当前抽样点,对于每个所述当前抽样点,计算当前抽样点与第三数据集合中的其它数据点的KNN距离;根据当前抽样点的KNN距离选取满足k最近邻邻居的邻居点,其中,k为预设值;如果邻居点和当前抽样点分别属于第一数据集合和第二数据集合,为当前抽样点设置相似标记;根据第三数据集合中带有相似标记的抽样点的总数,计算第一数据集合和第二数据集合的相似度。
其中,相似度确定模块42,还可以用于:将当前抽样点与第三数据集合中的其它各数据点的KNN距离按照递增的顺序进行排序;从排序后的KNN距离中,选取前k个KNN距离对应的数据点作为当前抽样点的k最近邻邻居的邻居点。还可以用于:将带有相似标记的抽样点的总数与第三数据集合所包含的抽样点总数的比值,作为第一数据集合和第二数据集合的相似度。
本发明实施例提供的集合间相似度的确定装置,根据数据集合中数据点之间的KNN距离,从数据点与数据点之间的k最近邻关系,进一步得出数据点与数据集合之间的k最近邻关系,进而通过计算集合中每个数据点与另一数据集合的k最近邻的比例,确定两数据集合间的相似度,从而确定样本差异或样本相似性,精度高;并且适用于各个维数、各种样本分布的数据集合,具有广泛的普适性。
本实施例提供了一种与上述方法实施例相对应的电子设备。图6为该实现装置的结构示意图,如图6所示,该设备包括处理器61和存储器62;其中,存储器62用于存储一条或多条计算机指令,一条或多条计算机指令被处理器执行,以实现上述报文传输方法。
进一步,图6所示的实现装置还包括总线63,处理器61和存储器62通过总线63连接。
其中,存储器62可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。总线63可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器61可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器61中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器61可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器62,处理器61读取存储器62中的信息,结合其硬件完成前述实施例的方法的步骤。
进一步地,本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述集合间相似度的确定方法。
本发明实施例所提供的集合间相似度的确定方法和装置,具有相同的技术特征,也能解决相同的技术问题,达到相同的技术效果。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (7)
1.一种集合间相似度的确定方法,其特征在于,所述方法应用于图像识别和信息检索,如果应用于图像识别,第一数据集合是待检测的图像的特征点的集合,第二数据集合是基准图像的特征点的集合;如果应用于信息检索,第一数据集合是用于输入的关键词或其分词的特征集合,第二数据集合是网页中爬取的信息的特征集合;所述方法包括:
获取第一数据集合和第二数据集合,其中,所述第一数据集合中的数据点的维数和第二数据集合中的数据点的维数相同;
将第一数据集合和第二数据集合合并为第三数据集合;
逐一从所述第三数据集合中选取当前抽样点,对于每个所述当前抽样点,计算所述当前抽样点与所述第三数据集合中的其它数据点的KNN距离;根据所述当前抽样点的KNN距离选取满足k最近邻邻居的邻居点,其中,k为预设值;如果所述邻居点和所述当前抽样点分别属于所述第一数据集合和所述第二数据集合,为所述当前抽样点设置相似标记;
根据所述第三数据集合中带有相似标记的抽样点的总数,计算所述第一数据集合和所述第二数据集合的相似度;
根据所述第三数据集合中带有相似标记的抽样点的总数,计算所述第一数据集合和所述第二数据集合的相似度的步骤,包括:将所述带有相似标记的抽样点的总数与所述第三数据集合所包含的抽样点总数的比值,作为所述第一数据集合和所述第二数据集合的相似度。
2.根据权利要求1所述的方法,其特征在于,计算所述当前抽样点与所述第三数据集合中的其它数据点的KNN距离的步骤,包括:
采用距离函数计算所述当前抽样点与所述第三数据集合中的其它数据点的KNN距离;所述距离函数为欧氏距离、马氏距离、切比雪夫距离或余弦距离。
3.根据权利要求1所述的方法,其特征在于,根据所述当前抽样点的KNN距离选取满足k最近邻邻居的邻居点的步骤,包括:
将所述当前抽样点与所述第三数据集合中的其它各数据点的KNN距离按照递增的顺序进行排序;
从排序后的KNN距离中,选取前k个KNN距离对应的数据点作为所述当前抽样点的k最近邻邻居的邻居点。
4.根据权利要求1所述的方法,其特征在于,获取第一数据集合和第二数据集合的步骤,包括:
获取第一目标集合和第二目标集合;
判断第一目标集合与第二目标集合所包含的数据点的数量是否相同;
如果是,将所述第一目标集合和第二目标集合分别作为第一数据集合和第二数据集合;
如果否,从所述第一目标集合抽取设定数量的数据点作为第一数据集合,从所述第二目标集合抽取所述设定数量的数据点作为第二数据集合。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
如果第一目标集合与第二目标集合所包含的数据点的数量不相同,重复执行所述从所述第一目标集合抽取设定数量的数据点作为第一数据集合,从所述第二目标集合抽取所述设定数量的数据点作为第二数据集合的步骤,得到多组所述第一数据集合和第二数据集合;
对于多组所述第一数据集合和第二数据集合,执行权利要求1-4 任一项所述的集合间相似度的确定方法,得到各组所述第一数据集合和第二数据集合的相似度;
计算各组所述第一数据集合和第二数据集合的相似度的均值;
将所述均值作为所述第一目标集合与第二目标集合的相似度。
6.一种集合间相似度的确定装置,其特征在于,所述装置应用于图像识别和信息检索,如果应用于图像识别,第一数据集合是待检测的图像的特征点的集合,第二数据集合是基准图像的特征点的集合;如果应用于信息检索,第一数据集合是用于输入的关键词或其分词的特征集合,第二数据集合是网页中爬取的信息的特征集合;所述装置包括:
数据集合获取模块,用于获取第一数据集合和第二数据集合,其中,所述第一数据集合中的数据点的维数和第二数据集合中的数据点的维数相同;将第一数据集合和第二数据集合合并为第三数据集合;
相似度确定模块,用于逐一从所述第三数据集合中的选取当前抽样点,对于每个所述当前抽样点,计算所述当前抽样点与所述第三数据集合中的其它数据点的KNN距离;根据所述当前抽样点的KNN距离选取满足k最近邻邻居的邻居点,其中,k为预设值;如果所述邻居点和所述当前抽样点分别属于所述第一数据集合和所述第二数据集合,为所述当前抽样点设置相似标记;根据所述第三数据集合中带有相似标记的抽样点的总数,计算所述第一数据集合和所述第二数据集合的相似度;
所述相似度确定模块,还用于:将所述带有相似标记的抽样点的总数与所述第三数据集合所包含的抽样点总数的比值,作为所述第一数据集合和所述第二数据集合的相似度。
7.根据权利要求6所述的装置,其特征在于,所述相似度确定模块,还用于:将所述当前抽样点与所述第三数据集合中的其它各数据点的KNN距离按照递增的顺序进行排序;从排序后的KNN距离中,选取前k个KNN距离对应的数据点作为所述当前抽样点的k最近邻邻居的邻居点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711317249.5A CN107909119B (zh) | 2017-12-11 | 2017-12-11 | 集合间相似度的确定方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711317249.5A CN107909119B (zh) | 2017-12-11 | 2017-12-11 | 集合间相似度的确定方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107909119A CN107909119A (zh) | 2018-04-13 |
CN107909119B true CN107909119B (zh) | 2020-05-19 |
Family
ID=61865522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711317249.5A Active CN107909119B (zh) | 2017-12-11 | 2017-12-11 | 集合间相似度的确定方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107909119B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109615080B (zh) * | 2018-09-20 | 2020-05-26 | 阿里巴巴集团控股有限公司 | 无监督模型评估方法、装置、服务器及可读存储介质 |
CN109472812B (zh) * | 2018-09-29 | 2021-11-02 | 深圳市锦润防务科技有限公司 | 一种目标跟踪模板更新的方法、系统和存储介质 |
TWI743418B (zh) * | 2018-11-28 | 2021-10-21 | 緯創資通股份有限公司 | 顯示器、播放內容監控方法及播放內容監控系統 |
CN110765836B (zh) * | 2019-08-28 | 2022-04-29 | 云知声智能科技股份有限公司 | 一种基于自然语言理解的文本定位方法和系统 |
US11921846B2 (en) * | 2020-03-31 | 2024-03-05 | Yahoo Assets Llc | Automatic intrusion detection method and apparatus |
CN113409136B (zh) * | 2021-06-30 | 2024-08-13 | 中国工商银行股份有限公司 | 组合服务相似度分析方法、装置、计算机系统及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574183A (zh) * | 2015-12-23 | 2016-05-11 | 中山大学深圳研究院 | 一种基于协同过滤推荐算法-K最近邻分类算法的App推荐方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11769193B2 (en) * | 2016-02-11 | 2023-09-26 | Ebay Inc. | System and method for detecting visually similar items |
-
2017
- 2017-12-11 CN CN201711317249.5A patent/CN107909119B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574183A (zh) * | 2015-12-23 | 2016-05-11 | 中山大学深圳研究院 | 一种基于协同过滤推荐算法-K最近邻分类算法的App推荐方法 |
Non-Patent Citations (3)
Title |
---|
Similarity Learning for Nearest Neighbor Classification;Ali Mustafa Qamar 等;《2008 Eighth IEEE International Conference on Data Mining》;20081231;第983-988页 * |
Simulation-based Sensitivity Analysis for Non-ignorable Missing Data;Peng Yin 等;《School of Mathematics & Statistics》;20151231;第1-33页 * |
集合的粗相似度量;管延勇 等;《模糊系统与数学》;20060228;第20卷(第01期);第134-139页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107909119A (zh) | 2018-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107909119B (zh) | 集合间相似度的确定方法和装置 | |
CN110188223B (zh) | 图像处理方法、装置及计算机设备 | |
KR101312770B1 (ko) | 정보 분류를 위한 방법, 컴퓨터 판독가능 매체, 및 시스템 | |
CN110928992B (zh) | 文本搜索方法、装置、服务器及存储介质 | |
CN105975518B (zh) | 基于信息熵的期望交叉熵特征选择文本分类系统及方法 | |
CN109189892B (zh) | 一种基于文章评论的推荐方法及装置 | |
CN104239553A (zh) | 一种基于Map-Reduce框架的实体识别方法 | |
CN110134777B (zh) | 问题去重方法、装置、电子设备和计算机可读存储介质 | |
CN113032525A (zh) | 虚假新闻检测方法、装置、电子设备以及存储介质 | |
CN112579783B (zh) | 基于拉普拉斯图谱的短文本聚类方法 | |
CN110825894A (zh) | 数据索引建立、数据检索方法、装置、设备和存储介质 | |
CN105335422A (zh) | 舆情信息的告警方法及装置 | |
CN106878242B (zh) | 一种确定用户身份类别的方法及装置 | |
CN113807073B (zh) | 文本内容异常检测方法、装置以及存储介质 | |
CN108229564B (zh) | 一种数据的处理方法、装置及设备 | |
CN112613310A (zh) | 一种人名匹配方法、装置、电子设备及存储介质 | |
CN112632000B (zh) | 日志文件聚类方法、装置、电子设备和可读存储介质 | |
CN117763106B (zh) | 一种文献查重的方法、装置、存储介质及电子设备 | |
CN108470065B (zh) | 一种异常评论文本的确定方法及装置 | |
Lizunov et al. | Development of the combined method of identification of near duplicates in electronic scientific works | |
CN112465012A (zh) | 机器学习建模方法、装置、电子设备和可读存储介质 | |
US11210605B1 (en) | Dataset suitability check for machine learning | |
CN110019829B (zh) | 数据属性确定方法、装置 | |
Furon et al. | Using extreme value theory for image detection | |
CN111539576B (zh) | 一种风险识别模型的优化方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |