噪声点检测方法及装置与流程

文档序号:11654995阅读:541来源:国知局
噪声点检测方法及装置与流程

本公开涉及聚类领域,具体地,涉及一种噪声点检测方法及装置。



背景技术:

k-means是著名的聚类算法,其算法基本思想是:算法接受参数k;然后将事先输入的n个数据对象划分为k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的,这些聚类被称为簇。

虽然k-means具有计算时间短、速度快的特点,但是,其也存在一些缺点,例如,对异常值敏感。所谓的异常值是指数据的噪声点(离群点)。噪声指在一组数据中无法解释的数据变动,就是一些不和其他数据相一致的数据。由于k-means算法特点,导致其对离群点敏感(会使某个或是某几个中心点偏移),所以去除离群点对算法来说很重要。现有的方法中,去除噪声点的方法是设置阈值,比如设置阈值为一个簇的半径的1.5倍,如果有点超过这个阈值则认为是噪声。这种方法的问题在于,设定一个准确、合理的阈值是比较困难的,特别是当数据比较复杂、维度比较多的时候。并且,由于不同的人可能会设定不同的阈值,这就导致噪声点检测的准确性完全依赖于阈值设定的准确性及合理性。一旦阈值设定得不合适,则会直接降低噪声点检测结果的准确性及可靠性。另外,这种噪声点检测算法的复杂度比较高。



技术实现要素:

为了克服相关技术中存在的问题,本公开的目的是提供一种噪声点检测方法及装置。

为了实现上述目的,本公开提供一种噪声点检测方法,包括:利用聚类算法对原始数据点进行聚类,得到n个原始簇,并将每个所述原始簇的簇类型标记为第一簇类型,其中,n为大于或等于2的自然数;针对每个原始簇,从归类为该原始簇的原始数据点中确定出不符合针对该原始簇的数据点有效条件的边缘数据点;将所确定出的每个边缘数据点各自作为扩展簇,并将每个所述扩展簇的簇类型标记为第二簇类型;重复进行将距离最近的两个簇合并为一个新簇,并对所述新簇标记簇类型的操作,直到满足预设的合并终止条件为止,其中,当被标记为第一簇类型的簇与被标记为第二簇类型的簇合并时,所得新簇的簇类型被标记为第一簇类型;当两个被标记为第二簇类型的簇合并时,所得新簇的簇类型被标记为第二簇类型;当两个被标记为第一簇类型的簇合并时,所得新簇的簇类型被标记为第一簇类型;在合并终止后,将归类为第二簇类型的簇中的数据点确定为是噪声点。

可选地,在所述将所确定出的每个边缘数据点各自作为扩展簇,并将每个所述扩展簇的簇类型标记为第二簇类型的步骤之前,所述方法还包括:

针对每个原始簇,确定该原始簇中的边缘数据点总数占归类为该原始簇的原始数据点总数的占比是否满足预设的占比条件;

当存在不满足所述占比条件的原始簇时,调整针对该原始簇的数据点有效条件,并重新执行所述从归类为该原始簇的原始数据点中确定出不符合针对该原始簇的数据点有效条件的边缘数据点的步骤,直到全部原始簇均满足所述占比条件为止。

可选地,所述数据点有效条件为:数据点与所述原始簇的簇中心之间的距离小于或等于针对该原始簇预设的距离阈值,其中,所述距离阈值小于归类为该原始簇且距离该原始簇的簇中心最远的原始数据点到该原始簇的簇中心之间的距离。

可选地,所述合并终止条件为:任意两个被标记为第一簇类型的簇被合并。

可选地,所述聚类算法为k-means聚类算法。

可选地,该方法还包括:从所述边缘数据点中去除所述噪声点;根据归类为每个所述原始簇的剩余数据点,重新计算每个所述原始簇的簇中心。

