发明名称 一种基于SVM-RFE和重叠度的特征选择方法
摘要 本发明属于数据挖掘、生物信息学技术的交叉领域,涉及一种基于SVM-RFE和重叠度的特征选择方法。首先基于训练样本X和当前特征集合F,屏蔽那些Nr(xi)&gt;0的样本,并且最多屏蔽每类样本数的1/3,则剩余样本为Xt。然后基于当前特征集合F和训练集合Xt,构建SVM分类模型,得出d折交叉验证的分类准确率,然后计算出在当前特征集合F上训练样本X<sub>t</sub>中的每个样本x<sub>i</sub>的重叠度Nr(x<sub>i</sub>),再求训练样本集合X<sub>t</sub>的平均重叠度,选取对应分类准确率和平均准确率差最大的特征集FS作为最优特征集。本发明的方法用于特征选择,并且通过屏蔽高重叠度的样本来降低模型的过拟合问题,以帮助发现具有区分能力的生物标志信息。
申请公布号 CN105574363A 申请公布日期 2016.05.11
申请号 CN201510932825.1 申请日期 2015.12.14
申请人 大连理工大学 发明人 范蒙;林晓惠;王家天;郝志强;王珏
分类号 G06F19/24(2011.01)I;G06K9/62(2006.01)I 主分类号 G06F19/24(2011.01)I
代理机构 大连理工大学专利中心 21200 代理人 梅洪玉
主权项 一种基于SVM‑RFE和重叠度的特征选择方法,其特征在于以下步骤:(1)当前训练样本集合X,迭代删除特征比为t,当前特征集合为F;初始时,F包含所有特征,FS为空,交叉验证倍数为d,初始准确率c_acc=0.0,初始重叠度c_oa=0.0;(2)如果当前特征集合F不为空,对于每一类样本集X<sub>j</sub>={x|x∈X,Label(x)=j}统计该类样本的个数θ<sub>j</sub>,对每个于xi∈X<sub>j</sub>,计算Nr(x<sub>i</sub>),Nr(xi)的计算方式按公式(2):所述的每个样本的重叠度Nr(x<sub>i</sub>),其计算方式如下:a.在当前特征空间F上,对当前训练样本中的每个样本x<sub>i</sub>,OR(x<sub>i</sub>)={x|x∈X,Label<u>(</u>x)≠Label(x<sub>i</sub>)}/{x|x∈X,Label(x)=Label(x<sub>i</sub>)};Label(x<sub>i</sub>)为样本x<sub>i</sub>所属的类标;b.在当前特征空间F上,计算r(x<sub>i</sub>):<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>r</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mo>|</mo><mi>D</mi><mi>i</mi><mi>f</mi><mi>f</mi><mi>l</mi><mi>a</mi><mi>b</mi><mi>e</mi><mi>l</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mrow><mo>|</mo><mi>S</mi><mi>a</mi><mi>m</mi><mi>e</mi><mi>l</mi><mi>a</mi><mi>b</mi><mi>e</mi><mi>l</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mi>O</mi><mi>R</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000877715620000011.GIF" wi="1166" he="173" /></maths>Difflabel(x<sub>i</sub>)={x|x∈KNN(x<sub>i</sub>)and Label(x)≠Label(x<sub>i</sub>)}Samelabel(x<sub>i</sub>)={x|x∈KNN(x<sub>i</sub>)and Label(x)=Label(x<sub>i</sub>)};在训练样本集中,每个样本x<sub>i</sub>采用欧几里得距离,求其最近的K个样本,Difflabel(x<sub>i</sub>)代表样本x<sub>i</sub>的K近邻中与x<sub>i</sub>不同类标的样本数目,Samelabel(x<sub>i</sub>)代表样本x<sub>i</sub>的K近邻中与x<sub>i</sub>同类标的样本数目;c.再对r(x<sub>i</sub>)标准化得出Nr(x<sub>i</sub>):<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>N</mi><mi>r</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>r</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mrow><mi>O</mi><mi>R</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000877715620000012.GIF" wi="694" he="158" /></maths>将Nr(x<sub>i</sub>)按降序排列,对每类样本,暂时屏蔽Nr(xi)&gt;0的样本,并且最多屏蔽每类样本数目1/3的样本;对每一类样本做上述处理后,剩余样本集为X<sub>t</sub>;(3)基于当前特征集合F和训练集合X<sub>t</sub>,构建SVM分类模型,得出d折交叉验证的分类准确率T_c_acc;(4)计算出在当前特征集合F上训练样本X<sub>t</sub>中的每个样本x<sub>i</sub>的重叠度Nr(x<sub>i</sub>),按公式(2)计算,再求训练样本集合X<sub>t</sub>的平均重叠度T_c_oa;(5)如果T_c_acc–T_c_oa&gt;=c_acc–c_oa,则c_acc=T_c_acc,c_oa=T_c_oa,FS=F;(6)根据F构建的SVM分类模型,计算每个特征f<sub>i</sub>∈F的权重|W<sub>i</sub>|,对特征集合F中的每个特征根据权重|W|值降序排序;(7)删除当前特征集合F中权重最低的t%特征;(8)重复步骤(2)‑(7)直到F为空,返回最优特征子集FS。
地址 116024 辽宁省大连市甘井子区凌工路2号