训练样本获取方法和装置与流程

文档序号:14594628发布日期:2018-06-05 04:01阅读:448来源:国知局

本发明涉及机器学习领域,尤其涉及一种训练样本获取方法和装置。



背景技术:

在机器学习领域,当样本数目较多时,通常采用随机采样的方式,从样本中随机选择样本作为训练样本。

由于是随机选择训练样本,因此这种获取训练样本的方法,容易忽略有价值的样本信息,从而影响建模的准确性,使建模后的模型不具有代表性。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种训练样本获取方法,通过循环从每个目标类簇中逐个选取训练样本,过滤相邻的目标类簇之间的相似样本,选取具有代表性的样本,以实现提高建模后的模型的准确性,提高模型的代表性。

本发明的第二个目的在于提出一种训练样本获取装置。

本发明的第三个目的在于提出一种计算机设备。

本发明的第四个目的在于提出一种非临时性计算机可读存储介质。

本发明的第五个目的在于提出一种计算机程序产品。

为达上述目的,本发明第一方面实施例提出了一种训练样本获取方法,包括:

对隶属于同一类别的样本进行聚类处理,得到所述类别的至少一个目标类簇;

按照所述目标类簇的顺序,循环从每个目标类簇中逐个选取训练样本;其中,在每次循环选取训练样本的过程中,从相邻的所述目标类簇中选取非相似样本作为训练样本;

利用选取出的所述训练样本,构成所述类别的训练样本集。

作为本发明第一方面实施例一种可能的实现方式,所述按照所述目标类簇的顺序,循环从每个目标类簇中逐个选取训练样本,包括:

为所有目标类簇设置样本选取的顺序;

按序形成选取样本的路径;其中,从第一个目标类簇到最后一个目标类簇构成所述路径;

按照所述路径循环地从所述目标类簇中逐个选取训练样本。

作为本发明第一方面实施例一种可能的实现方式,所述从相邻的所述目标类簇中选取非相似样本的两个样本作为训练样本,包括:

识别从当前所述目标类簇中选取的样本与从前一个所述目标类簇选取出的样本是否为相似样本;

如果非所述相似样本,则将从当前所述目标类簇中选取出的所述样本作为训练样本;

如果为所述相似样本,则将从当前所述目标类簇中重新选取一个所述样本,直到选取出的所述样本与前一个所述目标类簇选取出的样本非相似样本。

作为本发明第一方面实施例一种可能的实现方式,所述识别从当前所述目标类簇中选取的样本与从前一个所述目标类簇选取出的样本是否为相似样本,包括:

获取当前所述目标类簇和前一个所述目标类簇的类簇中心点;

根据两个所述类簇中心点,获取当前所述目标类簇和前一个所述目标类簇之间的第一欧式距离;

从当前所述目标类簇中选取一个所述样本,计算所述样本与从前一个所述目标类簇选取出的样本之间的第二欧式距离;

将所述第一欧式距离与所述第二欧式距离比较;

如果所述第二欧式距离大于所述第一欧式距离,则将两个所述样本识别为非相似样本;

如果所述第二欧式距离小于或者等于所述第一欧式距离,则将两个所述样本识别为相似样本。

作为本发明第一方面实施例一种可能的实现方式,所述获取当前目标类簇的类簇中心点,包括:

获取当前所述目标类簇中所述样本的每个特征的平均值;

利用每个特征的所述平均值,形成当前所述目标类簇的所述类簇中心点。

作为本发明第一方面实施例一种可能的实现方式,所述将所述第一欧式距离与所述第二欧式距离比较之前,还包括:

从第三个所述目标类簇开始,获取当前所述目标类簇的前两个所述目标类簇之间的第三欧式距离;

根据所述第二欧式距离和所述第三欧式距离,生成用于对所述第一欧式距离进行调整的调整因子;其中,所述第二欧式距离为从前两个所述目标类簇中选取的非相似样本之间的欧式距离;

利用所述调整因子调整所述第一欧式距离。

作为本发明第一方面实施例一种可能的实现方式,所述根据所述第二欧式距离和所述第三欧式距离,生成用于对所述第一欧式距离进行调整的调整因子,包括:

获取所述第三欧式距离与所述第二欧式距离之间的差值;

获取所述差值与所述第三欧式距离之间的比值;

将所述比值与基础值相加,得到所述调整因子。

作为本发明第一方面实施例一种可能的实现方式,所述按照所述目标类簇的顺序,循环从每个目标类簇中逐个选取训练样本之前还包括:

