本发明属于计算机技术领域,一般地涉及数据挖掘和特征引擎,具体涉及数据样本的特征增强方法和装置及分类器的训练方法和装置。
背景技术:
随着信息技术的高速发展,涌现了大量的文档。数据挖掘技术是为了从文档中获取有用的信息。通常,需要利用性质已知的数据集(称为训练集)来对诸如分类器的数据挖掘工具进行训练。
对数据信息进行分类是进行数据挖掘的有效手段。然而,在对诸如分类器的数据挖掘工具进行训练时,常常会遇到训练集是不均衡的数据集的情况。不均衡的数据集指的是,其中大量的数据样本集中于某个或某些类别,而其他类别的数据样本很少。这种不均衡的数据集使得训练变得困难,或者使训练效果大打折扣,从而导致了经由不均衡的数据集训练的分类器的性能较差。
技术实现要素:
有鉴于此,本发明提出了一种对数据样本进行特征增强的方法和装置,其能够增强不均衡数据集中的少数数据样本的特征,从而使得该不均衡的数据集可用于训练诸如分类器的数据挖掘工具,并取得较好的效果。
根据本发明的一个方面,提供了一种对数据样本进行特征增强的方法,包括:针对预设的多个类中的每一类,计算多个数据样本的基准分布;计算所述多个数据样本在特征空间上的特征分布;以及基于所述基准分布和所述特征分布,对属于该类的少数数据样本中的至少一部分数据样本的特征进行修改以增强特征。
根据本发明的另一方面,提供了一种分类器的训练方法,包括:计算多个训练数据样本的特征;利用上述方法,将预设的多个类中包含少数训练数据样本的类中的至少一部分训练数据样本的特征增强;以及利用已增 强的特征训练分类器。
根据本发明的又一方面,提供了一种对数据样本进行特征增强的装置,包括:基准分布计算单元,针对预设的多个类中的每一类,计算多个数据样本的基准分布;特征分布计算单元,计算所述多个数据样本在特征空间上的特征分布;以及特征增强单元,基于所述基准分布计算单元所计算的基准分布和所述特征分布计算单元所计算的特征分布,对属于该类的少数数据样本中的至少一部分数据样本的特征进行修改以增强特征。
根据本发明所提供的技术方案,可以对数据样本中的一部分数据样本的特征进行修改,以增强特征,从而使得不均衡的数据集也可获得对诸如分类器的数据挖掘工具的较好训练效果。
附图说明
参照附图来阅读本发明的各实施方式,将更容易理解本发明的其它特征和优点,在此描述的附图只是为了对本发明的实施方式进行示意性说明的目的,而非全部可能的实施,并且不旨在限制本发明的范围。在附图中:
图1示出了根据本发明一个实施方式对数据样本进行特征增强的方法的流程图;
图2示出了根据本发明一个实施方式对某类的少数数据样本中的至少一部分数据样本的特征进行修改以增强特征的流程图;
图3示出了根据本发明一个实施方式根据基准分布和特征分布建立调整窗口的流程图;
图4示出了根据本发明一个实施例不均衡的数据集中的数据样本对于具有少数数据样本的一个类的基准分布和相对熵的曲线图;
图5示出了根据本发明另一个实施方式的分类器的训练方法的流程图;
图6示出了根据本发明另一个实施方式对数据样本进行特征增强的装置的框图;
图7示出了根据本发明另一个实施方式的特征增强单元的框图;
图8示出了根据本发明另一个实施方式的调整窗口建立子单元的框图;
图9示出了根据本发明另一个实施方式的分类器的训练装置的框图;以及
图10示出了可用于实施根据本发明实施例的方法和系统的计算机的示意性框图。
具体实施方式
现参照附图对本发明的实施方式进行详细描述。应注意,以下描述仅仅是示例性的,而并不旨在限制本发明。此外,在以下描述中,将采用相同的附图标号表示不同附图中的相同或相似的部件。在以下描述的不同实施方式中的不同特征,可彼此结合,以形成本发明范围内的其他实施方式。
图1示出了根据本发明一个实施方式对数据样本进行特征增强的方法的流程图。如图1所示,该方法100包括步骤S110至S130。对于多个数据样本的分类问题,通常预设有多个类。在步骤S110中,针对预设的多个类中的每一类,计算多个数据样本的基准分布。这样,对每一个类而言,为这些数据样本计算出一个基准分布。在步骤S120中,计算这些数据样本在特征空间上的特征分布。随后,在步骤S130中,根据在上述步骤S110和S120中计算得出的基准分布和特征分布,如果属于某个类的数据样本是少数数据样本,则对其中至少一部分数据样本的特征进行修改以增强特征。也就是说,如果某个类所包含的数据样本较少(即,少数数据样本),则对其中的至少一部分数据样本的特征进行特征增强处理。
对数据样本的特征的增强可以使该数据样本在操作中的作用放大,从而在数据样本是不均衡的数据集的情况下,能够使得那些数据样本较少的类中的数据样本的作用得到充分体现,以改善对诸如分类器的数据挖掘工具的训练效果。
上述“少数数据样本”的具体限定可由本领域技术人员根据实际需要而设定。例如,可预设绝对数量作为阈值,当某个类所包含的数据样本的数量小于该阈值,则认为该类所包含的是少数数据样本。再例如,还可预设相对量(如,占数据样本总量的百分比)作为阈值,当某个类所包含的数据样本的数量占数据样本总量的百分比小于该阈值,则认为该类所包含的是少数数据样本。
图2示出了根据本发明一个实施方式对某类的少数数据样本中的至少一部分数据样本的特征进行修改以增强特征的流程图。如图2所示,上 述步骤S130可包括子步骤S131和S132。在子步骤S131中,根据在上述步骤S110和S120中计算得出的基准分布和特征分布建立调整窗口。随后,在子步骤S132中,对落入所建立的调整窗口中的数据样本的特征进行修改。由此,通过建立调整窗口,在某类的少数数据样本中确定需要进行特征增强的数据样本。
图3示出了根据本发明一个实施方式根据基准分布和特征分布建立调整窗口的流程图。如图3所示,上述子步骤S131可包括子步骤S131a至S131c。在子步骤S131a中,计算在上述步骤S110和S120中计算得出的基准分布和特征分布的相对熵。在子步骤S131b中,利用计算出的相对熵,确定属于某个类的数据样本是否为少数数据样本。如果确定该类所包含的数据样本是少数数据样本,则在子步骤S131c中,依据属于该类的至少一部分少数数据样本建立调整窗口。相对熵可表征特征分布与基准分布之间的差异,可利用相对熵来确定任一类所包含哪些数据样本是少数数据样本。
下面将通过本发明的一个具体实施例来示例性地说明。
假定不均衡的数据集中共有n个数据样本X1、X2、X3……Xn,其中每个数据样本具有m个特征f1、f2、f3……fm,并且预设了k个类C1、C2、C3……Ck。由于该数据集是不均衡的数据集,所以其中一些类具有大量的数据样本,而另一些类仅具有很少的数据样本。在现有技术中,这样的数据集不利于诸如分类器的数据挖掘工具的训练。而根据本发明,可对数据样本数量较少的类中的至少一部分数据样本的特征进行修改,以增强特征。
对于仅具有少数数据样本的某个类Ci,在考虑所有数据样本中的每个是否属于该类Ci时,用ci表示数据样本属于该类,ci表示数据样本不属于该类。那么,ci和的分布即为基准分布,用p(ci)和p表示。对于数据样本的某个特征fj,数据样本的条件概率P(ci|fj)可用q(ci)表示。可利用下式,根据基准分布和条件概率分布(即,特征分布)计算相对熵:
下面用曲线图对相对熵进行详细说明。
图4示出了根据该实施例不均衡的数据集中的数据样本对于具有少数数据样本的一个类的基准分布和相对熵的曲线图。在图4中,x轴表示 数据样本对于具有少数数据样本的一个类的条件概率,y轴表示数据样本的相对熵,即特征分布与该基准分布的差别。如图4所示,基准分布p是一条直线,落在基准分布右侧的数据样本属于该类(即,正相关的数据样本),落在基准分布左侧的数据样本不属于该类(即,负相关的数据样本)。相对熵是一条曲线,所有的数据样本的相对熵均分布于这条曲线上。由于该类仅包含少数数据样本,所以落在基准分布右侧的相对熵曲线上的数据样本较少。可以理解,对于每一个类,由于对于不同的特征,数据样本的基准分布都相同,所以可绘制这样一幅曲线图。而在该曲线图中,对于不同的特征而言,其相对熵曲线也不同。即,图4所示的曲线仅表示数据样本关于一个特定的特征所形成的曲线。
根据本发明,如图4所示,需要增强落在基准分布右侧的相对熵曲线上的至少一部分数据样本的特征。如上所述,对相对熵落入调整窗口中的数据样本的特征进行增强。根据本发明的一个实施方式,调整窗口中包含具有相同的相对熵且数量小于预定的阈值的数据样本。例如,如图4所示,所有数据样本中,处于基准分布右侧的数据样本落在相对熵曲线的三个点A、B、C上,落在点A上的有2个数据样本,落在点B上的有6个数据样本,落在点C上的有4个数据样本。如预定的阈值为3,由于点A上仅有2个数据样本,少于3个,则调整窗口应包含点A。再例如,如预定的阈值为8,由于点A、B、C上的数据样本均少于8个,则调整窗口应包含点A、B、C。也就是说,此时调整窗口中包含属于该类的少数数据样本中的所有数据样本。
根据本发明的另一实施方式,调整窗口是采用优化算法建立的,例如梯度下降算法、退火算法或其他适当的已知算法。
根据本发明的一个实施方式,在上述子步骤S132中,对落入调整窗口中的数据样本的特征所进行的修改可以是调整特征的条件概率或出现频率。如图4所示,点A上的2个数据样本落入了调整窗口中,可对这2个数据样本的特征的条件概率进行修改,以使其增强。即,增大这2个数据样本的特征的条件概率。如此,相当于使这2个数据样本向相对熵曲线的右上方移动。在图4所示的相对熵曲线中,距离x轴越远,表明特征分布与基准分布的差异越大,而差异越大,所提供的信息则越多。因此,将数据样本向相对熵曲线的右上方移动,可增大少数数据样本在操作过程中所提供的信息量,从而有利于分类效果。另一方面,可调整数据样本的特征的出现频率。简单而言,即复制落入调整窗口中的数据样本的特征,使 其个数增加,从而使其携带的信息相对于所有数据样本的特征的信息而言增强。
本领域技术人员可根据实际需要对特征的条件概率或出现频率进行调整。根据本发明的一个实施方式,可利用通过优化算法得到的调整系数来调整特征的条件概率或出现频率。例如,可以采用诸如梯度下降算法、退火算法或其他适当的已知算法来得到上述调整系数。
根据本发明的一个实施方式,在上述步骤S110中,在计算多个数据样本的基准分布时,可利用训练数据样本和/或测试数据样本的已知属性计算基准分布。可以理解,训练数据样本的分类性质是已知的,所以可计算其基准分布。而对于测试数据样本,虽然其分类性质未知,但有些测试数据样本具有已知属性。也可利用测试数据样本的已知属性来计算其基准分布,或将训练数据样本和测试数据样本结合使用,以计算其基准分布。
类似地,根据本发明的一个实施方式,在上述步骤S120中,在计算多个数据样本的特征分布时,可通过训练数据样本和/或测试数据样本的已知属性计算特征分布。
根据本发明所提供的技术方案,可利用不均衡的数据集对诸如分类器的数据挖掘工具进行训练,并提升训练效果。而且,根据本申请所提供的技术方案还有利于少数数据样本所处的类比较重要的情形。例如,对于火灾预测报警系统,其所使用的数据样本可分为提示火灾和不提示火灾两类。显然,提示火灾的数据样本的数量必然比不提示火灾的数据样本少得多,但其所提供的信息又非常重要。因此,采用本发明所提供的技术方案,可增强提示火灾的数据样本的特征,从而改善该系统的性能。
图5示出了根据本发明另一个实施方式的分类器的训练方法的流程图。如图5所示,该方法500包括步骤S510至S530。在步骤S510,计算多个训练数据样本的特征。在步骤S520,将预设的多个类中包含少数训练数据样本的类中的至少一部分训练数据样本的特征增强,其中可采用如上所述的方法100来进行特征增强。随后,在步骤S530,利用已增强的特征训练分类器。
图6示出了根据本发明另一个实施方式对数据样本进行特征增强的装置的框图。如图6所示,该装置600可包括基准分布计算单元610、特征分布计算单元620和特征增强单元630。基准分布计算单元610针对预设的多个类中的每一类,计算多个数据样本的基准分布。特征分布计算单 元620计算多个数据样本在特征空间上的特征分布。特征增强单元630基于基准分布计算单元610所计算的基准分布和特征分布计算单元620所计算的特征分布,对属于该类的少数数据样本中的至少一部分数据样本的特征进行修改以增强特征。
图7示出了根据本发明另一个实施方式的特征增强单元的框图。如图7所示,特征增强单元630可包括调整窗口建立子单元631和修改子单元632。调整窗口建立子单元631可根据基准分布计算单元610所计算的基准分布和特征分布计算单元620所计算的特征分布,建立调整窗口。修改子单元632可对落入调整窗口建立子单元所建立的调整窗口中的数据样本的特征进行修改。
图8示出了根据本发明另一个实施方式的调整窗口建立子单元的框图。如图8所示,调整窗口建立子单元631可包括相对熵计算模块631a、确定模块631b和建立模块631c。相对熵计算模块631a可计算基准分布计算单元610所计算的基准分布和特征分布计算单元620所计算的特征分布的相对熵。确定模块631b可利用相对熵计算模块631a所计算的相对熵,确定属于该类的数据样本是否为少数数据样本。建立模块631c可依据属于该类的至少一部分少数数据样本建立调整窗口。
根据本发明的一个实施方式,调整窗口中可包含具有相同的相对熵且数量小于预定的阈值的数据样本。
根据本发明的一个实施方式,建立模块631c可采用优化算法建立调整窗口。
根据本发明的一个实施方式,修改子单元632可通过调整特征的条件概率或出现频率来修改数据样本的特征。例如,修改子单元632可利用通过优化算法得到的调整系数来调整特征的条件概率或出现频率。
根据本发明的一个实施方式,基准分布计算单元610可利用训练数据样本和/或测试数据样本的已知属性计算基准分布。并且,特征分布计算单元620可通过训练数据样本和/或测试数据样本的已知属性计算特征分布。
图9示出了根据本发明另一个实施方式的分类器的训练装置的框图。如图9所示,该装置900可包括计算单元910、上述装置600和训练单元920。计算单元910可计算多个训练数据样本的特征。训练单元920可利用通过上述装置600增强的特征训练分类器。
另外,这里尚需指出的是,上述系统中各个组成部件可以通过软件、固件、硬件或其组合的方式进行配置。配置可使用的具体手段或方式为本领域技术人员所熟知,在此不再赘述。在通过软件或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机(例如图10所示的通用计算机1000)安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等。
图10示出了可用于实施根据本发明实施例的方法和系统的计算机的示意性框图。
在图10中,中央处理单元(CPU)1001根据只读存储器(ROM)1002中存储的程序或从存储部分1008加载到随机存取存储器(RAM)1003的程序执行各种处理。在RAM 1003中,还根据需要存储当CPU 1001执行各种处理等等时所需的数据。CPU 1001、ROM 1002和RAM 1003经由总线1004彼此连接。输入/输出接口1005也连接到总线1004。
下述部件连接到输入/输出接口1005:输入部分1006(包括键盘、鼠标等等)、输出部分1007(包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等)、存储部分1008(包括硬盘等)、通信部分1009(包括网络接口卡比如LAN卡、调制解调器等)。通信部分1009经由网络比如因特网执行通信处理。根据需要,驱动器1010也可连接到输入/输出接口1005。可拆卸介质1011比如磁盘、光盘、磁光盘、半导体存储器等等可以根据需要被安装在驱动器1010上,使得从中读出的计算机程序根据需要被安装到存储部分1008中。
在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质1011安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图10所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质1011。可拆卸介质1011的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM 1002、存储部分1008中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
本发明还提出一种存储有机器可读取的指令代码的程序产品。所述指令代码由机器读取并执行时,可执行上述根据本发明实施方式的方法。
相应地,用于承载上述存储有机器可读取的指令代码的程序产品的存储介质也包括在本发明的范围内。所述存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。
应当注意,本发明的方法不限于按照说明书中描述的时间顺序来执行,也可以按照其他的次序顺序地、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本发明的技术范围构成限制。
以上对本发明各实施方式的描述是为了更好地理解本发明,其仅仅是示例性的,而非旨在对本发明进行限制。应注意,在以上描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。本领域技术人员可以理解,在不脱离本发明的发明构思的情况下,针对以上所描述的实施方式进行的各种变化和修改,均属于本发明的范围内。
综上,在根据本发明的实施例中,本发明提供了如下技术方案。
方案1、一种对数据样本进行特征增强的方法,包括:
针对预设的多个类中的每一类,计算多个数据样本的基准分布;
计算所述多个数据样本在特征空间上的特征分布;以及
基于所述基准分布和所述特征分布,对属于该类的少数数据样本中的至少一部分数据样本的特征进行修改以增强特征。
方案2、如方案1所述的方法,其中对属于该类的少数数据样本中的至少一部分数据样本的特征进行修改以增强特征包括:
根据所述基准分布和所述特征分布建立调整窗口;以及
对落入所述调整窗口中的数据样本的特征进行修改。
方案3、如方案2所述的方法,其中根据所述基准分布和所述特征分布建立调整窗口包括:
计算所述基准分布和所述特征分布的相对熵;
利用所述相对熵,确定属于该类的数据样本是否为少数数据样本;以及
依据属于该类的至少一部分少数数据样本建立调整窗口。
方案4、如方案3所述的方法,其中所述调整窗口中包含具有相同的 相对熵且数量小于预定的阈值的数据样本。
方案5、如方案3所述的方法,其中所述调整窗口是采用优化算法建立的。
方案6、如方案2至5中任一项所述的方法,其中对落入所述调整窗口中的数据样本的特征进行修改包括:
调整特征的条件概率或出现频率。
方案7、如方案6所述的方法,其中利用通过优化算法得到的调整系数来调整特征的条件概率或出现频率。
方案8、如方案1至7中任一项所述的方法,其中针对预设的多个类中的每一类,计算多个数据样本的基准分布包括:
利用训练数据样本和/或测试数据样本的已知属性计算所述基准分布。
方案9、如方案1至7中任一项所述的方法,其中计算所述多个数据样本在特征空间上的特征分布包括:
通过所述训练数据样本和/或测试数据样本的已知属性计算所述特征分布。
方案10、一种分类器的训练方法,包括:
计算多个训练数据样本的特征;
利用如方案1至9中任一项所述的方法,将预设的多个类中包含少数训练数据样本的类中的至少一部分训练数据样本的特征增强;以及
利用已增强的特征训练分类器。
方案11、一种对数据样本进行特征增强的装置,包括:
基准分布计算单元,针对预设的多个类中的每一类,计算多个数据样本的基准分布;
特征分布计算单元,计算所述多个数据样本在特征空间上的特征分布;以及
特征增强单元,基于所述基准分布计算单元所计算的基准分布和所述特征分布计算单元所计算的特征分布,对属于该类的少数数据样本中的至少一部分数据样本的特征进行修改以增强特征。
方案12、如方案11所述的装置,其中所述特征增强单元包括:
调整窗口建立子单元,根据所述基准分布计算单元所计算的基准分布和所述特征分布计算单元所计算的特征分布,建立调整窗口;以及
修改子单元,对落入所述调整窗口建立子单元所建立的调整窗口中的数据样本的特征进行修改。
方案13、如方案12所述的装置,其中所述调整窗口建立子单元包括:
相对熵计算模块,计算所述基准分布计算单元所计算的基准分布和所述特征分布计算单元所计算的特征分布的相对熵;
确定模块,利用所述相对熵计算模块所计算的相对熵,确定属于该类的数据样本是否为少数数据样本;以及
建立模块,依据属于该类的至少一部分少数数据样本建立调整窗口。
方案14、如方案13所述的装置,其中所述调整窗口中包含具有相同的相对熵且数量小于预定的阈值的数据样本。
方案15、如方案13所述的装置,其中所述建立模块采用优化算法建立所述调整窗口。
方案16、如方案12至15中任一项所述的装置,其中所述修改子单元通过调整特征的条件概率或出现频率来修改数据样本的特征。
方案17、如方案16所述的装置,其中所述修改子单元利用通过优化算法得到的调整系数来调整特征的条件概率或出现频率。
方案18、如方案11至17中任一项所述的装置,其中所述基准分布计算单元利用训练数据样本和/或测试数据样本的已知属性计算所述基准分布。
方案19、如方案11至17中任一项所述的装置,其中所述特征分布计算单元通过所述训练数据样本和/或测试数据样本的已知属性计算所述特征分布。
方案20、一种分类器的训练装置,包括:
计算单元,计算多个训练数据样本的特征;
如方案11至19中任一项所述的装置,用于将预设的多个类中包含少数训练数据样本的类中的至少一部分训练数据样本的特征增强;以及
训练单元,利用已增强的特征训练分类器。