欢迎来到天天文库
浏览记录
ID:23631870
大小:61.50 KB
页数:10页
时间:2018-11-09
《基于改进sfs特征选择bp识别算法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于改进SFS特征选择BP识别算法朱旭东,梁光明,冯雁(国防科学技术大学电子科学与工程学院,湖南长沙410073)摘要:特征选择在BP神经网络算法中起着重要作用,顺序前向选择算法(SFS算法)利用前向搜索叠加的方式,从众多的原始特征中获得对分类识别算法最有效的主要特征,实现样本特征维数压缩。提出一种改进SFS特征选择算法,设计了加权判别函数和测试反馈停止准则。实验证明,改进算法能有效压缩样本特征维数,提高BP网络收敛速度和正确识别率。.jyqkax{FDR(fd)},将FDR(fa)所对应的特征fa加入目标特征子集X
2、k;Step3:将其余未入选的n-1个特征依次与已入选特征fa匹配,得到匹配后的组合特征的准则函数值FDR的大小按照升序排序,如果:FDR(Xk?{F1})>FDR(Xk?{F2})>?>FDR(Xk?{Fn-1})(2)则将能使FDR值最大的特征加入到目标特征子集Xk中,得到更新后的目标特征子集:Xk=Xk?F1(3)Step4:按照Step3的思想,依次增加能使FDR值最大的的特征到目标特征子集Xk中,每次只增加一个特征,直到目标特征子集的数量达到设定的最大的L值的水平,从而得到更新后最终的目标
3、特征子集Xk。通过顺序前向选择算法更新目标特征子集,使目标特征子集几乎包含原始特征集中的所有最优特征,更能准确地代表原始特征集,过滤掉大部分的噪声和冗余特征,增加了分类的有效性,算法计算量较小。但是,与此同时,SFS算法也存在着明显的缺陷:现有的特征评估准则函数公式区分度不够好,还有待进一步完善;传统的算法停止准则是建立在预先凭借经验设立特征子集最大维数,当目标特征子集的特征维数达到预先设定最大维数时停止搜索运算。该种方法武断性强,并没有考虑客观实验数据的差异性,可以进一步根据需要进行停止准则的改进;算法没有充分地考
4、虑目标特征子集已入选的特征与特征之间的相关性。针对以上问题,需要在原SFS算法的基础上进行必要的改进。2改进算法2.1SFS判别函数公式加权改进式(1)给出的判别函数FDR是类与类之间的差异性和类内一致性的比值,FDR值越大表示两类之间的差别性越大。分子μi和μj分别表示第i类和第j类的类内特征向量均值,(μi-μj)2代表各类别之间的差异性,(μi-μj)2越大FDR值越大;分母σi2和σj2分别表示第i类和第j类的类内方差,σi2-σj2代表的是各自类内的分布一致性。σi2和σj2各自的值越小,FDR值就越大。分
5、母σi2-σj2不能很好地表现第i类和第j类的各自的类内一致性,还可能出现负数的情况,并且显然没有考虑到各类别的类内方差可能存在个别偏大的情况。因此,可以通过改进判别函数FDR的公式来解决上述这些问题。改进的判别公式FDR′如下所示:式中:M表示样本所含的类别;μi和μj分别表示第i类和第j类的类内特征向量均值;σi2和σj2分别表示第i类和第j类的类内方差[2],a,b∈(0,1]。式(4)FDR′是在原有式(1)FDR的基础上把公式的分母进行了一些改进。如果想FDR值很大,就要求公式分母上各类别的类内方差σi2和
6、σj2的值都要很小,要求各类别的类内一致性要很高,但是在实际的工程实验时,不能保证所有数据样本类别的类内方差都能符合要求,总是存在少部分类别的类内方差可能偏大。因此,在判别公式分母各类别的类内方差σi2和σj2前分别加个取值在(0,1]的系数,当出现个别类内方差σi2和σj2过大的情况时,适当地减小相应类别方差系数的取值,这样就能保证判别公式FDR′的值很大;另外,将判别公式分母σi2和σj2之间由“-”变成“+”更能准确地表达判别函数的函数值大小与各类别的类内一致性的关系。判别公式要求只有各类别的类内一致性同时很高
7、,即各类别的类内方差σi2和σj2的值同时很小,函数值FDR′才能最大。综上所述,改进后的FDR′判别函数能更好地描述各类别之间的区别性,判别函数FDR′值越大,各类别的差别性就越大。判别函数FDR′为选择最优特征组合提供了更科学、更合理和更准确的衡量标尺。2.2基于测试反馈的SFS算法停止准则改进原SFS算法停止准则是凭借经验预先设置特征子集最大维数,当目标特征子集的特征数量达到预先设置的最大维数时,强行停止搜索运算。这样的停止准则武断性强,没有考虑到实际数据的差异性和实验环境的复杂性,算法的预期效果会受到影响,得
8、到的最优特征子集的有效性和科学性往往会打折扣。针对这个缺陷,本文提出了一种基于分类正确率反馈的SFS算法的停止准则,根据入选特征子集的特征依次用BP神经网络训练所有样本,在测试集上用对应的特征测试,如果在特征选择测试中前后几次的分类正确率差值平均值小于设定的阈值,说明特征子集的测试正确率进入了峰值,可以停止搜索算法。具体基于分类正确率反馈的SF
此文档下载收益归作者所有