筛除每个目标类簇中的噪声样本。

作为本发明第一方面实施例一种可能的实现方式,筛除每个目标类簇中的噪声样本,包括:

获取所述目标类簇中任意两个样本之间的协方差;

根据所有的所述协方差,确定所述目标类簇的第一平均协方差;

根据所述样本与所述目标类簇中每个样本之间的所述协方差,获取所述样本的第二平均协方差;

针对每个样本,将所述样本的所述第二平均协方差与所述第一平均协方差比较,如果所述样本的所述第二平均协方差小于所述第一平均协方差,则确定所述样本为噪声样本;

从所述目标类簇中筛除确定为噪声样本的所述样本。

作为本发明第一方面实施例一种可能的实现方式,所述筛除每个目标类簇中的噪声样本包括:

识别所述目标类簇的类簇类型;

当所述目标类簇的类簇类型为第一类型时,则筛除所述目标类簇中的噪声样本;

当所述目标类簇的类簇类型为第二类型时,则不对所述目标类簇进行噪声样本的筛除;

其中,所述第一类型对应的类簇的内聚度低于所述第二类型对应的类簇的内聚度。

作为本发明第一方面实施例一种可能的实现方式,所述识别所述目标类簇的类簇类型,包括:

获取所述目标类簇中的所述样本与所述目标类簇的类簇中心点之间的第四欧式距离;

根据每个样本的所述第四欧式距离,得到所述目标类簇的第一平均欧式距离;

针对每个目标类簇,根据所述第一平均欧氏距离与预设的置信区间,确定所述目标类簇的类簇类型。

作为本发明第一方面实施例一种可能的实现方式,所述根据所述第一平均欧氏距离与预设的置信区间,确定所述目标类簇的类簇类型,包括:

如果所述第一平均欧氏距离大于置信区间上限,则确定所述目标类簇的类簇类型为所述第一类型;

如果所述第一平均欧氏距离小于或等于置信区间上限,则确定所述目标类簇的类簇类型为所述第二类型。

本发明实施例的训练样本获取方法,通过循环从每个目标类簇中逐个选取训练样本,过滤掉相邻的目标类簇之间的相似样本,选取具有代表性的样本,从而提高了建模后的模型的准确性,提高了模型的代表性,解决了通过随机方式选择样本,容易丢失有价值的样本信息,导致建模后的模型准确性低的问题。

为达上述目的,本发明第二方面实施例提出了一种训练样本获取装置,包括:

聚类模块,用于对隶属于同一类别的样本进行聚类处理,得到所述类别的至少一个目标类簇;

选取模块,用于按照所述目标类簇的顺序,循环从每个目标类簇中逐个选取训练样本;其中,在每次循环选取训练样本的过程中,从相邻的所述目标类簇中选取非相似样本作为训练样本;

构成模块,用于利用选取出的所述训练样本,构成所述类别的训练样本集。

本发明实施例的训练样本获取装置,通过循环从每个目标类簇中逐个选取训练样本,过滤掉相邻的目标类簇之间的相似样本,选取具有代表性的样本,从而提高了建模后的模型的准确性,提高了模型的代表性,解决了相关技术中通过随机方式选择样本,容易丢失有价值的样本信息,导致建模后的模型准确性低的问题。

为达上述目的,本发明第三方面实施例提出了一种计算机设备,包括处理器和存储器;

其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上述本发明第一方面实施例所述的训练样本获取方法。

为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述本发明第一方面实施例所述的训练样本获取方法。

为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,实现如上述本发明第一方面实施例所述的训练样本获取方法。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例提供的一种训练样本获取方法的流程示意图;

图2为本发明实施例提供的另一种训练样本获取方法的流程示意图

图3为本发明实施例提供的一种筛除目标类簇中的噪声样本的方法的流程示意图;

图4为本发明实施例提供的一种确定从当前目标类簇中选取的样本与从前一个目标类簇选取出的样本是否为相似样本的方法的流程示意图;

图5为本发明实施例提供的内聚度不同的两种类簇的示意图;

图6为本发明实施例提供的另一种筛除目标类簇中的噪声样本的方法的流程示意图;

图7为相邻的两个类簇中样本之间的欧式距离大部分小于两个类簇的类簇中心点之间的距离的示意图。

图8为本发明实施例提供的另一种确定从当前目标类簇中选取的样本与从前一个目标类簇选取出的样本是否为相似样本的方法的流程示意图;

图9为本发明实施例提供的一种训练样本获取装置的结构示意图;

