CN1731401A - 数据挖掘中一种基于混合互信息的特征选择方法 - Google Patents

数据挖掘中一种基于混合互信息的特征选择方法 Download PDF

Info

Publication number
CN1731401A
CN1731401A CN 200510092983 CN200510092983A CN1731401A CN 1731401 A CN1731401 A CN 1731401A CN 200510092983 CN200510092983 CN 200510092983 CN 200510092983 A CN200510092983 A CN 200510092983A CN 1731401 A CN1731401 A CN 1731401A
Authority
CN
China
Prior art keywords
attribute
mutual information
data
hmi
sigma
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.)
Granted
Application number
CN 200510092983
Other languages
English (en)
Other versions
CN100354864C (zh
Inventor
孙宏斌
张伯明
吴文传
王皓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CNB2005100929837A priority Critical patent/CN100354864C/zh
Publication of CN1731401A publication Critical patent/CN1731401A/zh
Application granted granted Critical
Publication of CN100354864C publication Critical patent/CN100354864C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种数据挖掘中基于混合互信息的特征选择方法,属于数据处理技术领域,本方法包括:数据表中指定D个属性组成候选属性集合F,设置特征属性集合S为空集;对于F中的任意一个属性fi,计算fi与类别标号属性C的互信息I;从中选择最大化互信息I的属性fi,将其从F中去除,并添加到S中;重复步骤a、b直至符合终止条件:a.对于F中的任意一个属性fi,计算混合互信息HMI;b.选取最大化HMI的属性fi,将其从F中去除,并添加S中;输出选出的特征属性集合S,作为数据挖掘的输入属性。本发明能够更快速、更有效地完成从数据表中选择特征属性的任务,提高数据挖掘的精度和效率。

Description

数据挖掘中一种基于混合互信息的特征选择方法
技术领域
本发明属于数据挖掘(data mining)或知识发现(knowledge discovery indatabase)中的特征选择(feature selection)技术领域。
背景技术
数据挖掘致力在海量的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识。目前已经有不少基于计算机的数据挖掘(或知识发现)系统应用到电力、金融、商业、军事、医药、生命等领域。一个典型的基于计算机的数据挖掘过程由准备数据和预处理、数据挖掘、结果分析与知识应用等步骤组成。在实际应用中,数据表中每一列称为一个属性。特征选择是数据挖掘重要的预处理步骤,从高维属性空间中选取少量主要属性,作为数据挖掘的输入属性,可以有效提高数据挖掘的精度和效率。
特征提取的原理可以描述如下:给定n个样本,每个样本均给出D个描述该样本的观测值(D个属性的值),并给定样本所属的类别(即:类别标号属性C的值),特征选择就是要从给定D个属性中,选出d个有助于确定样本所属类别的特征属性。特征属性的数量d以及d个特征属性的构成方式直接影响数据挖掘的效果。从特征属性的数量上来讲,属性过少,将会丢失大量的有用信息,势必不能得到精确的结果。属性过多,一方面导致输入数据量过多,降低数据挖掘速度,另一方面由于引入弱相关或者不相关属性,会向数据挖掘过程引入过多的噪声,降低挖掘知识的泛化能力。在特征属性个数d已经确定的情况下,这d个属性的构成对数据挖掘的结果也有至关重要的影响,当这d个属性能够最大程度地提供样本所属类别的信息时,这组属性才是最优的。
特征属性的数量d以及d个特征属性如何构成是特征选择的核心问题。特征选择已有大量的方法,其中基于信息论的特征选择方法是一类重要的方法,已经在数据挖掘中得到了大量应用,这类方法将数据表的每个属性看作一个随机变量,并用信息论中相关理论指导特征选择。下面简要介绍信息论中相关内容:
根据香农的信息理论,熵(entropy)是随机变量不确定性的度量。如果一个离散随机变量X,其可能取值集合记为Sx,对应于X的任意可能取值x∈Sx,其出现概率为p(x),则X的熵定义为:
H ( X ) = - Σ x ∈ s x p ( x ) log p ( x ) - - - ( 1 )
当变量Y已知,变量X中剩余的不确定性用条件熵(conditional entropy)来度量:
H ( X | Y ) = - Σ x ∈ S x Σ y ∈ S y p ( x , y ) log p ( x | y ) - - - ( 2 )
两个随机变量X和Y的统计依存关系用互信息(mutual information)来度量:
I ( X ; Y ) = Σ x ∈ S x Σ y ∈ S y p ( x , y ) log p ( x , y ) p ( x ) p ( y ) - - - ( 3 )
如果两个随机变量的互信息较大,则这两个随机变量相关性较大。互信息和熵有如下关系:
                  I(X;Y)=H(X)-H(X|Y)
                         =H(X)+H(Y)-H(XY)                 (4)
多个随机变量的联合互信息是二维互信息的推广,现以X与YZ的互信息来说明,更高维的情况与此类似:
I ( X ; YZ ) = Σ x ∈ S x Σ y ∈ S y Σ z ∈ S z p ( x , y , z ) log p ( x , y , z ) p ( x ) p ( y , z ) - - - ( 5 )
在Z已知的条件下,X和Y的统计依存度可以用条件互信息来表示:
I ( X ; Y | Z ) = Σ x ∈ S x Σ y ∈ S y Σ z ∈ S z p ( x , y , z ) log p ( x , y | z ) p ( x | z ) p ( y | z ) - - - ( 6 )
条件互信息与熵、互信息有如下关系:
                I(X;Y|Z)=I(X;YZ)-I(X;Z)
                         =H(XZ)+H(YZ)-H(Z)-H(XYZ)         (7)
对于连续随机变量,微分熵、互信息、条件互信息分别定义如下:
h ( X ) = - ∫ x p ( x ) log p ( x ) dx - - - ( 8 )
I ( X ; Y ) = ∫ ∫ x , y p ( x , y ) log p ( x , y ) p ( x ) p ( y ) dxdy - - - ( 9 )
I ( X ; Y | Z ) ∫ ∫ ∫ x , y , z p ( x , y , z ) log p ( x , y | Z ) p ( x | z ) p ( y | z ) dzdydz - - - ( 10 )
其中p(x),p(y),p(x,y)以及p(x,y,z)为概率密度函数。
对于连续随机变量,其概率密度函数通常难以获得,另外积分运算也很困难,导致连续随机变量的互信息难以计算。目前主要有两类方法来解决这个问题:一、将连续随机变量离散化(分段),然后用离散随机变量的公式进行计算;二、估计出概率密度函数(例如:用Parzen窗的方法),并将积分转化为代数和进行计算。
已有的基于互信息的特征选择方法在实际应用中仍有一定局限性:有的方法未考虑己选属性间的相关性,在属性之间相关性较强时,难以获得满意的效果;有的方法虽然考虑了任意两个属性之间的相关性,但是没有考虑多个属性之间的相关性,因而无法保证所选属性组合在一起效果最优。新近提出的PWFS(基于Parzen窗的属性选取方法)是考虑多个属性之间互信息的“理想贪婪”特征选择法(ideal greedyalgorithm),其具体实现步骤如下:
1.从数据表中人工指定D个属性{f1,f2,…,fD)组成候选属性集合F,设置特征属性集合S为空集;
2.对于候选属性集合F中的任意一个属性fi,计算fi与类别标号属性C的互信息I(C;fi);
3.从步骤2的计算结果中选择最大化互信息I(C;fi)的属性fi(即fi是所有候选属性中与C的互信息最大的),将其从候选属性集合F中去除,并添加到特征属性集合S中;
4.重复a.b直至特征属性集合S中的属性个数达到预先设定值d
a)对于候选属性集合F中的任意一个属性fi,计算联合互信息I(C;fi,S);
b)选取最大化I(C;fi,S)的属性fi,将其从候选属性集合F中去除,并添加到特征属性集合S中;
5.特征选择完毕,输出选出的特征属性集合S,作为数据挖掘的输入属性。
上述方法实现了从D个候选属性中选择d个特征属性,组成特征属性集合S输出。步骤2及步骤4中涉及到互信息的计算,考虑到连续随机变量互信息计算的困难,PWFS法用Parzen窗估计概率密度函数,并将积分转化为代数和从而实现互信息的计算。具体方法简介如下:步骤2中的I(C;fi)和步骤4中的I(C;fi,S)可统一为计算类别标号属性C和一个随机矢量X(对于I(C;fi),X为一维矢量;对于I(C;fi,S)且S为k维,则X为k+l维矢量)的互信息,如式(11)所示。其中,H(C)的计算是十分简便的,只要统计类别标号属性C的每个可能取值c的出现次数nc,用nc/n作为p(c)的估计值,便可以用式(12)算出(其中N为类别标号属性C的不同值个数)。H(C|X)的计算需要确定随机矢量X的概率密度函数p(x),以及X已知条件下C的概率密度函数p(c|x),并按式(13)进行积分运算。p(x)可用1/n来估计,p(c|x)可用高斯型Parzen窗估计,化简后的计算式如(14)所示(上标^表示估计),其中:i为样本编号,Ic为属于类别c的样本编号集合,h为窗宽可取1/logn,∑为随机矢量x-xi的协方差矩阵。最终H(C|X)的估计值可以用式(15)得到。如欲进一步了解具体实现方法请参阅文献(基于Parzen窗的互信息输入特征选择方法,Nojun Kwak,Chong-Ho Choi.Input feature selection by mutual information based on Parzen window.IEEETransactions on Pattern Analysis and Machine Intelligence,Vol.24,No.12,DECEMBER 2002)。
            I(C;X)=H(C)-H(C|X)                      (11)