本公开还提供一种噪声点检测装置,包括:原始簇生成模块,用于利用聚类算法对原始数据点进行聚类,得到n个原始簇,并将每个所述原始簇的簇类型标记为第一簇类型,其中,n为大于或等于2的自然数;边缘数据点确定模块,用于针对每个原始簇,从归类为该原始簇的原始数据点中确定出不符合针对该原始簇的数据点有效条件的边缘数据点;扩展簇生成模块,用于将所确定出的每个边缘数据点各自作为扩展簇,并将每个所述扩展簇的簇类型标记为第二簇类型;簇合并模块,用于重复进行将距离最近的两个簇合并为一个新簇,并对所述新簇标记簇类型的操作,直到满足预设的合并终止条件为止,其中,当被标记为第一簇类型的簇与被标记为第二簇类型的簇合并时,所得新簇的簇类型被标记为第一簇类型;当两个被标记为第二簇类型的簇合并时,所得新簇的簇类型被标记为第二簇类型;当两个被标记为第一簇类型的簇合并时,所得新簇的簇类型被标记为第一簇类型;噪声点确定模块,用于在合并终止后,将归类为第二簇类型的簇中的数据点确定为是噪声点。

可选地,所述装置还包括:

占比确定模块,用于在所述扩展簇生成模块将所确定出的每个边缘数据点各自作为扩展簇,并将每个所述扩展簇的簇类型标记为第二簇类型之前,针对每个原始簇,确定该原始簇中的边缘数据点总数占归类为该原始簇的原始数据点总数的占比是否满足预设的占比条件;

数据点有效条件调整模块,用于当存在不满足所述占比条件的原始簇时,调整针对该原始簇的数据点有效条件,并触发所述边缘数据点确定模块重新执行所述从归类为该原始簇的原始数据点中确定出不符合针对该原始簇的数据点有效条件的边缘数据点的操作,直到全部原始簇均满足所述占比条件为止。

可选地,所述数据点有效条件为:数据点与所述原始簇的簇中心之间的距离小于或等于针对该原始簇预设的距离阈值,其中,所述距离阈值小于归类为该原始簇且距离该原始簇的簇中心最远的原始数据点到该原始簇的簇中心之间的距离。

可选地,所述合并终止条件为:任意两个被标记为第一簇类型的簇被合并。

可选地,所述聚类算法为k-means聚类算法。

可选地,该装置还包括:噪声点去除模块,用于从所述边缘数据点中去除所述噪声点;簇中心计算模块,用于根据归类为每个所述原始簇的剩余数据点,重新计算每个所述原始簇的簇中心。

通过上述技术方案,可以首先从初始聚类结果中,确定出可能为潜在噪声点的边缘数据点,之后,将这些边缘数据点每个作为单独的扩展簇,再与初始聚类结果中的原始簇进行簇合并操作,即,实现簇融合,直到满足预设的合并终止条件为止。这样,在簇合并操作结束之后,没有与原始簇融合的簇中的数据点即被确认为是噪声点。通过这一技术方案,不需要预先设定用于噪声点确定的距离阈值,而是直接根据边缘数据点与原始簇的融合结果即可准确判定出噪声点,降低人为因素对噪声点检测的影响,并且算法的复杂度较低,能够提高噪声点检测的准确率及效率。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据一示例性实施例示出的一种噪声点检测方法的流程图。

图2是根据一示例性实施例示出的一种聚类结果示意图。

图3是根据另一示例性实施例示出的一种噪声点检测方法的流程图。

图4是根据另一示例性实施例示出的一种噪声点检测方法的流程图。

图5是根据一示例性实施例示出的一种噪声点检测装置的结构框图。

图6是根据另一示例性实施例示出的一种噪声点检测装置的结构框图。

图7是根据另一示例性实施例示出的一种噪声点检测装置的结构框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

图1是根据一示例性实施例示出的一种噪声点检测方法的流程图。如图1所示,该方法可以包括:

在步骤101中,利用聚类算法对原始数据点进行聚类,得到n个原始簇,并将每个原始簇的簇类型标记为第一簇类型,其中,n为大于或等于2的自然数。

在本公开中,可以采用本领域技术人员公知的任意聚类算法对原始数据点进行聚类。示例地,采用k-means聚类算法对原始数据点进行聚类,聚类以后能够得到n个原始簇。例如,如图2所示,经过步骤101,若干个原始数据点一共被分为三类,得到三个原始簇,每个簇的簇中心分别为c1、c2和c3。这些原始簇的簇类型可以被标记为第一簇类型。

在步骤102中,针对每个原始簇,从归类为该原始簇的原始数据点中确定出不符合针对该原始簇的数据点有效条件的边缘数据点。

在该步骤中,某个原始簇的边缘数据点为归类为该原始簇的原始数据点中不符合针对该原始簇的数据点有效条件的数据点。示例地,该数据点有效条件例如可以为:数据点与原始簇的簇中心之间的距离小于或等于针对该原始簇预设的距离阈值,其中,该距离阈值小于归类为该原始簇且距离该原始簇的簇中心最远的原始数据点到该原始簇的簇中心之间的距离。

例如,参考图2,针对第一个原始簇,其簇中心为c1。该原始簇中距离簇中心c1最远的原始数据点为d1,记d1到c1之间的距离为l1,则针对该第一个原始簇所设定的距离阈值lth1<l1。这样,基于该lth1,可以从归类为第一个原始簇的原始数据点中,确定出不符合与簇中心c1之间的距离小于或等于lth1这一数据点有效条件的数据点,然后将这些数据点确定为是该第一个原始簇的边缘数据点。同理,针对第二个原始簇,其簇中心为c2。该原始簇中距离簇中心c2最远的原始数据点为d2,记d2到c2之间的距离为l2,则针对该第二个原始簇所设定的距离阈值lth2<l2。这样,基于该lth2,可以从归类为第二个原始簇的原始数据点中,确定出不符合与簇中心c2之间的距离小于或等于lth2这一数据点有效条件的数据点,然后将这些数据点确定为是该第二个原始簇的边缘数据点。针对第三个原始簇,其簇中心为c3。该原始簇中距离簇中心c3最远的原始数据点为d3,记d3到c3之间的距离为l3,则针对该第三个原始簇所设定的距离阈值lth3<l3。这样,基于该lth3,可以从归类为第三个原始簇的原始数据点中,确定出不符合与簇中心c3之间的距离小于或等于lth3这一数据点有效条件的数据点,然后将这些数据点确定为是该第三个原始簇的边缘数据点。如图2所示,按照上述方式确定出的各原始簇的边缘数据点如虚线圆圈所表示。

接下来,在确定出各个原始簇的边缘数据点之后,在步骤103中,将所确定出的每个边缘数据点各自作为扩展簇,并将每个扩展簇的簇类型标记为第二簇类型。例如,假设总共确定出m个边缘数据点,则初始有m个扩展簇。这些扩展簇的簇类型可以被标记为第二簇类型。

由此可见,步骤102和步骤103的目的就是将原始簇的数据点有效范围缩小,将离自身簇中心较远的若干数据点作为边缘数据点,并使各个边缘数据点独自成为一个簇,这里将这些簇称为“扩展簇”。

在步骤104中,将距离最近的两个簇合并为一个新簇,并对该新簇标记簇类型。

两个簇之间的距离可以采用两个簇的簇中心之间的距离来表示。示例地,两个簇的簇中心之间的距离为两个簇中心之间的欧氏距离。初始阶段,一共有n个原始簇和m个扩展簇。首先,可以基于欧氏距离计算公式,确定出每两个簇之间的距离。然后,将其中距离最近的两个簇进行合并,得到一个新簇,并根据所合并的两个簇的簇类型来对所得新簇的簇类型进行标记。示例地,当被标记为第一簇类型的簇与被标记为第二簇类型的簇合并时,所得新簇的簇类型被标记为第一簇类型;当两个被标记为第二簇类型的簇合并时,所得新簇的簇类型被标记为第二簇类型;当两个被标记为第一簇类型的簇合并时,所得新簇的簇类型被标记为第一簇类型。

