首页 / 专利库 / 工业自动化和数控机床 / 重复精度 / 数据挖掘中一种基于混合互信息的特征选择方法

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

阅读:933发布:2023-02-05

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

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之间。

说明书全文

技术领域

发明属于数据挖掘(data mining)或知识发现(knowledge discovery in database)中的特征选择(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 greedy algorithm),其具体实现步骤如下:
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.IEEE Transactions 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,作为数据挖掘的输入属性
将特征属性集合输出,完成属性选取过程。选出的特征属性作为后续数据挖掘的 输入属性,可以提高数据挖掘的精度及速度。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