一种基于人工神经网络的特征选择方法

文档序号:6555112阅读:241来源:国知局
专利名称:一种基于人工神经网络的特征选择方法
技术领域
本发明属于模式识别领域,涉及一种特征选择方法,具体为一种基于人工神经网络的特征选择方法。
背景技术
特征选择(feature selection)技术是模式识别领域中的一个重要方面,因为模式识别算法的复杂度往往随着数据维数的增长而以指数的形式增长,如果不设法降低数据的维数,分类器的规模将变得异常庞大,进行分类所需要的运算开销也会大得无法承受。因此对数据特征进行选择,选出其中的重要特征,降低数据特征的维数是不可缺少的环节。而且,目前多数模式识别算法所用的特征大多是由机器自动提取的,这就不可避免地存在冗余、噪声等特征,利用特征选择可以有效地消除这一问题。
特征选择是在不降低或较少降低分类器识别率的条件下,从所有特征构成的集合中选出一个子集的过程。特征选择技术的关键点是选用什么准则来度量特征的重要性。传统的度量准则,如基于距离的度量、基于信息(或不确定性)的度量、基于依赖性的度量等等,侧重于分析数据的特性,这类方法在实践中效果并不十分理想。随着人工智能领域的不断进步,一些利用人工神经网络(artificialneuron networks)和模糊数学(fuzzy math)等技术的特征度量方法被提了出来。这一类方法都是基于分类错误率的,即根据特征对分类错误率的贡献来度量其重要性大小,因此比前一类方法更加有效。在具体操作上,这类方法大多数利用人工神经网络技术来进行特征选择。
基于人工神经网络的特征选择可以看作是剪枝算法(prune algorithm)的一个特例,即剪除输入层的节点而不是隐含层的节点或权值,如文献1的Reed R.Pruning Algorithms-A Survey.IEEE Transactions on Neural Networks,1993,4(5)740~746介绍的。常见的思路是利用剪枝前后人工神经网络的输出值的变化作为特征的敏感性度量,如文献2的Verikas A,Baeauskiene M.Featureselection with neural networks.Pattern Recognition Letters,2002,23(11)1323~1335。这种思路的基本假设是一个学习良好的神经网络,对于越重要的特征的变化,其相应的输出值变化也越大,即越敏感,反之亦然。基于敏感性度量Aj的特征选择方法最直接而准确地反映了这一假设,如文献3的Ruck D W,Rogers S K and Kabrisky M.Feature selection using a multilayerperceptron,Journal of Neural Network Computing,1990,9(1)40~48所述。
具体考察某个特征的重要性时,通过计算该特征删除前后人工神经网络的输出的变化作为特征度量。所谓删除特征,就是令样本中该特征的观察值恒为零,如文献4的De R.K,Basak J and Pal S K.Neuro-Fuzzy Feature EvaluationWith Theoretical Analysis.Neural Networks,1999,12(10)1429~1455。这种方法要求首先对数据进行归一化,这可能会破坏数据。为了避开归一化的问题,可以在人工神经网络中增加一个模糊映射(fuzzy mapping)层,该层将每一个特征按一对多映射,映射后的新特征,即模糊特征,其定义域限定为
,因此就避开了归一化的问题,如文献5的Jia P and Sang N.Feature selectionusing a radial basis function networks and fuzzy set theoretic measures.InProceedings of SPIE 5281(1)-the Third International Symposium onMultispectral Image Processing and Pattern Recognition,Beijing,ChinaThe International Society of Optical Engineering Press,2003.109~114。在这种方法里,模糊隶属度函数(fuzzy membership function)是在人工神经网络进行学习之前就已经获得的,它依赖的仍然是数据的一、二阶矩,这与文献4的归一化其实有同样的问题。事实上,完全可以把文献5提出的模糊映射层从网络中独立出来,作为一种归一化方法进行数据的预处理。

