[发明专利]基于改进的Adaboost软件缺陷不平衡数据分类方法在审

专利信息
申请号: 201610004546.3 申请日: 2016-01-04
公开(公告)号: CN105677564A 公开(公告)日: 2016-06-15
发明(设计)人: 李克文;邹晶杰 申请(专利权)人: 中国石油大学(华东)
主分类号: G06F11/36 分类号: G06F11/36;G06K9/62;G06N3/12
代理公司: 暂无信息 代理人: 暂无信息
地址: 266580 山*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于改进的Adaboost软件缺陷不平衡数据分类方法,主要解决现有软件缺陷数据的分类方法对少数类分类效果差的问题,包括以下步骤:A.从软件数据集中获取软件数据,做预处理。并将软件模块数据分为训练集和测试集以备训练和测试,采用十次交叉验证;B.利用基于改进的遗传算法与BP神经网络结合进行软件数据的特征选择,得到最优特征子集,从而对软件特征进行降维处理;C.根据得到的最优特征子集,充分考虑软件缺陷数据的不平衡性,训练基于改进的Adaboost分类器,对软件模块进行分类。本发明可提高少数类的分类精度,更好地检测软件缺陷模块。
搜索关键词: 基于 改进 adaboost 软件 缺陷 不平衡 数据 分类 方法
【主权项】:
基于改进的Adaboost软件缺陷不平衡数据分类方法,其特征在于,主要包括以下三个步骤:A.从软件数据集中获取数据,包括软件特征集和软件模块,并对其进行预处理;将软件模块数据分为训练集和测试集以备训练和测试;本发明采用十次交叉验证,将软件模块数据集分成十份,其中九份做训练,一份做测试;B.利用基于改进的遗传算法与BP神经网络结合进行软件数据的特征选择,得到最优特征子集,从而对软件特征进行降维处理,减少运算时间;(1)随机产生初始种群,种群大小为P;对特征集进行二进制编码,0代表选择特征,1表示不选择特征;(2)以BP神经网络训练数据集,根据预测误差调整网络的权值和阈值;(3)利用遗传算法对BP神经网络进行优化,进行选择、交叉、变异的操作;为充分考虑软件数据集的不平衡性,适应度函数采用普遍适用于不平衡数据分类评价的Gmeans,较高的Gmeans值表示分类器是平衡的,即对两个类的分类来说都有好的性能,定义如下:<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><mi>f</mi><mi>i</mi><mi>t</mi><mi>n</mi><mi>e</mi><mi>s</mi><mi>s</mi><mo>=</mo><mi>G</mi><mi>m</mi><mi>e</mi><mi>a</mi><mi>n</mi><mi>s</mi><mo>=</mo><msqrt><mrow><mi>t</mi><mi>r</mi><mi>u</mi><mi>e</mi><mi> </mi><mi>p</mi><mi>o</mi><mi>s</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi> </mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mo>&times;</mo><mi>t</mi><mi>r</mi><mi>u</mi><mi>e</mi><mi> </mi><mi>n</mi><mi>e</mi><mi>g</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi> </mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi></mrow></msqrt></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><msqrt><mfrac><mrow><mi>T</mi><mi>P</mi></mrow><mrow><mi>T</mi><mi>P</mi><mo>+</mo><mi>F</mi><mi>N</mi></mrow></mfrac></msqrt><mo>&times;</mo><msqrt><mfrac><mrow><mi>T</mi><mi>N</mi></mrow><mrow><mi>F</mi><mi>P</mi><mo>+</mo><mi>T</mi><mi>N</mi></mrow></mfrac></msqrt></mrow></mtd></mtr></mtable></mfenced>其中,TP为实际有缺陷且分类正确的模块数,FN为实际有缺陷但被分类错误的模块数,FP为实际无缺陷但被分类错误的模块数,TN为实际无缺陷且分类正确的模块数;(4)判断是否达到迭代次数,若达到,则输出当前最优特征子集,否则执行以下过程(a)根据适应度函数选择遗传到下一代的个体,适应度越高被选择的概率越大;(b)采用单点交叉算子进行交叉操作,采用单点变异算子进行变异操作;C.根据得到的最优特征子集,充分考虑软件缺陷数据的不平衡性,训练基于改进的Adaboost分类器,得到软件缺陷预测模型,步骤如下:(1)初始化样本集内的样本权重D1(i)=1/n其中,n为样本数,D1(i)为样本在第1轮迭代中的权重;(2)进行T次循环训练弱分类器ht(x),迭代次数t=1,2,…,T(a)计算弱分类器ht(x)在当前样本分布上的分类错误率,针对软件缺陷数据的不平衡性,应充分关注被误分为“无缺陷”实则“有缺陷的”样本,被误分为“无缺陷”的样本比例越大,则分类器的分类错误率应相应地增加;因此,设定ht(x)的分类错误率为:<mrow><msub><mi>&epsiv;</mi><mi>t</mi></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>D</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mi>I</mi><mo>&lsqb;</mo><msub><mi>h</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>&NotEqual;</mo><msub><mi>y</mi><mi>i</mi></msub><mo>&rsqb;</mo><mo>+</mo><mfrac><mrow><mi>F</mi><mi>N</mi></mrow><mrow><mi>T</mi><mi>P</mi><mo>+</mo><mi>F</mi><mi>N</mi></mrow></mfrac></mrow>其中,其中Dt(i)为样本(xi,yi)在第t轮迭代中的权重,I[ht(xi)≠yi]说明参与分类错误率εt计算的是被误分类的样本;(b)若εt>0.5或者εt=0,则令T=t‑1,迭代停止;(3)计算弱分类器ht(x)在最终集成获得的强分类器中的加权系数:<mrow><msub><mi>&alpha;</mi><mi>t</mi></msub><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>ln</mi><mfrac><mrow><mn>1</mn><mo>-</mo><msub><mi>&epsiv;</mi><mi>t</mi></msub></mrow><msub><mi>&epsiv;</mi><mi>t</mi></msub></mfrac></mrow>(4)更新训练集样本权值:其中,Zt是归一化因子:<mrow><msub><mi>Z</mi><mi>t</mi></msub><mo>=</mo><msub><mi>&Sigma;D</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><msup><mi>e</mi><mrow><mo>(</mo><mo>-</mo><msub><mi>&alpha;</mi><mi>t</mi></msub><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo><msub><mi>h</mi><mi>t</mi></msub><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow></msup></mrow>(5)输出强分类器:<mrow><mi>H</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mi>s</mi><mi>i</mi><mi>g</mi><mi>n</mi><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><munderover><mo>&Sigma;</mo><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mi>T</mi></munderover><msub><mi>&alpha;</mi><mi>t</mi></msub></mrow></mtd><mtd><mrow><msub><mi>h</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced></mrow>(6)利用得到的强分类器,对软件模块进行缺陷预测。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国石油大学(华东),未经中国石油大学(华东)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201610004546.3/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top