图10为适于用来实现本申请实施方式的示例性计算机设备的框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的训练样本获取方法和装置。

在机器学习领域,相关技术中通常采用随机采样的方式,从样本中随机选择样本作为训练样本。但是,由于是随机选择训练样本,因此这种获取训练样本的方法,容易忽略有价值的样本信息,从而影响建模的准确性,使建模后的模型不具有普适性与代表性。

针对这一问题,本发明实施例提出一种训练样本获取方法,通过循环从每个目标类簇中逐个选取训练样本,过滤相邻的目标类簇之间的相似样本,选取具有代表性的样本,以实现提高建模后的模型的准确性,提高模型的普适性和代表性。

图1为本发明实施例提供的一种训练样本获取方法的流程示意图。

如图1所示,该训练样本获取方法包括:

步骤101,对隶属于同一类别的样本进行聚类处理,得到类别的至少一个目标类簇。

在机器学习领域,二分类学习为常见的机器学习算法。在进行机器学习之前,获取每个类别的训练样本是至关重要的环节。

本实施例中,对隶属于同一类别的样本进行聚类处理,得到类别的至少一个目标类簇。作为一个示例,可采用K-means方法对隶属于同一类别的样本进行聚类。其中,K-means算法是一种典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个样本的距离越近,其相似度就越大。

具体而言,可将从所有样本中随机选择K个样本作为中心点,然后对剩余的每个样本计算其到每个中心点的距离,并把样本归到最近的中心点的类。之后,再重新计算已经得到的各个类的中心点,并进行迭代直至新的中心点与原中心点相等或者小于预设的阈值,得到K个目标类簇。

本实施例中,对属于同一类别的样本进行聚类,以对样本进行初步划分形成目标类簇。

步骤102,按照目标类簇的顺序,循环从每个目标类簇中逐个选取训练样本;其中,在每次循环选取训练样本的过程中,从相邻的目标类簇中选取非相似样本作为训练样本。

假设目标类簇数目为M,那么可以对M个目标类簇进行排序,如顺序为k1、k2、…….、kM-1、kM。在对目标类簇排序之后,可按照目标类簇的顺序循环从每个目标类簇中逐个选取训练样本。在每次循环选取训练样本的过程中,从当前目标类簇中选择一个与从前一个目标类簇中选取的样本非相似的样本,作为训练样本。

具体而言,先从k1中选取一个样本作为训练样本,接着从k2中选取一个与从k1中选取的训练样本非相似的样本作为训练样本,接着从k3中选取一个与从k2中选取的训练样本非相似的样本作为训练样本,按照目标类簇的顺序最后从kM中选取一个与从kM-1中选取的训练样本非相似的样本作为训练样本。循环一次后,再从k1、k2…….、kM-1、kM中逐个选取训练样本,直到所有相邻的目标类簇中,不存在与前一个目标类簇中选取的样本非相似的样本为止,或者该类别的训练样本数目达到预设数量为止。

需要说明的是,如当前目标类簇中的每个样本均与从前一个目标类簇中选取的样本相似,那么从当前目标类簇中选择与选取的样本距离最远的样本作为从当前目标类簇中选取的样本。这里的距离可以为欧式距离。

本实施例中,通过在每次循环选取训练样本的过程中,从相邻的目标类簇中选取非相似样本作为训练样本,可以过滤相邻的目标类簇之间的相似样本,选取具有代表性的样本,从而可以提高建模后的模型的代表性。

步骤103,利用选取出的训练样本,构成类别的训练样本集。

在选取训练样本后,将该类的所有训练样本加入到一个集合中,构成类别的训练样本集。进一步地,可利用上述获取训练样本的方法获取其他类别的训练样本集,进而根据获取的每个类别的训练样本集,进行模型训练得到相应的模型。

二分类方法可以作为本发明实施例的应用场景,由于二分类不同类别的训练样本数目有较大的差别,即存在类别不平衡情况,会影响建模后模型的准确性。本实施例中,通过过滤目标类簇之间的相似的样本,可以得到具有代表性的训练样本,保证了样本均衡,从而根据该方法获取的训练样本进行模型训练,可以提高模型的准确性、普适性和代表性。

由于聚类得到的目标类簇中,可能会存在噪声样本,其中,噪声样本可以理解为目标类簇中样本信息价值较低的样本。本发明实施例提出了另一种训练样本获取方法。

如图2所示,该训练样本获取方法还可包括步骤104:

筛除每个目标类簇中的噪声样本。