发明内容
本发明的目的在于提供一种基于人工神经网络的特征选择方法,该方法避免了数据归一化的难题,鲁棒性高,对噪声特征和冗余特征具有好的效果。
本发明提供的一种基于人工神经网络的特征选择方法,包括以下步骤(1)用户指定需要进行特征选择的特征fi,i=1,…,N,给出对人工神经网络进行训练用的训练样本集 训练样本有相同的维数R,R=N,分为K个类别ω1,…,ωK,第q个训练样本xq的第i维xqi即指定的第i个特征fi的第q次观测值;(2)根据训练样本,构造依次由输入层、模糊映射层、隐含层和输出层组成的人工神经网络;神经网络数据由输入层输入神经网络,通过连接权w2传递到模糊映射层,经过模糊映射层作用之后再通过连接权w3传递到隐含层,经过隐含层作用之后再通过连接权w4传递到输出层获得输出,其中,m=2,3,4;(3)使用用户给出的训练样本集训练初始化之后的人工神经网络,其处理过程为(3.1)选用均方误差的估计量e作为学习过程中的性能指数e=1QΣq=1QΣi=1G(tim(q)-aim(q))2]]>其中,tim(q)是第m层的节点i在输入第q个样本时的输出的目标值,aim(q)是第m层的节点i在输入第q个样本时的实际输出,G为该层的节点数;(3.2)采用反向传播算法对人工神经网络各层之间的连接权矩阵wm进行训练,其中m=3,4;(3.3)对模糊映射层节点的作用函数中的参数ξ,σ,τ进行更新;(3.4)当e满足收敛条件时,进入步骤(4),否则重复步骤(3.2)-(3.3);(4)使用已训练好的人工神经网络对特征进行模糊剪枝,计算每个特征的重要性度量,并按重要性的度量值对特征排序。
本发明只需要用户给出原始特征集和训练用的样本,能够从中获得原始特征集中的所有特征对分类的重要性的排序。本发明的特征选择方法与现有的特征选择方法相比的优点在于较好地避免了数据归一化的难题;计算简单,神经网络只需训练一次;容易和各种搜索算法结合起来组成一个完整的特征选择系统。本发明已成功应用于多种具有多维特征的模式识别和目标分类,也可应用于各类涉及数据型特征的模式识别领域。


图1为基于带自适应模糊映射层的人工神经网络的特征选择方法的流程图;图2为带有自适应模糊映射层的人工神经网络的结构示意图;图3为实例中建立的带有自适应模糊映射层的人工神经网络的结构示意4为特征seqal length的模糊隶属度函数图(初始值)。
具体实施例方式
本发明的特征选择方法在用户给出训练用的数据集和需要进行选择的特征集的前提下,开始特征选择过程,下面详细介绍特征选择流程。
进行特征选择,就是要获得对特征的重要性的度量。本发明提出的特征选择方法中,使用用户提供的数据集训练带有模糊映射层的人工神经网络,再借助训练好的网络计算出各个特征的重要性度量值,达到特征选择的目的。如图1所示,本发明方法包括以下步骤(1)用户指定需要进行特征选择的特征fi(i=1,…,N),给出对人工神经网络进行训练用的训练样本。
(1.1)特征的指定指定的特征必须是数据型的特征,直接反映对象的实际物理意义或者几何意义,如重量、速度、长度等。特征的个数N为自然数,也就是说特征的个数为一个或者多个。
(1.2)训练样本的限定对人工神经网络进行训练用的训练样本也为数据型,所有样本有着相同的维数R(R=N),分为K个类别ω1,…,ωK。维数R等于步骤(1.1)中指定的特征个数。第q个训练样本xq的第i维xqi就是指定的第i个特征fi的第q次观测值。训练样本集的具体数学描述为 其中,Q是训练样本的个数,且Q≥K,每一个类ωl(l=1,…,K)至少有一个样本, 表示实数集,R是样本xq的维数,等于训练样本集X的特征数N。
(2)根据训练样本,构造由特征层A、模糊映射层B、隐含层C和输出层D组成的人工神经网络,并初始化。
如图2所示,人工神经网络结构包括输入层A(即特征层)、模糊映射层B、隐含层C和输出层D,层与层之间用连接权wm(m=2,3,4)相连接。数据由输入层输入神经网络,然后通过连接权传递到模糊映射层,经过模糊映射层作用之后再通过连接权传递到隐含层,经过隐含层作用之后再通过连接权传递到输出层从而获得输出。构造带有模糊映射层的人工神经网络需要设置输入层(特征层)、隐含层和输出层的节点数;确定每个特征fi对应的模糊隶属度函数的个数mi,并定义这些模糊隶属度函数。初始化工作则需要确定人工神经网络各层之间的连接权值的初始值和模糊映射层中每个节点内的模糊隶属度函数的参数的初始值。
具体过程如下(2.1)输入层A(2.1.1)输入层节点个数的选取输入层A的节点数S1等于训练样本的维数R。
(2.1.2)输入层节点的输入和输出每个节点输入训练样本的某一维。当神经网络输入第q个样本时,输入层的节点Ai的输入为ni1(q)=xqi,]]>输出为ai1(q)=xqi.]]>(2.2)模糊映射层B
(2.2.1)各特征对应的模糊隶属度函数的个数的选取对于特征fi,可以根据其具体的物理意义来定义fi对应的mi个模糊隶属度函数,每一个模糊隶属度函数构成一个模糊映射层节点。也就是说,模糊映射层B的节点数S2=Σi=1S1mi,]]>mi值的选取需要满足如下条件QminΣi=1S1mi>3]]>其中,Qmin=min{Ql},Ql表示用户给出的训练样本中属于类ωl的样本数。
(2.2.2)输入层与模糊映射层之间的连接权输入层的节点Ai与模糊映射层的节点Bi1,…,Bimi用连接权相连接,而且模糊映射层的节点Bi1,…,Bimi不与除Ai之外的输入层其他节点连接,即所谓的1对多的连接方式。特征层A节点Ai和模糊映射层B节点Bij之间的连接权值恒为1,即特征层A和模糊映射层B之间的连接权矩阵w2不参加人工神经网络的训练。
(2.2.3)模糊映射层的节点Bij的输入当神经网络输入第q个样本时,模糊映射层的节点Bij的输入为nij2(q)-xqi×1=xqi.]]>(2.2.4)模糊映射层的节点Bij的作用函数模糊映射层的节点Bij的作用函数为模糊隶属度函数μij,即特征fi的第j个隶属度函数。在本发明中,所谓给定第i维特征fi的一个模糊隶属度函数,是指给定了一个映射μifi→