H ( C ) = - Σ c = 1 N p ( c ) log p ( c ) - - - ( 12 )
H ( C | X ) = - ∫ x p ( x ) Σ c = 1 N p ( c | x ) log p ( c | x ) dx - - - ( 13 )
p ^ ( c | x ) = Σ i ∈ I c exp ( - ( x - x i ) T Σ - 1 ( x - x i ) 2 h 2 ) Σ k = 1 N Σ i ∈ I k exp ( - ( x - x i ) T Σ - 1 ( x - x i ) 2 h 2 ) - - - ( 14 )
H ^ ( C | X ) = - Σ j = 1 n 1 n Σ c = 1 N p ^ ( c | x j ) log p ^ ( c | x j ) - - - ( 15 )
PWFS法逐次选取能够提供最多新信息量的属性,但是到了筛选后期,容易引入弱相关属性,同时由于连续随机变量的互信息需要估计连续随机变量的概率密度函数并进行积分运算,虽然适当简化后可以将积分运算用代数和代替,然而计算量仍较大,时间复杂度为O(D*n2)(其中D为维数,n为样本数),处理海量数据能力不足。虽然可以采用对原始数据“聚类→采样”的方法减少计算量,但这是以牺牲计算精度为代价的。
如果将连续属性离散化,然后用离散随机变量(每个属性看作一个随机变量)的公式计算互信息,则按传统计算方法能够较有效地计算两个属性之间的互信息,但计算高维离散互信息时会遇到突出的困难:记类别标号属性C不同的值个数为Kc(有Kc个类别),第j个属性有Pj个不同的值,则按传统方法,在计算k个属性与分类标号属性C的互信息I(C;fi,S)的时候需要占用Kc×∏j=1 kPj个内存单元。这说明内存需要量是随着属性个数按指数方式增长的,即使在属性个数较少时,仍将需要巨大的内存空间来辅助计算。例如:Kc=3,k=10,Pj=10时,计算I(C;fi,S)将需要使用3×1010个内存单元。内存需求量随着维数按指数增长,这导致了传统方法难以对高维离散互信息进行计算,成为应用高维离散互信息的一个重大障碍。
发明内容
本发明为了克服已有的特征选取方法的不足之处,提出一种基于混合互信息(HMI,Hybrid Mutual Information)的特征选择方法,该方法同时考虑了候选属性与类别标号属性的相关性以及候选属性所能够提供的新信息量。本发明能够更快速、更有效地完成从数据表中选择特征属性的任务,提高数据挖掘的精度和效率。
本发明提出的基于混合互信息的特征选择方法的步骤如下:
1.从数据表中人工指定D个属性{f1,f2,…,fD}组成候选属性集合F,设置特征属性集合S为空集
2.对于候选属性集合F中的任意一个属性fi,计算fi与类别标号属性C的互信息I(C;fi)
3.从步骤2的计算结果中选择最大化互信息I(C;fi)的属性fi,将其从候选属性集合F中去除,并添加到特征属性集合S中
4.重复a.b直至符合终止条件
c.对于候选属性集合F中的任意一个属性fi,计算混合互信息HMI(C;fi|S)
d.选取最大化HMI(C;fi|S)的属性fi,将其从候选属性集合F中去除,并添加到特征属性集合S中
5.特征选择完毕,输出选出的特征属性集合S,作为数据挖掘的输入属性
步骤4中的混合互信息(HMI,Hybrid Mutual Information)是本发明提出的一种度量属性的指标,它兼顾了候选属性f与C的相关性以及f所能提供的关于C的新信息量,计算公式如下:
          HMI(C;f|S)=(1-W)*I(C;f)+W*I(C;f|S)          (16)