判断是否满足预设的合并终止条件。如果不满足,则返回步骤104,重复执行上述操作,直到满足预设的合并终止条件为止。示例地,所述合并终止条件为:任意两个被标记为第一簇类型的簇被合并。

上述周而复始的簇合并过程,即为扩展簇和原始簇的融合过程,也就是对步骤102从原始簇中分离出来的边缘数据点再进行聚类融合的过程。

在满足预设的合并终止条件时,执行步骤105。在步骤105中,在合并终止后,将归类为第二簇类型的簇中的数据点确定为是噪声点。

示例地,如果有任意两个被标记为第一簇类型的簇被合并时,融合过程终止。此时,没有与原始簇融合的数据点(其所在簇的簇类型为第二簇类型)即被视为是距离原始簇较远的数据点,也就是噪声点。

综上所述,通过上述技术方案,可以首先从初始聚类结果中,确定出可能为潜在噪声点的边缘数据点,之后,将这些边缘数据点每个作为单独的扩展簇,再与初始聚类结果中的原始簇进行簇合并操作,即,实现簇融合,直到满足预设的合并终止条件为止。这样,在簇合并操作结束之后,没有与原始簇融合的簇中的数据点即被确认为是噪声点。通过这一技术方案,不需要预先设定用于噪声点确定的距离阈值,而是直接根据边缘数据点与原始簇的融合结果即可准确判定出噪声点,降低人为因素对噪声点检测的影响,并且算法的复杂度较低,能够提高噪声点检测的准确率及效率。

图3是根据另一示例性实施例示出的一种噪声点检测方法的流程图。如图3所示,在图1所示的方法的基础上,在步骤103之前,该方法还可以包括以下步骤。

在步骤106中,针对每个原始簇,确定该原始簇中的边缘数据点总数占归类为该原始簇的原始数据点总数的占比是否满足预设的占比条件。

示例地,该预设占比条件例如可以为:归类为某个原始簇的边缘数据点总数占归类为该原始簇的原始数据点总数的占比不低于预设阈值,例如,该预设阈值被设置为10%。在经过步骤102后,可以确定出每个原始簇中的边缘数据点,进而通过步骤106,可以计算出每个原始簇中边缘数据点总数占该原始簇中的原始数据点总数的占比,并确定该占比是否满足预设的占比条件。

在步骤107中,判断是否存在不满足所述占比条件的原始簇。在判断为是的情况下,执行步骤108;在判断为否的情况下,执行步骤103。

在步骤108中,调整针对该原始簇的数据点有效条件,并重新执行步骤102,以针对不满足占比条件的原始簇,重新从归类为该原始簇的原始数据点中确定出不符合针对该原始簇的、调整后的数据点有效条件的边缘数据点。上述过程循环执行,直到全部原始簇均满足上述的占比条件为止。

设定边缘数据点的数量占比条件,目的是为了确保针对每个原始簇,都能将该原始簇的数据点有效范围缩小到比较合适的范围,同时又能够筛选出足够数量的边缘数据点作为扩展簇。这样,可以在很大程度上避免因边缘数据点数量过少导致后期簇融合效果不佳、噪声点检测不准确的情况发生,进一步提高噪声点检测结果的准确性。

图4是根据另一示例性实施例示出的一种噪声点检测方法的流程图。如图4所示,在图1所示的方法的基础上,该方法还可以包括以下步骤。

在步骤109中,从边缘数据点中去除噪声点。

在步骤110中,根据归类为每个所述原始簇的剩余数据点,重新计算每个原始簇的簇中心。