节点Bij的模糊隶属度函数形式如下aij2(q)=11+(nij2(q)-ξijσij)2τ,]]>σij≠0,τij≥0.
在这里,nij2(q)为输入第q个样本时模糊映射层的节点Bij的输入,aij2(q)为相应的实际输出。ξij为节点Bij的类条件概率密度的期望,σij为节点Bij的类条件概率密度的标准差,τij为节点Bij的一个参数。τ的作用表现在即使两个隶属度函数的ξ和σ是相等的,仍然可以通过对τ的调整避免两个隶属度函数完全相同。
对于σij和τij的初始化没有特别的限制,ξij一般采取在对应的特征fi的值域上随机选取的方法。
(2.3)隐含层C(2.3.1)隐含层节点个数的选取隐含层C的节点个数S3的选取没有特别的要求,一般只要不小于训练样本的类别数K即可。
(2.3.2)模糊映射层与隐含层之间的连接权模糊映射层B与隐含层C之间为全连接,也就是说模糊映射层B的每一个节点都与隐含层C的所有节点相连接,隐含层C的每一个节点也与模糊映射层B的所有节点相连接。模糊映射层B与隐含层C之间的连接权w3=w113···w1u3···w1S33·········wp13···wpu3···wpS33·········wS213···wS2u3···wS2S33S2×S3]]>(p=1,…,S2,u=1,…,S3)的初始化采取随机的方法,连接权值的取值范围为

(2.3.3)隐含层节点的输入当神经网络输入第q个样本时,隐含层的节点Cu(u=1,…,S3)的输入为nu3(q)=Σp=1S2ap2(q)×wpu3.]]>其中,ap2(q)是模糊映射层的节点Bp(p=1,…,S2)在神经网络输入第q个样本时的输出,wpu3是模糊映射层的节点Bp与隐含层节点Cu之间的连接权。
(2.3.4)隐含层节点的作用函数隐含层节点的作用函数选择为Sigmoid函数
au3(q)=11+exp(-nu3(q)),]]>(u=1,…,S3).
其中,nu3(q)为神经网络输入第q个样本时隐含层的节点Cu的输入,au3(q)为相应的输出。
也可以选择为双曲线正切函数au3(q)=1-exp(-nu3(q))1+exp(-nu3(q)),]]>(u=1,…,S3).
其中,nu3(q)为神经网络输入第q个样本时隐含层的节点Cu的输入,au3(q)为相应的输出。
(2.4)输出层D(2.4.1)输出层节点个数的选择输出层D的节点数S4等于训练样本的类别数K。
(2.4.2)隐含层与输出层之间的连接权隐含层C与输出层D之间为全连接,也就是说隐含层C的每一个节点都与输出层D的所有节点相连接,输出层D的每一个节点也与隐含层C的所有节点相连接。隐含层C与输出层D之间的连接权值w4=w114···w1l4···wlS44·········wu14···wul4···wuS44·········wS314···wS3l4···wS3S44S3×S4]]>(u=1,…,S3,l=1,…,S4)的初始化采取随机的方法,权值的取值范围为