式(16)中W∈[0,1],为混合系数。特别地,如果W=0,则混合互信息退化为互信息;如果W=1,则混合互信息退化为条件互信息。
式(16)中的互信息I(C;f),度量了属性f与分类目标属性C的相关程度,采用离散型的计算方法,其计算公式参见式(17),其中y为属性f的某一特定取值。
I ( C ; f ) = Σ c ∈ S c Σ y ∈ S f p ( c , y ) log p ( c , y ) p ( c ) p ( y ) - - - ( 17 )
式(16)中的条件互信息I(C;f|S)度量了已经向特征属性集合S中选取了一些属性的条件下,候选属性f所能提供的关于C的新信息量,采用离散型的计算方法,其计算公式参见式(18),其中s为特征属性集合S的某一特定取值矢量。
I ( C ; f | S ) = Σ c ∈ S c Σ y ∈ S f Σ s ∈ S s p ( c , y , s ) log p ( c , y | s ) p ( c | s ) p ( y | s ) - - - ( 18 )
本发明采用的方法与已有方法的显著区别:在步骤4中,本发明采用混合互信息代替已有方法中的联合互信息作为度量属性的指标。
发明原理
HMI是本发明定义的一种属性度量指标,它综合衡量了候选属性与类别标号属性的相关性以及候选属性所能提供的新信息量。下面结合图1对混合互信息法中涉及到的概念和原理进行物理意义上的说明。设候选属性集合F={f1,f2,f3},图中的方框面积表示正确预测类别标号属性C所需要的信息量,图中各圆的面积表示各候选属性所含的信息量,各图形间的重合部分面积表示各属性间的互信息量。
互信息表示两个属性之间的相关程度。I(C;f1)、I(C;f2)、I(C;f3)分别表示f1,f2,f3与C的相关程度,用与C重合部分面积(即图中的f1∩C、f2∩C和f3∩C的面积,其中:∩表示两个集合的交,∪表示两个集合的并,\表示两个集合的差)表示。从图中可以看出
                 I(C;f1)>I(C;f3)>I(C;f2)               (19)
