本发明的目的在于提供
一种基于人工神经网络的特征选择方法,该方法避免 了数据归一化的难题,鲁棒性高,对噪声特征和冗余特征具有好的效果。
本发明提供的一种基于人工神经网络的特征选择方法,包括以下步骤:
(1)用户
指定需要进行特征选择的特征fi,i=1,…,N,给出对人工神经网 络进行训练用的训练样本集:
训练样本有相同的维数R,R=N,分为K个类别:ωl,…,ωK,第q个训练 样本xq的第i维xpi即指定的第i个特征fi的第q次观测值;
(2)根据训练样本,构造依次由输入层、模糊映射层、隐含层和
输出层组 成的人工神经网络;神经网络数据由输入层输入神经网络,通过连接权w2传递 到模糊映射层,经过模糊映射层作用之后再通过连接权w3传递到隐含层,经过 隐含层作用之后再通过连接权w4传递到输出层获得输出;
(3)使用用户给出的训练样本集训练初始化之后的人工神经网络,其处理 过程为:
(3.1)选用均方误差的估计量e作为学习过程中的性能指数:
e = 1 Q Σ q = 1 Q Σ i = 1 G ( t i m ( q ) - a i m ( q ) ) 2 其中,ti m(q)是神经网络第m层的节点i在输入第q个样本时的输出的目标 值,ai m(q)是第m层的节点i在输入第q个样本时的实际输出,m=2,3,4,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个类别:ωl,…,ω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的输入为:
n i 1 ( q ) = x qi , 输出为:
a i 1 ( q ) = x qi · (2.2)模糊映射层B
(2.2.1)各特征对应的模糊隶属度函数的个数的选取
对于特征fi,可以根据其具体的物理意义来定义fi对应的hi个模糊隶属度函 数,每一个模糊隶属度函数构成一个模糊映射层节点。也就是说,模糊映射层B 的节点数
S 2 = Σ i = 1 S 1 h i , hi值的选取需要满足如下条件:
Q min Σ i = 1 S 1 h i > 3 其中,Qmin=min{Ql},Ql表示用户给出的训练样本中属于类ωl的样本数。
(2.2.2)输入层与模糊映射层之间的连接权
输入层的节点Ai与模糊映射层的节点Bi1,…,Bihi用连接权相连接,而且模糊 映射层的节点Bil…,Bihi不与除Ai之外的输入层其他节点连接,即所谓的1对多 的连接方式。特征层A节点Ai和模糊映射层B节点Bij之间的连接权值恒为1, 即特征层A和模糊映射层B之间的连接权矩阵w2不参加人工神经网络的训练。
(2.2.3)模糊映射层的节点Bij的输入
当神经网络输入第q个样本时,模糊映射层的节点Bij的输入为:
n ij 2 ( q ) = x qi × 1 = x qi · (2.2.4)模糊映射层的节点Bij的作用函数
模糊映射层的节点Bij的作用函数为模糊隶属度函数μij,即特征fi的第j个 隶属度函数。在本发明中,所谓给定第i维特征fi的一个模糊隶属度函数,是指 给定了一个映射μi:fi→[0,1]。
节点Bij的模糊隶属度函数形式如下:
a ij 2 ( q ) = 1 1 + ( n ij 2 ( q ) - ξ ij σ ij ) 2 τ , σ ij ≠ 0 , τ ij ≥ 0 . 在这里,nij 2(q)为输入第q个样本时模糊映射层的节点Bij的输入,aij 2(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之间的连接权
w 3 = w 1 l 3 . . . w 1 u 3 . . . w 1 s 3 3 . . . . . . . . . w pl 3 . . . w pu 3 . . . w p s 3 3 . . . . . . . . . w s 2 l 3 . . . w s 2 u 3 . . . w s 2 s 3 3 S 2 × S 3 ( p = 1 , . . . , S 2 , u = 1 , . . . , S 3 ) 的初始化采取 随机的方法,连接权值的取值范围为[0,1]。
(2.3.3)隐含层节点的输入
当神经网络输入第q个样本时,隐含层的节点Cu(u=1,…,S3)的输入为:
n u 3 ( q ) = Σ p = 1 s 2 a p 2 ( q ) × w pu 3 . 其中,ap 2(q)是模糊映射层的节点Bp(p=1,…,S2)在神经网络输入第q个 样本时的输出,wpu 3是模糊映射层的节点Bp与隐含层节点Cu之间的连接权。
(2.3.4)隐含层节点的作用函数
隐含层节点的作用函数选择为Sigmoid函数:
a u 3 ( q ) = 1 1 + exp ( - n u 3 ( q ) ) , ( u = 1 , . . . , S 3 ) . 其中,nu 3(q)为神经网络输入第q个样本时隐含层的节点Cu的输入,au 3(q)为 相应的输出。
也可以选择为双曲线正切函数:
a u 3 ( q ) = 1 - exp ( - n u 3 ( q ) ) 1 + exp ( - n u 3 ( q ) ) , ( u = 1 , . . . , S 3 ) . 其中,nu 3(q)为神经网络输入第q个样本时隐含层的节点Cu的输入,au 3(q)为 相应的输出。
(2.4)输出层D
(2.4.1)输出层节点个数的选择
输出层D的节点数S4等于训练样本的类别数K。
(2.4.2)隐含层与输出层之间的连接权
隐含层C与输出层D之间为全连接,也就是说隐含层C的每一个节点都与输 出层D的所有节点相连接,输出层D的每一个节点也与隐含层C的所有节点相连 接。隐含层C与输出层D之间的连接权值
w 4 = w 11 4 . . . w 1 l 4 . . . w 1 s 4 4 . . . . . . . . . w u 1 4 . . . w ul 4 . . . w u s 4 4 . . . . . . . . . w s 3 1 4 . . . w s 3 l 4 . . . w s 3 s 4 4 S 3 × S 4 (u=1,…,S3,l=1,…,S4)的初始化采取随机的方法,权值的取值范围为[0, 1]。
(2.4.3)输出层节点的输入和输出
输出层节点Dl(l=1,…,S4)的输入和输出相等,Dl的输出值nl 4(q)就是神 经网络输入的第q个样本属于类ωl的概率。
n l 4 ( q ) a l 4 ( q ) = Σ u = 1 S 3 n u 3 ( q ) × w ul 4 . 其中,wul 4是隐含层的节点Cu与输出层节点Dl之间的连接权。
(3)使用用户给出的训练样本集训练初始化之后的人工神经网络。
利用反向传播算法,以批处理的学习方式,依据用户给出的训练样本集对人 工神经网络进行训练,在每一次训练中更新神经网络各层之间的连接权值和模糊 隶属度函数的参数,直至人工神经网络满足用户设定的收敛条件。
具体的训练方法如下。
(3.1)收敛条件的选取
首先,选用均方误差的估计量e作为学习过程中的性能指数:
e = 1 Q Σ q = 1 Q Σ i = 1 G ( t i m ( q ) - a i m ( q ) ) 2 . 其中,ti m(q)是第m层的节点i在输入第q个样本时的输出的目标值,ai m(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层输入的敏感性定义为
g m = ∂ e ∂ n m = ∂ e ∂ n 1 m ( 1 ) . . . ∂ e ∂ n 1 m ( q ) . . . ∂ e ∂ n 1 m ( Q ) . . . . . . . . . ∂ e ∂ n i m ( 1 ) . . . ∂ e ∂ n i m ( q ) . . . ∂ e ∂ n i m ( Q ) . . . . . . . . . ∂ e ∂ n S m m ( 1 ) . . . ∂ e ∂ n S m m ( q ) . . . ∂ e ∂ n S m m ( Q ) 其中,Sm是人工神经网络第m层的节点数,nm是一个大小为Sm×Q的矩阵, 表示人工神经网络第m层的输入;ni m(q)表示第m层的节点i在神经网络输入第 q个样本时的输入。而且,
∂ e ∂ n i m ( q ) = ∂ e ∂ a i m ( q ) × ∂ a i m ( q ) ∂ n i m ( 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层的实际输 出:
a m = a 1 m ( 1 ) . . . a 1 m ( q ) . . . a 1 m ( Q ) . . . . . . . . . a i m ( 1 ) . . . a i m ( q ) . . . a i m ( Q ) . . . . . . . . . a S m m ( 1 ) . . . a S m m ( q ) . . . a S m m ( Q ) S m × Q . (3.3)模糊映射层节点的作用函数的参数ξ,σ,τ的更新
模糊映射层B的节点Bp(p=1,…,S2)的作用函数的三个参数ξp,σp,τp按 以下式子更新,其中θ是ξp的学习速率,θ是σp的学习速率,ρ是τp的学习速 率,采用试错法等参数选取方法。
ξ p ( r + 1 ) = ξ p ( r ) - θ ∂ e ∂ p a 2 ( ∂ p a 2 ∂ ξ p ( r ) ) T , σ p ( r + 1 ) = σ p ( r ) - θ ∂ e ∂ p a 2 ( ∂ p a 2 ∂ σ p ( r ) ) T , τ p ( r + 1 ) = τ p ( r ) = ρ ∂ e ∂ p a 2 ( ∂ p a 2 ∂ τ p ( r ) ) T . 其中,pa2是对人工神经网络输入Q个样本时模糊映射层B的输出矩阵a2的 第p行。而且
∂ p a 2 ∂ ξ p ( r ) = [ . . . , 2 τ p ( r ) ( a i 1 ( q ) - ξ p ( r ) ) ( σ p ( r ) ) 2 ( a p 2 ( q ) ) 2 ( 1 a p 2 ( q ) ) 1 - 1 τ p ( r ) , . . . ] 1 × Q , ∂ p a 2 ∂ σ p ( r ) = [ . . . 2 τ p ( r ) σ p ( r ) a p 2 ( q ) ( 1 - a p 2 ( q ) ) . . . ] 1 × Q , ∂ e ∂ p a 2 = 1 1 × S 3 × ∂ e ∂ n 1 3 ( 1 ) ∂ n 1 3 ( 1 ) ∂ a p 2 ( 1 ) . . . ∂ e ∂ n 1 3 ( q ) ∂ a 1 3 ( q ) ∂ a p 2 ( q ) . . . ∂ e ∂ n 1 3 ( Q ) ∂ n 1 3 ( Q ) ∂ a p 2 ( Q ) . . . . . . . . . ∂ e ∂ n u 3 ( 1 ) ∂ n u 3 ( 1 ) ∂ a p 2 ( 1 ) . . . ∂ e ∂ n u 3 ( q ) ∂ n u 3 ( q ) ∂ a p 2 ( q ) . . . ∂ e ∂ n u 3 ( Q ) ∂ n u 3 ( Q ) ∂ a p 2 ( Q ) . . . . . . . . . ∂ e ∂ n S 3 3 ( 1 ) ∂ n S 3 3 ( 1 ) ∂ a p 2 ( 1 ) . . . ∂ e ∂ n S 3 3 ( q ) ∂ n S 3 3 ( q ) ∂ a p 2 ( q ) . . . ∂ e ∂ n S 3 3 ( Q ) ∂ n S 3 3 ( Q ) ∂ a p 2 ( Q ) S 3 × Q . 其中,ai 1(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 ) = 1 Q Σ q = 1 Q | | a 4 ( x q , i ) - a 4 ( x q ) | | 2 其中,a4(xq)表示人工神经网络对于输入样本xq时输入层给出的输出向量, a4(xq,i)表示对特征fi进行模糊剪枝后的人工神经网络对于输入样本xq给出的 输出向量。使用在步骤(3)中已训练好的人工神经网络对在步骤(1.1)中用户 给出的所有特征fi,按照公式上述公式计算其相应的FQJ(i),特征fi的FQJ(i)值 就是其重要性的度量。
(4.3)对所有特征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和Petal width都是数据性特征。则N=4。
(1.2)给出训练样本
用户给出的训练样本分为3个类:Iris Setosa,Iris Versicolor和Iris Virginica,即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个模糊隶属度函数,即h1=h2=h3=h4=3,这样模糊映射 层的节点个数是
S 2 = Σ i = 1 S 1 h i = 3 + 3 + 3 + 3 = 12 , 有
Q min Σ i = 1 S 1 h i = 50 12 > 3 , 满足约束。
(2.2.2)输入层与模糊映射层之间的连接权
输入层的节点A1只与模糊映射层的节点B11,B12,B13用连接权相连,输入层的 节点A2只与模糊映射层的节点B21,B22,B23用连接权相连,输入层的节点A3只与 模糊映射层的节点B31,B32,B33用连接权相连,输入层的节点A4只与模糊映射层 的节点B41,B42,B43用连接权相连。
(2.2.3)选择模糊映射层节点的作用函数
选择节点Bij的模糊隶属度函数:
a ij 2 ( q ) = 1 1 + ( n ij 2 ( 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=τl3=2,得到的隶属度函数如 下图4所示。
(2.3)隐含层C
(2.3.1)隐含层节点个数的选取
根据经验,选择S3=6。
(2.3.2)模糊映射层与隐含层之间的连接权
模糊映射层B与隐含层C之间的连接权
w 3 = w 1 l 3 . . . w 1 u 3 . . . w 1,6 3 . . . . . . . . . w pl 3 . . . w pu 3 . . . w p , 6 3 . . . . . . . . . w 12 , l 3 . . . w 12 , u 3 . . . w 12,6 3 12 × 6 (p=1,…,12,u=1,…,6)的初始化采取随机的方法,连接权值的取值范围为[0, 1]。可以令wpu=0.5。
(2.3.3)选择隐含层节点的作用函数
隐含层节点的作用函数选择为Sigmoid函数:
a u 3 ( q ) = 1 1 + exp ( - n u 3 ( q ) ) , ( u = 1 , . . . , 6 ) . 其中,nu 3(q)为神经网络输入第q个样本时隐含层的节点Cu的输入,au 3(q)为 相应的输出。
(2.4)输出层D
(2.4.1)输出层节点个数的选择
输出层D的节点数S4等于训练样本的类别数K,即S4=K=3。
(2.4.2)隐含层与输出层之间的连接权
隐含层C与输出层D之间的连接权值
w 4 = w 11 4 w 12 4 w 13 4 . . . . . . . . . w ul 4 w u 2 4 w u 3 4 . . . . . . . . . w 61 4 w 62 4 w 63 4 6 × 3 (u=1,…,6)的初始化采取随机的方法,权值的取值范围为[0,1]。可以令 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.
其中
g m = ∂ e ∂ n m = ∂ e ∂ n 1 m ( 1 ) . . . ∂ e ∂ n 1 m ( q ) . . . ∂ e ∂ n 1 m ( Q ) . . . . . . . . . ∂ e ∂ n i m ( 1 ) . . . ∂ e ∂ n i m ( q ) . . . ∂ e ∂ n i m ( Q ) . . . . . . . . . ∂ e ∂ n S m m ( 1 ) . . . ∂ e ∂ n S m m ( q ) . . . ∂ e ∂ n S m m ( Q ) . a m = a 1 m ( 1 ) . . . a 1 m ( q ) . . . a 1 m ( Q ) . . . . . . . . . a i m ( 1 ) . . . a i m ( q ) . . . a i m ( Q ) . . . . . . . . . a S m m ( 1 ) . . . a S m m ( q ) . . . a S m m ( Q ) S m × Q (3.3)模糊映射层节点的作用函数的参数ξ,σ,τ的更新
选择各参数的学习速率为θ=0.1,θ=0.1,ρ=0.1。
使用如下公式更新模糊映射层B的节点Bp(p=1,…,S2)的作用函数的三 个参数ξp,σp,τp。
ξ p ( r + 1 ) = ξ p ( r ) - θ ∂ e ∂ p a 2 ( ∂ p a 2 ∂ ξ p ( r ) ) T , σ p ( r + 1 ) = σ p ( r ) - θ ∂ e ξ p a 2 ( ∂ p a 2 ∂ σ p ( r ) ) T , τ p ( r + 1 ) = τ p ( r ) - ρ ∂ e ∂ p a 2 ( ∂ p a 2 ∂ τ p ( r ) ) T . 其中,pa2是对人工神经网络输入Q个样本时模糊映射层B的输出矩阵a2的 第p行。
(3.4)训练的终止
在第1037次训练结束之后,计算发现e=0.000999,满足收敛条件,终止训 练。
(4)使用已训练好的人工神经网络对特征进行模糊剪枝,计算每个特征的重要 性度量,并排序。
(4.1)对特征fi进行模糊剪枝
以特征Sepal length为例,对f1进行剪枝,也就是使得模糊映射层的节点 B11,B12,B13的输出值置为0。比如,特征Sepal length的观察值是5.1,剪枝 前模糊映射层节点B11,B12,B13的输出是[0.117,0.005,0.009],特征Sepal width 的观察值是3.5,剪枝前模糊映射层节点B21,B22,B23的输出是 [0.100,0.500,0.500],特征Petal length的观察值是1.4,剪枝前模糊映射层节 点B31,B32,B33的输出是[0.141,0.974,0.028],特征Petal width的观察值是0.2, 剪枝前模糊映射层节点B41,B42,B43的输出是[0.265,0.069,0.030],因此样本 [5.1,3.5,1.4,0.2]在剪枝前模糊映射层的输出是
[0.117,0.005,0.009,0.100,0.500,0.500,0.141,0.974,0.028,0.265,0.069,0.030]。
而要进行剪枝,就是要把这个输出
修改为
[0.500,0.500,0.500,0.100,0.500,0.500,0.141,0.974,0.028,0.265,0.069,0.030]。
然后,计算进行这种修改后人工神经网络对于输入样本xq时输出层给出的 输出向量a4(xq,1)。对其他特征的剪枝以此类推。
(4.2)计算特征的重要性度量FQJ(i)
仍然以特征Sepal length为例,对f1计算FQJ(1):
FQJ ( 1 ) = 1 150 Σ q = 1 150 | | a 4 ( x q , 1 ) - a 4 ( x q ) | | 2 = 0.081071 . 类似的,计算得到FQJ(2)=0.095858,FQJ(3)=0.491984, FQJ(4)=0.511002。
对所有特征fi,按照对应的FQJ(i)值的大小降序排列,得到特征对于分类任务 的重要性排序为:Petal width,Petal length,Sepal width,Sepal length。