在去除了噪声点之后,可能会导致原始簇的簇中心发生变化,因此,需要重新确定每个原始簇的簇中心。重新确定每个原始簇的簇中心的目的在于:由于噪声点的存在,使得原始得到的原始簇的簇中心存在偏移,并不十分准确。因此,当从某个原始簇中消除了噪声点后,根据归类为该原始簇的剩余数据点对原始簇的簇中心进行修正,可以使获得的簇中心更为准确。另外,在基于修正后的簇中心对后续新数据点进行分类时,可以确保该新数据点的分类结果的准确性。需要说明的是,计算簇中心的方法是本领域技术人员公知的,例如,k-means算法中计算中心点的方法,因此,本公开在此不再进行赘述。

图5是根据一示例性实施例示出的一种噪声点检测装置400的结构框图。如图5所示,该装置400可以包括:

原始簇生成模块401,用于利用聚类算法对原始数据点进行聚类,得到n个原始簇,并将每个所述原始簇的簇类型标记为第一簇类型,其中,n为大于或等于2的自然数;

边缘数据点确定模块402,用于针对每个原始簇,从归类为该原始簇的原始数据点中确定出不符合针对该原始簇的数据点有效条件的边缘数据点;

扩展簇生成模块403,用于将所确定出的每个边缘数据点各自作为扩展簇,并将每个所述扩展簇的簇类型标记为第二簇类型;

簇合并模块404,用于重复进行将距离最近的两个簇合并为一个新簇,并对所述新簇标记簇类型的操作,直到满足预设的合并终止条件为止,其中,当被标记为第一簇类型的簇与被标记为第二簇类型的簇合并时,所得新簇的簇类型被标记为第一簇类型;当两个被标记为第二簇类型的簇合并时,所得新簇的簇类型被标记为第二簇类型;当两个被标记为第一簇类型的簇合并时,所得新簇的簇类型被标记为第一簇类型;

噪声点确定模块405,用于在合并终止后,将归类为第二簇类型的簇中的数据点确定为是噪声点。

综上所述,通过上述技术方案,可以首先从初始聚类结果中,确定出可能为潜在噪声点的边缘数据点,之后,将这些边缘数据点每个作为单独的扩展簇,再与初始聚类结果中的原始簇进行簇合并操作,即,实现簇融合,直到满足预设的合并终止条件为止。这样,在簇合并操作结束之后,没有与原始簇融合的簇中的数据点即被确认为是噪声点。通过这一技术方案,不需要预先设定用于噪声点确定的距离阈值,而是直接根据边缘数据点与原始簇的融合结果即可准确判定出噪声点,降低人为因素对噪声点检测的影响,并且算法的复杂度较低,能够提高噪声点检测的准确率及效率。

图6是根据另一示例性实施例示出的一种噪声点检测装置400的结构框图。如图6所示,该装置400还可以包括:

占比确定模块406,用于在所述扩展簇生成模块403将所确定出的每个边缘数据点各自作为扩展簇,并将每个所述扩展簇的簇类型标记为第二簇类型之前,针对每个原始簇,确定该原始簇中的边缘数据点总数占归类为该原始簇的原始数据点总数的占比是否满足预设的占比条件;

数据点有效条件调整模块407,用于当存在不满足所述占比条件的原始簇时,调整针对该原始簇的数据点有效条件,并触发所述边缘数据点确定模块402重新执行所述从归类为该原始簇的原始数据点中确定出不符合针对该原始簇的数据点有效条件的边缘数据点的操作,直到全部原始簇均满足所述占比条件为止。

图7是根据另一示例性实施例示出的一种噪声点检测装置400的结构框图。如图7所示,该装置400还可以包括:

噪声点去除模块408,用于从所述边缘数据点中去除所述噪声点;

簇中心计算模块409,用于根据归类为每个所述原始簇的剩余数据点,重新计算每个所述原始簇的簇中心。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1