如果按照候选属性与类别标号属性之间的相关性为标准,则在选取第一个属性f1后,便会选取f3,这种依次选取与类别标号属性互信息最大的属性的特征选择方法即为传统的信息增益法。信息增益法不考虑所选属性之间的相关性,因此信息增益法不能有效取得分类所需信息,例如:图1中f1和f3联合在一起所能提供的关于C的信息量((f1∪f3)∩C部分面积),并没有f1和f2联合在一起所能提供的关于C的信息量((f1∪f2)∩C部分面积)多。
条件互信息表示候选属性所能够提供的关于C的新信息量。I(C;f2|f1)和I(C;f3|f1)分别表示选取f1后,f2和f3所能提供的关于C的新信息量,分别用图中(f2∩C)\f1部分面积和(f3∩C)\f1部分面积来表示,由图可以看出
                I(C;f2|f1)>I(C;f3|f1)                 (20)
如果按照候选属性能够提供的关于C的新信息量为标准,则在选取f1之后,会选取f2,这种依次选取具有最大条件互信息的属性的特征选择方法本发明称之为条件互信息法。理想贪婪方法是选取最大化I(C;fi,S)的属性fi,由于在S确定后I(C;S)是定值,所以由式(21)可知最大化I(C;fi,S)等价于最大化I(C;fi|S),因此条件互信息法与PWFS采用的“理想贪婪”法是等价的。
                    maxI(C;fi,S)
               =max{I(C;S)+I(C;fi|S)}                 (21)
               =I(C;S)+maxI(C;fi|S)
按条件互信息法选取f2仍有不足,因为f2与C的相关性较f3与C的相关性弱,如果采用弱相关的属性f2进行分类的话,f2与C的不相关部分(图中f2\C部分面积)作为噪声,会对分类结果造成不良影响。
特征选择过程中,如果分别采用互信息和条件互信息为标准,则很可能得到相互矛盾的结果。互信息强调相关性,可能忽视新信息量;条件互信息强调新信息量,可能忽视相关性。
为了同时考虑相关性和新信息量,本发明提出了混合互信息的属性度量准则。依次选取具有最大混合互信息的属性的特征选择方法即为混合互信息法。混合互信息法可以使得算法前期选择的属性能够提供较多的新信息量,同时相关性也较强;后期所选的属性有较强的相关性,并兼顾所能提供的新信息量。
技术特点及效果
本发明的特征选择方法是一种基于混合互信息(HMI,Hybrid Mutual Information)的特征选择方法,是在已有基于互信息方法基础上的一种改进。本方法的创新点主要是提出了HMI这一属性度量准则,HMI能够同时考虑属性的相关性及属性能够提供的新信息量。采用本方法从数据表大量候选属性中选出少量特征属性作为数据挖掘的输入属性,不但可提高数据挖掘的速度,还可提高数据挖掘的精度。
附图说明
图1为本发明采用的混合互信息法中的基本原理示意图。
图2为本发明的基于混合互信息的特征选择方法的实现步骤框图。
图3为本发明方法中的K维矢量X1X2…Xk的熵计算步骤框图。
具体实施方式
本发明提出的数据挖掘中一种基于混合互信息的特征选择方法结合附图及实施例详细说明如下:
本发明的方法如图2所示。包括以下步骤:
1.从数据表中人工指定D个属性{f1,f2,…,fD}组成候选属性集合F,设置特征属性集合S为空集(F所有的D个候选属性,S Φ)
在数据挖掘应用中,数据表一般由研究领域的海量数据构成,通常含有大量属性。特征属性选择第一步应由领域专家依据经验人工从大量属性中选择D个较为重要的属性组成候选属性集合F。由于特征属性选择尚未进行,故特征属性集合S应为空集。候选属性集合F以及特征属性集合S的实施例可以用链表方式存储。
2.对于候选属性集合F中的任意一个属性fi,计算fi与类别标号属性C的互信息I(C;fi).(fi F,计算I(C;fi))
这一步骤,对任一属于候选属性集合F的属性fi,计算其与类别标号属性C之间的互信息,并将这一结果用一个D维数组保存。I(C;fi)可用式(22)表示,其计算可采用步骤4中本发明提出的“高维离散随机变量互信息”的计算方法。
             I(C;fi)=H(C)+H(fi)-H(Cfi)             (22)