即在步骤102按照目标类簇的顺序,循环从每个目标类簇中逐个选取训练样本之前,可筛除每个目标类簇中的噪声样本。

本实施例中,针对每个目标类簇,筛除目标类簇中的噪声样本,选取有价值的样本,提高了样本的可用性。

对于步骤104,本发明实施例提出一种筛除目标类簇中的噪声样本的方法。如图3所示,该筛除目标类簇中的噪声样本的方法包括:

步骤301,获取目标类簇中任意两个样本之间的协方差。

本实施例中,将协方差作为两个样本相关性的度量,利用协方差过滤各个目标类簇中的噪声样本。可以理解的是,协方差的绝对值越大说明两个样本相关性越大,协方差的绝对值越小说明两个样本相关性越小。

针对每个目标类簇,获取目标类簇中任意两个样本之间的协方差。具体地,获取任意两个样本的平均值,其中,样本的平均值为每个特征取值相加后取平均得到的;并获取其中一个样本的每个特征的取值与样本的平均值之间的差值,获取另一个样本中每个特征的取值与样本的平均值之间的差值。然后,根据其中一个样本的差值与另一个样本的差值,获取协方差。如公式(1)所示。

其中,x,y表两个样本,xi代表样本x的第i个特征的取值,代表样本x的平均值,yi代表样本y的第i个特征的取值,代表样本y的平均值,特征的个数为n,Cov(x,y)代表x和y的协方差值。

步骤302,根据所有的协方差,确定目标类簇的第一平均协方差。

针对每个目标类簇,根据目标类簇中所有两两样本之间的协方差,可以得到目标类簇的第一平均协方差矩阵。具体地,可将目标类簇中所有非重复样本间的第一协方差相加得到和值,将和值除以协方差的个数,可以得到目标类簇的第一平均协方差。

步骤303,根据样本与目标类簇中每个样本之间的协方差,获取样本的第二平均协方差。

本实施例中,可将样本与目标类簇中每个样本之间的协方差相加,然后将得到的和值与样本个数做比值,得到样本的第二平均协方差。

为了提高计算量,可将所有样本与目标类簇中每个样本之间的协方差组成协方差矩阵,公式(2)所示。

其中,C为目标类簇的协方差矩阵,Cov(X1,X1)表示样本X1与自身之间的协方差,Cov(X1,X2)样本X1与样本X2之间的协方差。可以理解的是,第一行元素为样本X1与目标类簇中每个样本之间的协方差,因此将第一行元素相加后得到和值,将和值除以样本的个数得到样本X1的第二平均协方差,根据第二行元素可得到样本X2的第二平均协方差。

步骤304,针对每个样本,将样本的第二平均协方差与第一平均协方差比较,如果样本的第二平均协方差小于第一平均协方差,则确定样本为噪声样本。

本实施例中,可利用样本的第二平均协方差与目标类簇的第一平均协方差,确定样本是否为噪声。具体而言,针对每个样本,将样本的第二平均协方差与第一平均协方差比较,如果样本的第二平均协方差小于目标类簇的第一平均协方差,说明样本与目标类簇中每个样本之间相关度低,可将其确定为噪声样本。

步骤305,从目标类簇中筛除确定为噪声样本的样本。

在确定样本为噪声样本后,可从目标类簇中筛除该噪声样本,据此可以将目标类簇中所有的噪声样本筛除,这样目标类簇中剩余的样本为相关度较高的样本,避免了丢失价值信息高的样本,提高了样本的可用性。

在得到目标类簇之后,为所有目标类簇设置样本选取顺序,以按序形成选取训练样本的路径,其中,从第一目标类簇到最后一个目标类簇构成选取训练样本的路径,并按照路径循环地从目标类簇中逐个选取训练样本。

例如,目标类簇的个数为M个,为所有目标类簇设置样本选取顺序为k1、k2…….、kM-1、kM,那么k1、k2…….、kM-1、kM为选取样本的路径,按照k1、k2…….、kM-1、kM选取样本的路径,循环地从所有目标类簇中逐个选取训练样本。

为了避免选取相邻目标类簇之间相似性高的样本,本实施例中,将欧式距离作为相关性度量,根据欧式距离确定样本是否为非相似样本。可以理解的是,欧氏距离越大说明相似性越小,欧氏距离越小说明相似性越大。