(2.4.3)输出层节点的输入和输出输出层节点Dl(l=1,…,S4)的输入和输出相等,Dl的输出值nl4(q)就是神经网络输入的第q个样本属于类ωl的概率。
nl4(q)=al4(q)=Σu=1S3nu3(q)×wul4.]]>
其中,wul4是隐含层的节点Cu与输出层节点Dl之间的连接权。
(3)使用用户给出的训练样本集训练初始化之后的人工神经网络。
利用反向传播算法,以批处理的学习方式,依据用户给出的训练样本集对人工神经网络进行训练,在每一次训练中更新神经网络各层之间的连接权值和模糊隶属度函数的参数,直至人工神经网络满足用户设定的收敛条件。
具体的训练方法如下。
(3.1)收敛条件的选取首先,选用均方误差的估计量e作为学习过程中的性能指数e=1QΣq=1QΣi=1G(tim(q)-aim(q))2.]]>其中,tim(q)是第m层的节点i在输入第q个样本时的输出的目标值,aim(q)是第m层的节点i在输入第q个样本时的实际输出,G为该层的节点数。
用户可以根据对运算精度的要求,设定e小于某个很小的正数为收敛条件。比如,设定e<0.001为收敛条件,则人工神经网络在某次训练中完成步骤(3.2)和(3.3)之后,计算e的值,如果小于0.001,就停止训练;否则进行下一次训练。
(3.2)各层之间连接权值的更新输入层A与模糊映射层B之间的连接权值恒为1,不参加训练。模糊映射层B与隐含层C之间的连接权w3,隐含层C与输出层D之间的连接权w4都需要参加训练,而且w3和w4在训练中的更新方法相同。
反向传播算法中的均方误差的估计量e对于第m层输入的敏感性定义为gm=∂e∂nm∂e∂n1m(1)···∂e∂n1m(q)···∂e∂n1m(Q)·········∂e∂nim(1)···∂e∂nim(q)···∂e∂nim(Q)·········∂e∂nSmm(1)···∂e∂nSmm(q)···∂e∂nSmm(Q)]]>
其中,Sm是人工神经网络第m层的节点数,nm是一个大小为Sm×Q的矩阵,表示人工神经网络第m层的输入;nim(q)表示第m层的节点i在神经网络输入第q个样本时的输入。而且,∂e∂nim(q)=∂e∂aim(q)×∂aim(q)∂nim(q).]]>按最速下降法对连接权值进行更新,在此处也可采用共轭梯度法等最小模估计算法。人工神经网络第m层和第m-1层(m=3,4)之间的连接权矩阵wm(维数是Sm-1×Sm),在第(r+1)次训练开始时更新为wm(r+1)=wm(r)-αgm(am-1)T.
其中,α是权值学习速率,取值范围是0<α≤1,一般选择为0.05。r是训练的次数。am是一个大小为Sm×Q的矩阵,表示人工神经网络第m层的实际输出am=a1m(1)···a1m(q)···a1m(Q)·········aim(1)···aim(q)···aim(Q)·········aSmm(1)···aSmm(q)···aSmm(Q)Sm×Q]]>(3.3)模糊映射层节点的作用函数的参数ξ,σ,τ的更新模糊映射层B的节点Bp(p=1,…,S2)的作用函数的三个参数ξp,σp,τp按以下式子更新,其中θ是ξp的学习速率, 是σp的学习速率,ρ是τp的学习速率,采用试错法等参数选取方法。
ξp(r+1)=ξp(r)-θ∂e∂pa2(∂pa2∂ξp(r))T,]]>
τp(r+1)=τp(r)-ρ∂e∂pa2(∂pa2∂τp(r))T.]]>其中,pa2是对人工神经网络输入Q个样本时模糊映射层B的输出矩阵a2的第p行。而且∂pa2∂ξp(r)=[···,2τp(r)(ai1(q)-ξp(r))(σp(r))2(ap2(q))2(1ap2(q))1-1τp(r),···]1×Q,]]>∂pa2∂σp(r)=[···,2τp(r)σp(r)ap2(q)(1-ap2(q))···]1×Q,]]> ∂e∂pa2=11×s3×∂e∂n13(1)∂n13(1)∂ap2(1)···∂e∂n13(q)∂n13(q)∂ap2(q)···∂e∂n13(Q)∂n13(Q)∂ap2(Q)·········∂e∂nu3(1)∂u3(1)∂ap2(1)···∂e∂nu3(q)∂nu3(q)∂ap2(q)···∂e∂nu3(Q)∂nu3(Q)∂ap2(Q)·········∂e∂nS33(1)∂nS33∂ap2(1)···∂e∂nS33(q)∂nS33(q)∂ap2(q)···∂e∂nS33(Q)∂nS33(Q)∂ap2(Q)S3×Q]]>其中,ai1(q)是与节点Bp相连的输入层节点Ai在神经网络输入第q个样本时的输出,也就是xqi。
(3.4)训练的终止人工神经网络在每一次训练中都进行步骤(3.2)和(3.3)的操作。每一次训练完成之后,计算e的值,如果满足在步骤(3.1)中设置的收敛条件,就停止训练;否则进行下一次训练。
(4)使用已训练好的人工神经网络对特征进行模糊剪枝,计算每个特征的重要性度量,并排序。
(4.1)对特征fi进行模糊剪枝所谓对特征fi的模糊剪枝(fuzzy prune algorithm),就是将特征fi对应的所有模糊隶属度函数的输出值置为0.5,也就是使得模糊映射层的输出为 然后,获得这种条件下人工神经网络对于输入样本xq时输出层给出的输出向量a4(xq,i)。
(4.2)计算特征的重要性度量FQJ(i)本发明提出的特征度量函数FQJ(i)表示第i维特征fi对于分类的重要性,特征fi的FQJ(i)值越大则表明该特征对分类而言越重要。FQJ(i)的定义如下FQJ(i)=1QΣq=1Q||a4(xq,i)-a4(xq)||2]]>其中,a4(xq)表示人工神经网络对于输入样本xq时输入层给出的输出向量,a4(xq,i)表示对特征fi进行模糊剪枝后的人工神经网络对于输入样本xq给出的输出向量。使用在步骤(3)中已训练好的人工神经网络对在步骤(1.1)中用户给出的所有特征fi,按照公式上述公式计算其相应的FQJ(i),特征fi的FQJ(i)值就是其重要性的度量。
(4.2)对所有特征fi,按照其重要性度量FQJ(i)排序对所有特征fi,按照对应的FQJ(i)值的大小降序排列,就得到了所有特征对于分类的重要性的排序。用户可以根据实际需要或者客观条件的约束,选取排名靠前的一个或者多个特征用于识别,从而达到了特征选择的目的。
实例用户希望考察以下四个特征Sepal length、Sepal width、Petal length和Petal width对分类人物的重要性,并给出了训练样本数据集IRIS。IRIS数据集被很多研究者用于模式识别方面的研究,已经成为一种基准数据。该数据集包含3类,每类有50个样本,每个样本有4个特征,依次是Sepal length、Sepal width、Petal length和Petal width。
进行特征选择的具体步骤如下(1)用户指定需要进行特征选择的特征fi(i=1,…,N),给出对人工神经网络进行训练用的训练样本。
(1.1)特征的指定用户指定的4个特征Sepal length、Sepal width、Petal length和Petalwidth都是数据性特征。则N=4。
(1.2)给出训练样本用户给出的训练样本分为3个类Iris Setosa,Iris Versicolor和IrisVirginica,即K=3。每一个类有50个样本,一共150个样本,也即Q=150。每个样本有4维特征Sepal length、Sepal width、Petal length和Petal width。样本的维数R=N=4。
(2)根据训练样本,构造由特征层A、模糊映射层B、隐含层C和输出层D组成的人工神经网络,并初始化。
(2.1)构造输入层A(2.1.1)输入层节点个数的选取输入层A的节点数S1等于训练样本的维数R,即S1=4。
(2.2)构造模糊映射层B(2.2.1)各特征对应的模糊隶属度函数的个数的选取给每个特征定义3个模糊隶属度函数,即m1=m2=m3=m4=3,这样模糊映射层的节点个数是S2=Σi=1S1mi=3+3+3+3=12,]]>有QminΣi=1s1mi=5012>3,]]>满足约束。
(2.2.2)输入层与模糊映射层之间的连接权输入层的节点A1只与模糊映射层的节点B11,B12,B13用连接权相连,输入层的节点A2只与模糊映射层的节点B21,B22,B23用连接权相连,输入层的节点A3只与模糊映射层的节点B31,B32,B33用连接权相连,输入层的节点A4只与模糊映射层的节点B41,B42,B43用连接权相连。
(2.2.3)选择模糊映射层节点的作用函数选择节点Bij的模糊隶属度函数aij2(q)=11+(nij2(q)-ξijσij)2τ,]]>σij≠0,τij≥0.
隶属度函数的参数ξij的初始值一般在特征fi的值域上随机选取。以特征Sepal length为例,该特征的取值范围为[4.3,7.9],则f1对应的3个模糊隶属度函数中,选取的ξ的初始值可能是ξ11=5.2,ξ12=6.1,ξ13=7.0。σ可以设置为σ11=σ12=σ13=0.45,τ可以设置为τ11=τ12=τ13=2,得到的隶属度函数如下图4所示。
(2.3)隐含层C(2.3.1)隐含层节点个数的选取根据经验,选择S3=6。
(2.3.2)模糊映射层与隐含层之间的连接权模糊映射层B与隐含层C之间的连接权w3=w113···w1u3···w1,63·········wp13···wpu3···wp,63·········w12,13···w12,u3···w12,6312×6]]>(p=1,…,12,u=1,…,6)的初始化采取随机的方法,连接权值的取值范围为
。可以令wpu=0.5。
(2.3.3)选择隐含层节点的作用函数隐含层节点的作用函数选择为Sigmoid函数au3(q)=11+exp(-nu3(q)),]]>(u=1,…,6).
其中,nu3(q)为神经网络输入第q个样本时隐含层的节点Cu的输入,au3(q)为相应的输出。
(2.4)输出层D(2.4.1)输出层节点个数的选择输出层D的节点数S4等于训练样本的类别数K,即S4=K=3。
(2.4.2)隐含层与输出层之间的连接权隐含层C与输出层D之间的连接权值w4=w114···w124···w134·········wu14···wu24···wu34·········w614···w624···w6346×3]]>(u=1,…,6)的初始化采取随机的方法,权值的取值范围为
。可以令wul=0.5(l=1,2,3)。
至此,带有模糊映射层的人工神经网络构造完毕,其结构图如图3所示。
(3)使用用户给出的训练样本集训练初始化之后的人工神经网络。
(3.1)收敛条件的选取设定e<0.001为收敛条件。
(3.2)各层之间连接权值的更新根据经验选择权值学习速率α=0.05。
按最速下降法,人工神经网络第m层和第m-1层(m=3,4)之间的连接权矩阵wm(维数是Sm-1×Sm),在第(r+1)次训练开始时更新为wm(r+1)=wm(r)-0.05gm(am-1)T.
其中
gm=∂e∂nm∂e∂n1m(1)···∂e∂n1m(q)···∂e∂n1m(Q)·········∂e∂nim(1)···∂e∂nim(q)···∂e∂nim(Q)·········∂e∂nSmm(1)···∂e∂nSmm(q)···∂e∂nSmm(Q)]]>am=a1m(1)···a1m(q)···a1m(Q)·········aim(1)···aim(q)···aim(Q)·········aSmm(1)···aSmm(q)···aSmm(Q)Sm×Q]]>(3.3)模糊映射层节点的作用函数的参数ξ,σ,τ的更新选择各参数的学习速率为θ=0.1, ρ=0.1。
使用如下公式更新模糊映射层B的节点Bp(p=1,…,S2)的作用函数的三个参数ξp,σp,τp。
ξp(r+1)=ξp(r)-θ∂e∂pa2(∂pa2∂ξp(r))T,]]> τp(r+1)=τp(r)-ρ∂e∂pa2(∂pa2∂τp(r))T.]]>其中,pa2是对人工神经网络输入Q个样本时模糊映射层B的输出矩阵a2的第p行。
(3.4)训练的终止在第1037次训练结束之后,计算发现e=0.000999,满足收敛条件,终止训练。
(4)使用已训练好的人工神经网络对特征进行模糊剪枝,计算每个特征的重要性度量,并排序。
(4.1)对特征fi进行模糊剪枝以特征Sepal length为例,对fi进行剪枝,也就是使得模糊映射层的节点B11,B12,B13的输出值置为0。比如,特征Sepal length的观察值是5.1,剪枝前模糊映射层节点B12,B12,B13的输出是
,特征Sepal width的观察值是3.5,剪枝前模糊映射层节点B21,B22,B23的输出是
,特征Petal length的观察值是1.4,剪枝前模糊映射层节点B31,B32,B33的输出是
,特征Petal width的观察值是0.2,剪枝前模糊映射层节点B41,B42,B43的输出是
,因此样本[5.1,3.5,1.4,0.2]在剪枝前模糊映射层的输出是