3.从步骤2的计算结果中选择最大化互信息I(C;fi)的属性fi,将其从候选属性集合F中去除,并添加到特征属性集合S中
在选取第一个属性时,因为在步骤2中已经计算出所有属性与类别标号属性C的互信息,所以这一步只需选取具有最大I(C;fi)的属性fi,并把fi从候选属性集合F中去掉,填入特征属性集合S中。实施例中,这对应着将fi从链表F中移除,并将其插入链表S中。
4.重复a.b直至符合终止条件
这一部分是算法的核心,是一个循环过程,循环直至终止条件满足为止。终止条件可以是属性数目达到期望值或者所选属性集合S与类别标号属性C的互信息达到设定值。每一次循环均选取一个属性,在每一轮循环过程中,都需要计算候选属性与类别标号属性之间的混合互信息,选取具有最大混合互信息的属性fi,并把fi从候选属性集合F中去掉,填入特征属性集合S中。这一部分可分为:a.计算HMI和b.选取属性两个子步骤。
a.对于候选属性集合F中的任意一个属性fi,计算混合互信息HMI(C;fi|S).(fi F,计算HMI(C;S|fi))
对于所有在候选属性集合F中的属性fi,计算HMI(C;fi|S)。如式(23)所示,
          HMI(C;f|S)=(1-W)*I(C;f)+W*I(C;f|S)          (23)
HMI(C;fi|S)是I(C;fi)与I(C;fi|S)以W为权重的线性组合,因此需要确定I(C;fi)、I(C;fi|S)以及W的值。
I(C;fi)和I(C;fi|S)的计算是十分重要的环节。可采用连续型的算法,但计算时间复杂度为O(D*n2),时间复杂度较高;也可采用传统的离散型算法,其空间复杂度为O(Kc×∏j=1 kPj)(Kc为类别标号属性C不同值个数,Pj为第j个属性不同值个数),空间复杂度较高。
本发明提出了一种计算高维离散随机变量熵的算法,该算法不需额外内存,计算时间复杂度为O(nlogn),适合处理海量高维数据。熵H的总体计算步骤,如图3所示,包括:
1)离散:将原始数据表的连续属性离散化(分段),形成离散形式的数据表;
2)编码:对离散属性的数据表中的数据编码;
3)排序:对编码后的数据排序,形成有序编码表;
4)遍历:遍历有序编码表,用离散随机变量的公式计算出熵H
按上面的步骤计算出熵H(C)、H(fi)、H(Cfi)、H(CS)、H(fiS)和H(CfiS)后,按式(24)、(25)便可以得到互信息I(C;fi)和条件互信息I(C;fi|S)。
          I(C;fi)=H(C)+H(fi)-H(Cfi)                  (24)
       I(C;fi|S)=H(CS)+H(fiS)-H(C)-H(CfiS)           (25)