在循环选取训练样本的过程中,识别从当前目标类簇中选取的样本与从前一个目标类簇选取出的样本是否为相似样本。如果非相似样本,则将从当前目标类簇中选取出的样本作为训练样本;如果为相似样本,则将从当前目标类簇中重新选取一个样本,直到选取出的样本与前一个目标类簇选取出的样本非相似样本。

例如,从前一个目标类簇中选择的样本为X1,从当前目标类簇中选择一个样本Y1,如果样本Y1与样本X1为相似样本,那么重新从当前目标类簇中选择一个样本,继续判断选取的是否与样本X1为非相似样本。

作为一种可能的实现方式,可根据两个样本之间的欧式距离与两个目标类簇的类簇中心点之间的欧式距离,确定两个样本是否为相似样本。图4为本发明实施例提供的一种确定从当前目标类簇中选取的样本与从前一个目标类簇选取出的样本是否为相似样本的方法的流程示意图。

如图4所示,该方法包括:

步骤401,获取当前目标类簇和前一个目标类簇的类簇中心点。

本实施例中,可获取当前目标类簇中样本的每个特征的平均值,利用每个特征的平均值,形成当前目标类簇的类簇中心点,如某人身体参数为样本,其中人的身高和体重为样本的特征。

本实施例中,针对每个特征,将该目标类簇中所有样本该特征的取值进行加和然后求平均,得到该特征的平均值。

步骤402,根据两个类簇中心点,获取当前目标类簇和前一个目标类簇之间的第一欧式距离。

在获取当前目标类簇和前一个目标类簇的类簇中心点之后,根据两个类簇中心点,计算当前目标类簇和前一个目标类簇之间的第一欧式距离。假设,前一个目标类簇k1的类簇中心点为当前目标类簇k2的类簇中心点为其中,m为样本特征的个数,为目标类簇k1中所有样本第m个特征的平均值,为目标类簇k2中所有样本第m个特征的平均值。那么,两个类簇中心点之间的欧式距离,如公式(3)所示。

其中,H12是当前目标类簇与前一个目标类簇之间的第一欧式距离,m表示样本特征的个数,gm、hm分别表示前一个目标类簇k1的类簇中心点和当前目标类簇k2的类簇中心点为在第m个特征的取值。

步骤403,从当前目标类簇中选取一个样本,计算样本与前一个目标类簇选取出的样本之间的第二欧式距离。

假设,前一个目标类簇中选取的样本为X1,当前目标类簇中选取一个样本Y1,可根据公式(4),计算样本Y1与从前一个目标类簇选取的样本为X1之间的第二欧式距离。

其中,为样本Y1与样本X1之间的第二欧式距离,m为样本特征的个数,xm表示样本X1第m个特征的值,ym表示样本Y1第m个特征的值。

步骤404,将第一欧式距离与第二欧式距离比较,如果第二欧式距离大于第一欧式距离,则将两个样本识别为非相似样本。

本实施例中,如果两个样本之间的第二欧式距离大于两个类簇中心点之间的第一欧式距离,说明两个样本相关度低,为非相似样本。如果第二欧式距离小于第一欧式距离,说明两个样本相关度高,为相似样本。

例如,当前目标类簇k2与前一个目标类簇k1之间的第一欧式距离为H12,当前目标类簇k2选取样本Y1,前一个目标类簇k1中选取的样本为X1,两个样本Y1与X1之间的第二欧式距离为那么比较与H12之间大小。若大于两个类簇中心点之间的距离H12,可以确定两个样本Y1与X1为非相似样本;否则,可以确定两个样本Y1与X1为相似样本。

在利用图4所示的方法确定当前目标类簇中选取的样本与前一个目标类簇中选取样本为非相似样本时,选取相邻的目标类簇中的样本为训练样本,从而可以过滤相邻的目标类簇之间的相似样本,提高训练样本的代表性。

本发明实施例的训练样本获取方法,通过利用协方差过滤各个目标类簇中的噪声样本,提高了样本的可用性,通过利用欧式距离过滤相邻的目标类簇之间的相似样本,提高了训练样本的代表性,从而利用该方法获取的训练样本对模型进行训练,可以提高建模后模型的准确性、普适性和代表性。

在筛除目标类簇中的噪声样本时,目标类簇的内聚度可能存在如图5所示的高内聚度或者低内聚度的情况,若目标类簇的内聚度较高,利用上述方法筛除噪声样本时,可能会筛除部分样本,丢失有价值的样本信息,影响建模的准确性。

对于步骤104,本发明实施例还提供了筛除目标类簇中的噪声样本的优化方法,下面结合图6进行解释说明。图6为本发明实施例提供的另一种筛除目标类簇中的噪声样本的方法的流程示意图。