而要进行剪枝,就是要把这个输出修改为

然后,计算进行这种修改后人工神经网络对于输入样本xq时输出层给出的输出向量a4(xq,1)。对其他特征的剪枝以此类推。
(4.2)计算特征的重要性度量FQJ(i)仍然以特征Sepal length为例,对f1计算FQJ(1)FQJ(1)=1105Σq=1150||a4(xq,1)-a4(xq)||2=0.08171.]]>类似的,计算得到FQJ(2)=0.095858,FQJ(3)=0.491984,FQJ(4)=0.511002。
对所有特征fi,按照对应的FQJ(i)值的大小降序排列,得到特征对于分类任务的重要性排序为Petal width,Petal length,Sepal width,Sepal length。
权利要求
1.一种基于人工神经网络的特征选择方法,包括以下步骤(1)用户指定需要进行特征选择的特征fi,i=1,…,N,给出对人工神经网络进行训练用的训练样本集 训练样本有相同的维数R,R=N,分为K个类别ω1,…,ωK,第q个训练样本xq的第i维xqi即指定的第i个特征fi的第q次观测值;(2)根据训练样本,构造依次由输入层、模糊映射层、隐含层和输出层组成的人工神经网络;神经网络数据由输入层输入神经网络,通过连接权w2传递到模糊映射层,经过模糊映射层作用之后再通过连接权w3传递到隐含层,经过隐含层作用之后再通过连接权w4传递到输出层获得输出,其中,m=2,3,4;(3)使用用户给出的训练样本集训练初始化之后的人工神经网络,其处理过程为(3.1)选用均方误差的估计量e作为学习过程中的性能指数e=1QΣq=1QΣi=1G(tim(q)-aim(q))2]]>其中,tim(q)是第m层的节点i在输入第q个样本时的输出的目标值,aim(q)是第m层的节点i在输入第q个样本时的实际输出,G为该层的节点数;(3.2)采用反向传播算法对人工神经网络各层之间的连接权矩阵wm进行训练,其中m=3,4;(3.3)对模糊映射层节点的作用函数中的参数ξ,σ,τ进行更新;(3.4)当e满足收敛条件时,进入步骤(4),否则重复步骤(3.2)-(3.3);(4)使用已训练好的人工神经网络对特征进行模糊剪枝,计算每个特征的重要性度量,并按重要性的度量值对特征排序。
2.根据权利要求1所述的方法,其特征在于上述步骤(2)包括以下处理过程(2.1)输入层A输入层A的节点数S1等于训练样本的维数R,每个节点输入训练样本的某一维,当神经网络输入第q个样本时,输入层的节点Ai的输入为ni1(q)=xqi,]]>输出为ai1(q)=xqi.]]>(2.2)模糊映射层B模糊映射层B的节点数S2=Σi=1S1mi,]]>mi值的选取需要满足如下条件QminΣi=1S1mi>3]]>其中,Qmin=min{Ql},Ql表示用户给出的训练样本中属于类ωl的样本数;输入层的节点Ai与模糊映射层的节点Bi1,…,Bimi用连接权相连接,而且模糊映射层的节点Bi1,…,Biml不与除Ai之外的输入层其他节点连接;特征层A节点Ai和模糊映射层B节点Bij之间的连接权值恒为1;当神经网络输入第q个样本时,模糊映射层的节点Bij的输入为nij2(q)=xqi×1=xqi.]]>模糊映射层的节点Bij的作用函数为模糊隶属度函数μij,给定第i维特征fi的一个模糊隶属度函数,是指给定了一个映射μifi→
;节点Bij的模糊隶属度函数形式如下aij2(q)=11+(nij2(q)-ξijσij)2τ,σij≠0,σij≥0.]]>nij2(q)为输入第q个样本时模糊映射层的节点Bij的输入,aij2(q)为相应的实际输出,ξij为节点Bij的类条件概率密度的期望,σij为节点Bij的类条件概率密度的标准差,τij为节点Bij的一个参数;(2.3)隐含层C隐含层C的节点个数S3大于等于样本的类别数K;模糊映射层B与隐含层C之间为全连接,模糊映射层B与隐含层C之间的连接权w3=w113···w1u3···w1S33·········wp13···wpu3···wpS33·········wS213···wS2u.3···wS2S33S2×S3]]>其中,p=1,…,S2,u=1,…,S3的初始化采取随机的方法,连接权值的取值范围为
;当神经网络输入第q个样本时,隐含层的节点Cu(u=1,…,S3)的输入为nu3(q)=Σp=1S2ap2(q)×wpu3.]]>其中,ap2(q)是模糊映射层的节点Bp(p=1,…,S2)在神经网络输入第q个样本时的输出,wpu3是模糊映射层的节点Bp与隐含层节点Cu之间的连接权;隐含层节点的作用函数选择为Sigmoid函数或双曲线正切函数au3(q)=11+exp(-nu3(q)),(u=1,···,S3).]]>其中,nu3(q)为神经网络输入第q个样本时隐含层的节点Cu的输入,au3(q)为相应的输出;au3(q)=1-exp(-nu3(q))1+exp(-nu3(q)),(u=1,···,S3).]]>其中,nu3(q)为神经网络输入第q个样本时隐含层的节点Cu的输入,au3(q)为相应的输出;(2.4)输出层D输出层D的节点数S4等于训练样本的类别数K;隐含层C与输出层D之间为全连接;隐含层C与输出层D之间的连接权值w4=w114···w1l4···wlS44·········wu14···wul4···wuS44·········wS313···wS3l4···wS3S44S3×S4]]>其中u=1,…,S3,l=1,…,S4的初始化采取随机的方法,权值的取值范围为
;输出层节点Dl(l=1,…,S4)的输入和输出相等,Dl的输出值nl4(q)就是神经网络输入的第q个样本属于类ωl的概率nl4(q)=al4(q)=Σu=1S3nu3(q)×wul4.]]>其中,wul4是隐含层的节点Cu与输出层节点Dl之间的连接权。
3.根据权利要求1或2所述的方法,其特征在于上述步骤(3.2)、(3.3)的处理过程为(3.2)训练模糊映射层B与隐含层C之间的连接权wm均方误差的估计量e对于第m层输入的敏感性定义为gm=∂e∂nm=∂e∂n1m(1)···∂e∂n1m(q)···∂e∂n1m(Q)·········∂e∂nim(1)···∂e∂nim(q)···∂e∂nim(Q)·········∂e∂nSmm(1)···∂e∂nSmm(q)···∂e∂nSmm(Q).]]>其中,Sm是人工神经网络第m层的节点数,nm是一个大小为Sm×Q的矩阵,表示人工神经网络第m层的输入;nim(q)表示第m层的节点i在神经网络输入第q个样本时的输入,而且,∂e∂nim(q)=∂e∂aim(q)×∂aim(q)∂nim(q);]]>人工神经网络第m层和第m-1层之间的连接权矩阵wm为Sm-1×Sm,m=3,4,在第(r+1)次训练开始时更新为wm(r+1)=wm(r)-αgm(am-1)T.其中,α是权值学习速率,取值范围是0<α≤1,r为训练的次数,am是一个大小为Sm×Q的矩阵,表示人工神经网络第m层的实际输出am=a1m(1)···a1m(q)···a1m(Q)·········aim(1)···aim(q)···aim(Q)·········aSmm(1)···aSmm(q)···aSmm(Q).Sm×Q]]>(3.3)模糊映射层B的节点Bp(p=1,…,S2)的作用函数的三个参数ξp,σp,τp按以下公式更新,其中θ是ξp的学习速率, 是σp的学习速率,ρ为τp的学习速率ξp(r+1)=ξp(r)-θ∂e∂pa2(∂pa2∂ξp(r))T,]]>σp(r+1)=σp(r)-υ∂e∂pa2(∂pa2∂σp(r))T,]]>τp(r+1)=τp(r)-ρ∂e∂pa2(∂pa2∂τp(r))T.]]>其中,pa2为对人工神经网络输入Q个样本时模糊映射层B的输出矩阵a2的第p行,而且∂pa2∂ξp(r)=···,2τp(r)(ai1(q)-ξp(r))(σp(r))2(ap2(q))2(1ap2(q))1-1τp(r),···1×Q,]]>∂pa2∂σp(r)=···2τp(r)σp(r)ap2(q)(1-ap2(q))···1×Q,]]> ∂e∂pa2=11×S3×∂e∂n13(1)∂n13(1)∂ap2(1)···∂e∂n13(q)∂n13(q)∂ap2(q)···∂e∂n13(Q)∂n13(Q)∂ap2(Q)·········∂e∂nu3(1)∂nu3(q)∂ap2(1)···∂e∂nue(q)∂nu3(q)∂ap2(q)···∂e∂nu3(Q)∂nu3(Q)∂ap2(Q)·········∂e∂nS33(1)∂nS33(1)∂ap2(1)···∂e∂nS33(q)∂nS33(q)∂ap2(q)···∂e∂nS33(Q)∂nS33(Q)∂ap2(Q)S3×Q]]>其中,ai1(q)为与节点Bp相连的输入层节点Ai在神经网络输入第q个样本时的输出,即为xqi。
4.根据权利要求1或2所述的方法,其特征在于上述步骤(4)的处理过程为(4.1)对特征fi进行模糊剪枝,使得模糊映射层的输出为 获得这种条件下人工神经网络对于输入样本xq时输出层给出的输出向量a4(xq,i);(4.2)计算特征的重要性度量FQJ(i)特征度量函数FQJ(i)表示第i维特征fi对于分类的重要性,FQJ(i)的定义如下FQJ(i)=1QΣq=1Q||a4(xq,i)-a4(xq)||2]]>其中,a4(xq)表示人工神经网络对于输入样本xq时输入层给出的输出向量,a4(xq,i)表示对特征fi进行模糊剪枝后的人工神经网络对于输入样本xq给出的输出向量,使用在步骤(3)中已训练好的人工神经网络对在步骤(1.1)中用户给出的所有特征fi,按照上述公式计算其相应的FQJ(i),特征fi的FQJ(i)值就是其重要性的度量;(4.3)对所有特征fi,按照其重要性度量FQJ(i)排序。
5.根据权利要求3所述的方法,其特征在于上述步骤(4)的处理过程为(4.1)对特征fi进行模糊剪枝,使得模糊映射层的输出为 获得这种条件下人工神经网络对于输入样本xq时输出层给出的输出向量a4(xq,i);(4.2)计算特征的重要性度量FQJ(i)特征度量函数FQJ(i)表示第i维特征fi对于分类的重要性,FQJ(i)的定义如下FQJ(i)=1QΣq=1Q||a4(xq,i)-a4(xq)||2]]>其中,a4(xq)表示人工神经网络对于输入样本xq时输入层给出的输出向量,a4(xq,i)表示对特征fi进行模糊剪枝后的人工神经网络对于输入样本xq给出的输出向量,使用在步骤(3)中已训练好的人工神经网络对在步骤(1.1)中用户给出的所有特征fi,按照上述公式计算其相应的FQJ(i),特征fi的FQJ(i)值就是其重要性的度量;(4.3)对所有特征fi,按照其重要性度量FQJ(i)排序。
全文摘要
本发明公开了一种基于人工神经网络的特征选择方法,包括①用户给定需要进行特征选择的所有特征,给出对人工神经网络进行训练用的样本;②选定模糊隶属度函数的个数,设置人工神经网络各层的节点数以及各层之间的连接权值和模糊隶属度函数参数的初始值;③利用反向传播算法,以批处理的学习方式,对网络进行训练,调整网络连接权值和模糊隶属度函数的参数;④计算所有特征的重要性度量,并对特征排序。本发明较好地避免了数据归一化的难题;计算简单,网络只需训练一次;容易和各种搜索算法结合起来组成一个完整的特征选择系统。本发明已成功应用于多种具有多维特征的模式识别和目标分类,也可应用于各类涉及数据型特征的模式识别领域。
文档编号G06N3/00GK1945602SQ200610019570
公开日2007年4月11日 申请日期2006年7月7日 优先权日2006年7月7日
发明者桑农, 曹治国, 张天序, 谢衍涛, 张 荣, 贾沛 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1