下面首先说明本发明提出的高维离散随机变量熵的计算方法。以计算K维矢量Xi1Xi2…XiK(其中i1,i2,…iK∈{1,2,…,D})的熵H(Xi1Xi2…XiK)为例。K维矢量Xi1Xi2…XiK在某一特定取值xi1xi2…xiK的概率p(xi1xi2…xiK),可以用ni1i2…iK/n估计,其中ni1i2…iK为样本空间中对应于xi1xi2…xiK的样本数,n为样本总数。通过推导,可得到K维熵计算的简化公式(26),只要逐个确定K维矢量所有可能取值对应的样本数ni1i2…iK,则可以很简便地计算K维熵H(Xi1Xi2…XiK)。
H ( X i 1 X i 2 . . . X i K ) = - Σ x i 1 x i 2 x i K p ( x i 1 x i 2 x i K ) log p ( x i 1 x i 2 x i K ) = - Σ n i 1 i 2 . . . i K n i 1 i 2 . . . i K n log n i 1 i 2 . . . i K n = - log n - 1 n Σ n i 1 i 2 . . . i K n i 1 i 2 . . . i K log n i 1 i 2 . . . i K - - - ( 26 )
由此可以得到K维矢量X1X2…Xk的熵计算程序,如图3所示。下面分步骤说明:
1)离散化
离散化可以选用已有的离散化计算方法,如:等宽法、等概率法、Chi2法、CAMI法等。如果采用等宽法/等概率法,则该步骤的计算复杂度为O(n*D),其中n为样本数目,D(Dimension)为数据的维数。
2)编码
数据离散之后,编码步骤只需将属于不同区间的数据用区间标号代替即可,计算复杂度为O(n*D*P),P(Partition)为离散的分段数。
3)排序
为了计算K维矢量的熵,需要对数据编码表按Xi1Xi2…XiK排序。排序中需要比较两个样本按Xi1Xi2…XiK比较的大小,这可以用表1的程序实现,如果Sample1按Xi1Xi2…XiK大于Sample2,则输出true,否则输出false。排序可以采用经典的排序算法(例如:堆排序、快速排序法等),计算复杂度为O(D*n*log(n))。
表1两个样本大小比较程序。如果按Xi1Xi2…XiK比较,Sample1大于Sample2,则输出true;否则,输出false
bool Large(Sample1(X1X2…XD),Sample2(X1X2…XD)){bool bLarge=false;for i=i1,i2,…,ik{if(Sample1.X1>Sample2.X1){bLarge=true;break;}}return bLarge;}
4)遍历
排序之后,具有相同Xi1Xi2…XiK取值的样本便聚集在一起了,于是一次对数据编码表的遍历就可以得到对应于Xi1Xi2…XiK不同取值的样本数ni1i2…iK。最后,利用式(26)便可以得到H(Xi1Xi2…XiK)。
下面以3维熵为例说明高维熵的计算步骤:首先进行离散化,其次进行元组编码,然后按X1X2X3对编码表进行排序,再然后从上至下遍历数据统计每种可能取值的样本量ni,最后用式(26)计算熵。
在求得熵之后,条件熵、互信息、条件互信息等即可通过熵直接求出,分别如式(27)、式(28)以及式(29)所示:
H(X1X2…XK|Y1Y2…YJ)=H(X1X2…XKY1Y2…YJ)-H(Y1Y2…YJ)      (27)
I(X1X2…XK;Y1Y2…YJ)
=H(X1X2…XK)+H(Y1Y2…YJ)-H(X1X2…XKY1Y2…YJ)                  (28)
I(X1X2…XK;Y1Y2…YJ|Z1Z2…ZL)
=H(X1X2…XKY1Y2…YJ)+H(Y1Y2…YJZ1Z2…ZL)                      (29)
-H(X1X2…XKY1Y2…YJZ1Z2…ZL)
-H(Z1Z2…ZL)
在上面的计算中,不同的计算顺序,计算量会有差异。当用式(27)计算条件熵时,应先按Y1Y2…YJX1X2…XK排序,计算出H(X1X2…XKY1Y2…YJ);由于按Y1Y2…YJX1X2…XK排序的结果自然满足按Y1Y2…YJ的要求,故在计算H(Y1Y2…YJ)时,不必重新排序,直接计算即可。用类似的方法也可以对互信息和条件互信息的计算进行进一步的简化,避免不必要的排序计算。
另外,当重复运算时,只需生成一次编码表,以后的所有操作只需对编码表排序、计算便可以了,不必每次都离散化和编码。
HMI(C;fi|S)是I(C;fi)与I(C;fi|S)以W为权重的线性组合,因此需要确定I(C;fi)、I(C;fi|S)以及W的值。
I(C;fi)已经在步骤2中计算出,不必重复计算。
I(C;fi|S)可以按照上面给出的方法计算。计算后用数组保存。
混合系数W的确定
应用HMI法时,必需确定混合系数。混合系数确定原则如下:在算法初期(选取的特征属性较少时),考虑属性之间的相关性多一些,也就是条件互信息占主导地位,使得前期所选的属性能够提供较多的分类信息;而在算法后期(已经选取较多的特征属性时),考虑属性与类别标号属性的相关性多一些,也就是互信息占主导地位,使得筛选出的属性与C有较强的相关性,避免引入噪声。为了达到这样一个目的,取混合系数W为随着己选的特征属性个数递减的函数,式(30)和(31)表示的函数即可满足要求。其中:i为已筛选出的特征属性个数,n为候选属性个数。
W ( i ) = exp ( - i n ) - - - ( 30 )
W ( i ) = 1 - i n - - - ( 31 )
通过研究可以发现,如果将W取一个较大的常数值(例如:W介于0.8和0.95之间)也可以满足上述要求。这是因为:在特征选择前期,条件互信息数值上与互信息相差不大(例如:对于第1个候选属性,二者是一致的),所以选取较大的W便可以使得条件互信息占较大的比例,起主导作用;在属性选取后期,由于后期所选属性的条件互信息只是对少量样本所提供的新信息量,故后期所选属性的条件互信息很小,甚至跟互信息数值上相差一两个数量级,这时虽然条件互信息所占比例较大,但是由于条件互信息数值很小,所以起主导作用的是互信息。为简便起见,W的一种实施例可采用定常的W。
在计算出I(C;fi)、I(C;fi|S)并确定了W的值之后,便可以按照式(16)计算HMI(C;fi|S),计算后保存于一数组中。
b.选取最大化HMI(C;fi|S)的属性fi,将其从候选属性集合F中去除,并添加到特征属性集合S中(对于最大化HMI(C;S|fi)的属性fi F,设置F F\{fi},S S∪{fi})
在对于所有在候选属性集合F中的属性计算出混合互信息后,选取HMI(C;fi|S)最大的属性fi,将其从候选属性集合F中删除,并添加到特征属性集合S中。
5.特征选择完毕,输出选出的特征属性集合S,作为数据挖掘的输入属性
将特征属性集合输出,完成属性选取过程。选出的特征属性作为后续数据挖掘的输入属性,可以提高数据挖掘的精度及速度。