如图6所示,该方法包括:

步骤601,识别目标类簇的类簇类型。

本实施例中,在筛除目标类簇中的噪声样本之前,先识别目标类簇的类簇类型。作为本实施例的一种可能的实现,可根据欧式距离确定目标类簇的类簇类型。其中,类簇类型包括第一类型、第二类型等。其中,第一类型对应的类簇的内聚度低于第二类型对应的类簇的内聚度。

具体地,可根据上述计算样本之间的第二欧式距离的公式,获取目标类簇中的样本与目标类簇的类簇中心点之间的第四欧式距离。

然后,可将每个样本的第四欧式距离相加得到和值,将和值除以样本个数,可以得到目标类簇的第一平均欧式距离,再将每个目标类簇的第一平均欧式距离相加得到和值,将和值除以所有目标类簇的个数,得到所有目标类簇的第二平均欧式距离。

针对每个目标类簇,根据目标类簇的第一平均欧氏距离与预设的置信区间,确定目标类簇的类簇类型。具体而言,将第一平均欧式距离与置信区间上限进行比较,如果目标类簇的第一平均欧氏距离大于置信区间上限,说明目标类簇的内聚度低,则确定目标类簇的类簇类型为第一类型;如果目标类簇的第一平均欧氏距离小于或等于置信区间上限,说明目标类簇的内聚度较高,则确定目标类簇的类簇类型为第二类型。

步骤602,当目标类簇的类簇类型为第一类型时,则筛除目标类簇中的噪声样本。

当目标类簇的类簇类型为第一类型时,说明目标类簇的内聚度低,存在相关度低的样本,因此可以筛除目标类簇中的噪声样本。具体筛除噪声样本的方法,可参见上述实施例中相关内容的记载。

步骤603,当目标类簇的类簇类型为第二类型时,则不对目标类簇进行噪声样本的筛除。

本实施例中,当目标类簇的类簇类型为第二类型时,说明目标类簇对应的类簇的内聚度较高,可以不对目标类簇进行噪声样本的筛除,以免丢失有价值信息的样本。

通过上述筛除目标类簇中噪声样本的方法,可以优化目标类簇中不相关样本的过滤,进一步保留有价值的样本信息,进一步提高了样本的可用性。

另外,在过滤目标类簇之间的相似样本时,目标类簇内的样本分布可能会存在如图7所示的情况,相邻的两个目标类簇中的样本之间的第二欧式距离大部分小于两个目标类簇的类簇中心点之间的第一欧式距离。如果将第二欧式距离小于或者等于第一欧式距离的两个样本,确定为相似样本,会出现能够被选取的样本数量极少的情况。对此,本发明实施例还提出对过滤相邻的目标类簇之间的相似样本进行优化的方法。

下面结合图8进行解释说明。图8为本发明实施例提供的另一种确定从当前目标类簇中选取的样本与从前一个目标类簇选取出的样本是否为相似样本的方法的流程示意图。

如图8所示,在图4的基础上,该方法包括:

步骤801,获取当前目标类簇和前一个目标类簇的类簇中心点。

步骤802,根据两个类簇中心点,获取当前目标类簇和前一个目标类簇之间的第一欧式距离。

步骤803,从当前目标类簇中选取一个样本,计算样本与前一个目标类簇选取出的样本之间的第二欧式距离。

步骤801-步骤803的具体过程,与图4中所示的步骤401-步骤403类似,故在此不再赘述。

步骤804,从第三个目标类簇开始,获取当前目标类簇的前两个目标类簇之间的第三欧式距离。

可以理解的是,当当前目标类簇为第二个目标类簇时,可利用图3中所示的方法,确定当前目标类簇中选取的样本与从第一个目标类簇中选取的样本是否为相似样本。

本实施例中,从第三个目标类簇开始,获取当前目标类簇的前两个目标类簇之间的第三欧式距离,具体地,可根据前两个目标类簇的类簇中心点,计算前两个目标类簇之间的第三欧式距离。

例如,如果当前目标类簇为第三个目标类簇,可根据第一个目标类簇的类簇中心点与第二个目标类簇的类簇中心点,计算两个目标类簇之间的第三欧式距离。又如,若当前目标类簇为第四个目标类簇,则前两个目标类簇为第二个目标类簇和第三个目标类簇,可根据第二个目标类簇的类簇中心点和第三个目标类簇的类簇中心点,计算第二个目标类簇与第三个目标类簇之间的第三欧式距离。

