基于神经网络敏感性的特征选择方法及其装置制造方法
【专利摘要】本发明公开一种基于神经网络敏感性的特征选择方法及其装置,属于智能科学与技术中的机器学习领域。本发明以敏感性为基准,通过挑选敏感性大的特征,来寻找自身发生扰动时输出发生较大变化的特征,这些特征往往对训练分类器是重要的。本发明可以有效挑选出对分类器重要的样本特征,从而提高分类器的性能。
【专利说明】基于神经网络敏感性的特征选择方法及其装置
【技术领域】
[0001]本发明涉及神经网络设计时的学习样本的特征选择方法及其装置,尤其涉及可有效提高神经网络分类效率的基于特征选择的学习样本特征选择方法及其装置,属于智能科学与技术中的机器学习领域。
【背景技术】
[0002]在设计一些种类的神经网络分类器时,由于特征向量维数很高,往往会导致网络结构庞大。庞大的网络会导致训练困难、需要更多的训练样本、训练时间过长等等弊端。在实际应用中,往往希望使用维数较低的样本,以构筑泛化性能较好的分类器。
[0003]特征选择技术是将维数较高的样本经过某种准则的筛选,变成维数较低的样本使得特定指标最优化的技术。基于搜索策略划分,常见特征选择算法可以归为下面3类:
[0004]第一类:指数算法(Exponentialalgorithms)
[0005]这类算法对特征空间进行穷举搜索(当然也会采用剪枝等优化),搜索出来的特征集对于样本集是最优的。这类算法的时间复杂度是指数级的。
[0006]第二类:序列算法(Sequentialalgorithms)
[0007]这类算法实际上是一种贪心算法,算法时间复杂度较低,但是可能会陷入局部最优值,不一定能找到全局最优解。
[0008]第三类:随机算法(Randomizedalgorithms)
[0009]随机算法属于一种近似算法,能找出问题的近似最优结。随机算法在近似求解NP完全问题上显示出突出的优势,可尝试用在特征选择上。
[0010]基于评价准则划分,特征选择方法可以划分为过滤式(Filter)和封装式(Wrapper)。过滤式与后续学习算法无关,一般直接利用所有训练数据的统计特性评估特征,速度快,但评估与后续学习算法的性能偏差较大。封装式利用后续学习算法的训练准确率评估特征子集,偏差小,计算量大,不合适大数据集。
[0011]过滤式是大数据集特征选择中最常用的方法。过滤式特征选择方法最重要的就是选择特征合适的特性。本发明中我们选择的就是特征的敏感性。
【发明内容】
[0012]发明目的:针对现有技术中存在的问题,本发明提供一种以敏感性为基准的特征选择方法和装置,从而有效提高神经网络分类器的分类性能。
[0013]技术方案:一种基于神经网络敏感性的特征选择方法,包括以下步骤:
[0014]I)使用训练样本集训练神经网络,得到经过训练的分类器;
[0015]2)根据得到的分类器计算各个特征的敏感性,并根据敏感性从大到小排序;
[0016]3)根据需要从排序中取前若干个敏感性大的特征作为新特征集。
[0017]本发明的另一目的在于提供一种基于神经网络敏感性的特征选择装置,所述装置包括:[0018]训练模块,其利用已有的训练样本集训练神经网络,得到经过训练的分类器;
[0019]计算模块,其利用经过训练的分类器计算各个特征的敏感性,并根据敏感性从大到小排序;
[0020]特征选择模块:其根据预设的数值从排序中取前若干个敏感性大的特征作为新特征集。
[0021]本发明具有如下有益效果:
[0022](I)本方法在选择样本特征时采用了一种新颖的特征选择算法,相对于使用全部特征构建分类器而言,经过选择的特征能更好地代表样本的特性,并且能够降低训练分类器所耗费的时间和代价,提高神经网络的泛化能力。
[0023]( 2 )根据本发明的特征选择方法及其装置提出了一种基于敏感性的有效特征选择方法,通过挑选敏感性大的特征,这些特征往往对训练分类器是重要的。通过这样的方法可以有效减少特征数量,提高分类器的性能。
【专利附图】
【附图说明】
[0024]图1为多层感知机(Mult1-layer perceptron, MLP)神经网络结构图;
[0025]图2为本发明【具体实施方式】的基于神经网络敏感性的特征选择方法流程图。
【具体实施方式】
[0026]下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0027]以多层感知机神经网络为例,说明根据本发明的前向神经网络样本选择方法。然而,本领域的技术人员应理解,本发明不限于MLP神经网络,而是可以应用于其它前向神经网络。
[0028]MLP是一种全连接的前向神经网络,适用于目标的分类。MLP的结构如图1所示,它是一种三层前向网络:输入层MA由输入模式节点组成,Xi表不输入模式向量的第i个分星(i=l, 2,...,n);弟二层是隐含层MB,它由m个T1点bj (j=l, 2,..., m)组成。弟二层是输出层MC,它由p个节点Ck (k=l, 2,...,p)组成。
[0029]在训练之前需要对输入向量的每个元素规范化,这里将每个元素规范化到[_1,I]。
[0030]对于上述MLP神经网络的训练在这里采用标准BP算法。
[0031]下面我们定义上述神经网络的敏感性,这样的定义可以很容易地推广到其它前向神经网络。
[0032]当神经网络训练完成后,它的映射关系也就确定了。设映射关系函数为F(X)(其中X= (Xl,X2.-- xn)为输入向量),定义
[0033]S(Xi)=E(IlF^Ai)-FWII2) (I)
[0034]为该神经网络对第i个输入特征Xi的敏感性。其中X-Ai =(X1, X2,...Xi+ 6 i;...Xn)T, 6 i是一个在[-h,h]上服从均匀分布的随机变量,其中h是一个小的正数,经验取值为0.01~0.05。Il ? I I2是求取?的欧几里德范数算符。E为求取期望的算符。
[0035]由敏感性定义可以看出,某一特征分量的敏感性可以度量此一分量发生扰动时输出变化的剧烈程度。我们认为,输出变化剧烈的特征分量可以对神经网络的训练带来更多信息,因此更有价值。
[0036]如图2所示为本发明基于神经网络敏感性的特征选择方法流程图。
[0037]在步骤SlOl中,使用训练样本集训练神经网络,得到一个分类器。
[0038]在步骤S103中,利用得到的分类器计算每个特征分量的敏感性,并按照每个特征分量的敏感性由大到小排序。
[0039]在步骤S105中,按照事先设定的值取前若干个敏感性大的特征分量组成新的特征集。
[0040]现描述根据本发明的基于神经网络敏感性的特征选择装置。
[0041]所述装置包括:
[0042]训练模块,其利用已有的训练样本集训练神经网络,得到经过训练的分类器;
[0043]计算模块,其利用经过训练的分类器计算各个特征的敏感性,并根据敏感性从大到小排序;
[0044]特征选择模块:其根据预设的数值从排序中取前若干个敏感性大的特征作为新特征集。
[0045]上述装置的工作过程是:
[0046]A、首先,训练模块利用用户输入的训练集样本训练神经网络,得到一个分类器;
[0047]B、其次,计算模块利用训练好的分类器计算每个特征分量的敏感性,并按照每个特征分量的敏感性由大到小排序;
[0048]C、最后,特征选择模块按照事先设定的值取前若干个敏感性大的特征分量组成新的特征集。
【权利要求】
1.一种基于神经网络敏感性的特征选择方法,其特征在于,包括以下步骤: 1)使用训练样本集训练神经网络,得到经过训练的分类器; 2)根据得到的分类器计算各个特征的敏感性,并根据敏感性从大到小排序; 3)根据需要从排序中取前若干个敏感性大的特征作为新特征集。
2.一种基于神经网络敏感性的特征选择装置,其特征在于,所述装置包括: 训练模块,其利用已有的训练样本集训练神经网络,得到经过训练的分类器; 计算模块,其利用经过训练的分类器计算各个特征的敏感性,并根据敏感性从大到小排序; 特征选择模块:其根据预设的数值从排序中取前若干个敏感性大的特征作为新特征集。
【文档编号】G06N3/12GK103679211SQ201310653564
【公开日】2014年3月26日 申请日期:2013年12月5日 优先权日:2013年12月5日
【发明者】储荣 申请人:河海大学