Claims (3)

1、一种数据挖掘中基于混合互信息的特征选择方法,其特征在于,包括以下步骤:
1)数据表中指定D个属性{f1,f2,…,fD}组成候选属性集合F,设置特征属性集合S为空集;
2)对于候选属性集合F中的任意一个属性fi,计算fi与类别标号属性C的互信息I(C;fi);
3)从步骤2)的计算结果中选择最大化互信息I(C;fi)的属性fi,将其从候选属性集合F中去除,并添加到特征属性集合S中;
4)重复步骤a、b直至符合终止条件
a.对于候选属性集合F中的任意一个属性fi,计算混合互信息HMI(C;fi|S);
b.选取最大化HMI(C;fi|S)的属性fi,将其从候选属性集合F中去除,并添加到特征属性集合S中;
5)特征选择完毕,输出选出的特征属性集合S,作为数据挖掘的输入属性。
所述步骤4)中的混合互信息计算公式如下:
HMI(C;f|S)=(1-W)*I(C;f)+W*I(C;f|S)
式中W∈[0,1],为混合系数;
式中的互信息I(C;f)的计算公式为:
I ( C ; f ) = Σ c ∈ S c Σ y ∈ S f p ( c , y ) log p ( c , y ) p ( c ) p ( y )
式中的条件互信息I(C;f|S)的计算公式为:
( C ; f | S ) = Σ c ∈ S c Σ y ∈ S f Σ s ∈ S 5 p ( c , y , s ) log p ( c , y | s ) p ( c | s ) p ( y | s )
2、如权利要求1所述的特征选择方法,其特征在于,所述混合互信息HMI(C;fi|S)具体计算方法通过高维离散随机变量熵的计算得出:先计算熵H,由熵得到互信息I(C;fi)和条件互信息I(C;fi|S);所述高维离散随机变量熵H的总体计算步骤,包括:
1)离散:将原始数据表的连续属性离散化,形成离散形式的数据表;
2)编码:对离散属性的数据表中的数据编码;
3)排序:对编码后的数据排序,形成有序编码表;
4)遍历:遍历有序编码表,用离散随机变量的公式计算出熵H:
按上面的步骤计算出熵H(C)、H(fi)、H(Cfi)、H(CS)、H(fiS)和H(CfiS)后,得到互信息I(C;fi)和条件互信息I(C;fi|S):
I(C;fi)=H(C)+H(fi)-H(Cfi)
I(C;fi|S)=H(CS)+H(fiS)-H(C)-H(CfiS)
3、如权利要求1所述的特征选择方法,其特征在于,所述混合互信息HMI(C;fi|S)中的混合系数W的取值范围为0.8和0.95之间。
CNB2005100929837A 2005-08-26 2005-08-26 数据挖掘中一种基于混合互信息的特征选择方法 Active CN100354864C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100929837A CN100354864C (zh) 2005-08-26 2005-08-26 数据挖掘中一种基于混合互信息的特征选择方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100929837A CN100354864C (zh) 2005-08-26 2005-08-26 数据挖掘中一种基于混合互信息的特征选择方法

Publications (2)

Publication Number Publication Date
CN1731401A true CN1731401A (zh) 2006-02-08
CN100354864C CN100354864C (zh) 2007-12-12

Family

ID=35963750

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100929837A Active CN100354864C (zh) 2005-08-26 2005-08-26 数据挖掘中一种基于混合互信息的特征选择方法

Country Status (1)