步骤805,根据第二欧式距离和第三欧式距离,生成用于对第一欧式距离进行调整的调整因子。

作为本实施例一种可能的实现方式,首先获取第三欧式距离与第二欧式距离之间的差值,然后获取差值与第三欧式距离之间的比值,再将比值与基础值相加,得到调整因子。需要说明的是,此处的第二欧式距离为从前两个所述目标类簇中选取的非相似样本之间的欧式距离。

以当前目标类簇为第三个目标类簇为例,则前两个目标类簇为第一个目标类簇和第二个目标类簇,计算公式如公式(5)所示。

其中,u为调整因子,1为基本项,H12为第一个目标类簇k1与第二个目标类簇k2之间的第三欧式距离,为样本X1和样本Y1之间的第二欧式距离,其中,样本X1为从第一个目标类簇k1中选取的样本,样本Y1是从第二个目标类簇k2中选取的与样本X1为非相似样本的样本。

步骤806,利用调整因子调整第一欧式距离。

本实施例中,可将调整因子与当前目标类簇与前一个目标类簇之间的第一欧式距离相乘,以对当前目标类簇与前一个目标类簇之间的第一欧式距离进行调整。在公式(5)的基础上,可得到调整后的第一欧式距离。

其中,HT23为调整后的第一欧式距离,H23为第二个目标类簇k2与第三个目标类簇k3之间的第三欧式距离。

步骤807,将第一欧式距离与第二欧式距离比较,如果第二欧式距离大于调整后的第一欧式距离,则将两个样本识别为非相似样本。

以当前目标类簇为第三个目标类簇为例,调整因子调整后的第一欧式距离为HT23,当从第三个目标类簇k3中选取样本Z1后,可将样本Z1与第二个目标类簇k2中选取的样本Y1之间的第二欧式距离与HT23进行比较。如果第二欧式距离大于调整后的第一欧式距离HT23,则将两个样本Z1与Y1识别为非相似样本;如果第二欧式距离小于或者等于HT12,则将两个样本Z1与Y1识别为相似样本。

本发明实施例中,从第三个目标类簇开始,根据当前目标类簇的前两个目标类簇之间的第三欧式距离和从前两个目标类簇中选取的非相似样本之间的第二欧式距离,生成对当前目标类簇与前一个目标类簇之间的第一欧式距离的调整因子,使过滤相似样本的第一欧式距离是同比例放缩的,动态的保证调整因子的变化,避免直接根据第一欧式距离对相似样本进行过滤,可能会过滤掉大部分样本,能够被选取的样本数量极少的情况,从而保证了样本选择的平衡性,提高了建模后的模型的准确性。

进一步地,在获取训练样本的过程中,可同时利用上述提出的筛除目标类簇中的噪声样本的优化方法,和过滤相邻的目标类簇之间的相似样本的优化方法,从而可以进一步提高建模后的模型的准确性、普适性和代表性。

本发明实施例的训练样本获取方法,通过循环从每个目标类簇中逐个选取训练样本,过滤掉相邻的目标类簇之间的相似样本,选取具有代表性的样本,从而提高了建模后的模型的准确性,提高了模型的代表性,解决了通过随机方式选择样本,容易丢失有价值的样本信息,导致建模后的模型准确性低的问题。

为了实现上述实施例,本发明还提出一种训练样本获取装置。

如图9所示,该训练样本获取装置包括:聚类模块910、选取模块920、构成模块930。

其中,聚类模块910,用于对隶属于同一类别的样本进行聚类处理,得到所述类别的至少一个目标类簇。

选取模块920,用于按照目标类簇的顺序,循环从每个目标类簇中逐个选取训练样本;其中,在每次循环选取训练样本的过程中,从相邻的目标类簇中选取非相似样本作为训练样本。

构成模块930,用于利用选取出的训练样本,构成类别的训练样本集。

在本发明的一个实施例中,选取模块920还用于:

为所有目标类簇设置样本选取的顺序;

按序形成选取样本的路径;其中,从第一个目标类簇到最后一个目标类簇构成路径;

按照路径循环地从目标类簇中逐个选取训练样本。

在本发明的一个实施例中,选取模块920还用于:

识别从当前目标类簇中选取的样本与从前一个目标类簇选取出的样本是否为相似样本;

如果非相似样本,则将从当前目标类簇中选取出的样本作为训练样本;

如果为相似样本,则将从当前目标类簇中重新选取一个样本,直到选取出的样本与前一目标类簇选取出的样本非相似样本。

在本发明的一个实施例中,选取模块920可包括:

第一获取单元,用于获取当前目标类簇和前一个目标类簇的类簇中心点;

第二获取单元,用于第一根据两个类簇中心点,获取当前目标类簇和前一个目标类簇之间的第一欧式距离;

计算单元,用于从当前目标类簇中选取一个样本,计算样本与前一个目标类簇选取出的样本之间的第二欧式距离;

比较单元,用于将第一欧式距离与第二欧式距离比较;如果第二欧式距离大于第一欧式距离,则将两个样本识别为非相似样本;如果第二欧式距离小于或者等于第一欧式距离,则将两个样本识别为相似样本。

在本发明的一个实施例中,第一获取单元还用于:

获取当前目标类簇中样本的每个特征的平均值;

利用每个特征的平均值,形成当前目标类簇的类簇中心点。

在本发明的一个实施例中,选取模块920还可包括:

第三获取单元,用于在将第一欧式距离与第二欧式距离比较之前,从第三个目标类簇开始,获取当前目标类簇的前两个目标类簇之间的第三欧式距离;

生成单元,用于根据第二欧式距离和第三欧式距离,生成用于对第一欧式距离进行调整的调整因子;

调整单元,用于利用调整因子调整第一欧式距离。

在本发明的一个实施例中,生成单元还用于:

获取第三欧式距离与第二欧式距离之间的差值;

获取差值与第三欧式距离之间的比值;

将比值与基础值相加,得到调整因子。

在本发明的一个实施例中,该装置还包括:

筛除模块,用于筛除每个目标类簇中的噪声样本。

在本发明的一个实施例中,筛除模块还用于:

获取目标类簇中任意两个样本之间的协方差;

根据所有的协方差,确定目标类簇的第一平均协方差;

根据样本与目标类簇中每个样本之间的协方差,获取样本的第二平均协方差;

针对每个样本,将样本的第二平均协方差与第一平均协方差比较,如果样本的第二平均协方差小于第一平均协方差,则确定样本为噪声样本;

从目标类簇中筛除确定为噪声样本的样本。

在本发明的一个实施例中,筛除模块可包括:

识别单元,用于识别目标类簇的类簇类型;

确定单元,用于当目标类簇的类簇类型为第一类型时,则筛除每个目标类簇中的噪声样本;当目标类簇的类簇类型为第二类型时,则不对目标类簇进行噪声样本的筛除;

其中,第一类型对应的类簇的内聚度低于第二类型对应的类簇的内聚度。

在本发明的一个实施例中,识别单元还用于:

获取目标类簇中的所述样本与目标类簇的类簇中心点之间的第四三欧式距离;

根据每个样本的第四三欧式距离,得到目标类簇的第一平均欧式距离;

针对每个目标类簇,根据目标类簇的第一平均欧式距离与预设的置信区间,确定目标类簇的类簇类型。

在本发明的一个实施例中,识别单元还用于:

如果目标类簇的第一平均欧式距离大于所述置信区间上限,则确定目标类簇的类簇类型为第一类型;

如果目标类簇的第一平均欧式距离小于或者等于所述置信区间上限,则确定目标类簇的类簇类型为第二类型。

需要说明的是,前述对训练样本获取方法实施例的解释说明,也适用于该实施例的训练样本获取装置,在此不再赘述。

本发明实施例的训练样本获取装置,通过循环从每个目标类簇中逐个选取训练样本,过滤掉相邻的目标类簇之间的相似样本,选取具有代表性的样本,从而提高了建模后的模型的准确性,提高了模型的代表性,解决了相关技术中通过随机方式选择样本,容易丢失有价值的样本信息,导致建模后的模型准确性低的问题。

为了实现上述实施例,本发明还提出了一种计算机设备,包括处理器和存储器;

其中,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现如上述任一实施例所述的训练样本获取方法。

图10示出了适于用来实现本申请实施方式的示例性计算机设备的框图。图10显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图10所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry Standard Architecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association;以下简称:VESA)局域总线以及外围组件互连(Peripheral Component Interconnection;以下简称:PCI)总线。

计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read Only Memory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read Only Memory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。

计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的训练样本获取方法。

为了实现上述实施例,本发明还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任一实施例所述的训练样本获取方法。

为了实现上述实施例,本发明还提出了一种计算机程序产品,当计算机程序产品中的指令由处理器执行时,实现如上述任一实施例所述的训练样本获取方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,\"计算机可读介质\"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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