Country Link
CN (1) CN100354864C (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216858B (zh) * 2008-01-14 2011-12-07 浙江大学 分割式相似度传播数据聚类方法
CN102880834A (zh) * 2012-09-03 2013-01-16 西安交通大学 一种保持数据数字特征的隐私信息保护方法
CN103294959A (zh) * 2013-05-29 2013-09-11 南京信息工程大学 一种抗统计分析的文本信息隐藏方法
CN104317861A (zh) * 2014-10-15 2015-01-28 同济大学 一种基于互信息的区间数据的属性选择方法
CN104657473A (zh) * 2015-02-13 2015-05-27 南京邮电大学 一种保证质量单调性的大规模数据挖掘方法
CN105868991A (zh) * 2015-01-22 2016-08-17 阿里巴巴集团控股有限公司 识别机器辅助作弊的方法和装置
CN107609584A (zh) * 2017-09-06 2018-01-19 长沙学院 一种基于特征选择的皮肤检测混合颜色空间的选取方法
CN107958055A (zh) * 2017-11-29 2018-04-24 上海电机学院 一种基于互信息的图像属性关系的表示方法
CN110942149A (zh) * 2019-10-31 2020-03-31 河海大学 一种基于信息变化率和条件互信息的特征变量选择方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3896868B2 (ja) * 2002-02-27 2007-03-22 日本電気株式会社 パターンの特徴選択方法及び分類方法及び判定方法及びプログラム並びに装置
US7043476B2 (en) * 2002-10-11 2006-05-09 International Business Machines Corporation Method and apparatus for data mining to discover associations and covariances associated with data
CN1556501A (zh) * 2004-01-08 2004-12-22 上海交通大学 图像配准方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216858B (zh) * 2008-01-14 2011-12-07 浙江大学 分割式相似度传播数据聚类方法
CN102880834B (zh) * 2012-09-03 2014-12-10 西安交通大学 一种保持数据数字特征的隐私信息保护方法
CN102880834A (zh) * 2012-09-03 2013-01-16 西安交通大学 一种保持数据数字特征的隐私信息保护方法
CN103294959B (zh) * 2013-05-29 2015-11-25 南京信息工程大学 一种抗统计分析的文本信息隐藏方法
CN103294959A (zh) * 2013-05-29 2013-09-11 南京信息工程大学 一种抗统计分析的文本信息隐藏方法
CN104317861A (zh) * 2014-10-15 2015-01-28 同济大学 一种基于互信息的区间数据的属性选择方法
CN105868991A (zh) * 2015-01-22 2016-08-17 阿里巴巴集团控股有限公司 识别机器辅助作弊的方法和装置
CN105868991B (zh) * 2015-01-22 2020-09-04 阿里巴巴集团控股有限公司 识别机器辅助作弊的方法和装置
CN104657473A (zh) * 2015-02-13 2015-05-27 南京邮电大学 一种保证质量单调性的大规模数据挖掘方法
CN104657473B (zh) * 2015-02-13 2019-01-25 南京邮电大学 一种保证质量单调性的大规模数据挖掘方法
CN107609584A (zh) * 2017-09-06 2018-01-19 长沙学院 一种基于特征选择的皮肤检测混合颜色空间的选取方法
CN107609584B (zh) * 2017-09-06 2020-04-14 长沙学院 一种基于特征选择的皮肤检测混合颜色空间的选取方法
CN107958055A (zh) * 2017-11-29 2018-04-24 上海电机学院 一种基于互信息的图像属性关系的表示方法
CN110942149A (zh) * 2019-10-31 2020-03-31 河海大学 一种基于信息变化率和条件互信息的特征变量选择方法
CN110942149B (zh) * 2019-10-31 2020-09-22 河海大学 一种基于信息变化率及条件互信息的特征变量选择方法

Also Published As

Publication number Publication date
CN100354864C (zh) 2007-12-12

Similar Documents

Publication Publication Date Title
CN1731401A (zh) 数据挖掘中一种基于混合互信息的特征选择方法
Han et al. Model rubik’s cube: Twisting resolution, depth and width for tinynets
CN1096038C (zh) 基于贝叶斯网络的用于文件检索的方法和设备
CN1577392A (zh) 测量视觉相似性的设备和方法
CN101079033A (zh) 一种综合搜索结果的排序系统及方法
CN1435781A (zh) 一种基于信息挖掘的智能决策支持构造方法
CN1916889A (zh) 语料库制作装置及其方法
Herath et al. CoMet: a workflow using contig coverage and composition for binning a metagenomic sample with high precision
CN1499403A (zh) 计算机辅助分析专利数据方法及其系统
CN1763740A (zh) 网页信息块提取方法和装置
CN1851693A (zh) 一种对系统资源进行管理的实现方法
CN1334942A (zh) 规律性析取的系统方法
CN1435780A (zh) 一种Web挖掘系统的构造方法
CN101030230A (zh) 一种图像检索方法及系统
CN103064841A (zh) 检索装置和检索方法
Gong et al. Automatic mapping of the best-suited DNN pruning schemes for real-time mobile acceleration
CN1949223A (zh) 一种联机分析处理系统中多维数据读写的方法和装置
CN1878123A (zh) 一种位图聚合的递推流分类方法及其系统
CN1147051C (zh) 防错方法和防错装置
Kaoungku et al. Data classification based on feature selection with association rule mining
Sampson et al. Widened KRIMP: better performance through diverse parallelism
CN107133281B (zh) 一种基于分组的全局多查询优化方法
Li et al. DA-RefineNet: dual-inputs attention refinenet for whole slide image segmentation
CN114169542A (zh) 用于不完整数据分类的集成学习树构建方法
CN1825307A (zh) 基于sql负载挖掘的物理数据库自动设计方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant