CN109165160A - 基于核主成分分析算法的软件缺陷预测模型设计方法 - Google Patents

基于核主成分分析算法的软件缺陷预测模型设计方法 Download PDF

Info

Publication number
CN109165160A
CN109165160A CN201810987740.7A CN201810987740A CN109165160A CN 109165160 A CN109165160 A CN 109165160A CN 201810987740 A CN201810987740 A CN 201810987740A CN 109165160 A CN109165160 A CN 109165160A
Authority
CN
China
Prior art keywords
software defect
kernel function
component analysis
prediction model
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810987740.7A
Other languages
English (en)
Inventor
单纯
张思聪
孙世有
危胜军
刘臻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201810987740.7A priority Critical patent/CN109165160A/zh
Publication of CN109165160A publication Critical patent/CN109165160A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开一种基于核主成分分析算法的软件缺陷预测模型设计方法,步骤一、确定用于训练模型的数据集,并将数据集划分为训练集和测试集;步骤二、使用核主成分分析算法对训练集进行降维处理:选择核函数并确定核函数的参数,选择降维的维度,然后对训练集降维;步骤三、将降维后的训练集作为输入,选择高斯(RBF)函数作为SVM核函数,定义取值区间和步长,使用网格搜索通过十折交叉验证的实验方法来寻找SVM的参数惩罚因子C和核函数参数σ的最优解;步骤四、通过测试集来测试模型的性能,完成软件缺陷预测模型的设计,本发明能够解决软件缺陷的度量元中存在冗余数据的问题,提高机器学习算法准确率。

Description

基于核主成分分析算法的软件缺陷预测模型设计方法
技术领域
本发明属于软件安全领域,具体涉及一种基于核主成分分析算法的软件缺陷预测模型设计方法。
背景技术
软件缺陷:从产品的内部角度看,缺陷是软件产品开发或维护过程中的错误或问题;从产品外部来看,缺陷是系统需要实现的某个功能的失败或违反。所以软件缺陷实际就是软件产品没有满足期望的功能并且没有满足规范要求,造成使用的不便。
主成分分析(PCA):主成分分析是一种无参的降维算法,使用简单,能够有效解决数据冗余、数据噪声等问题,所以被广泛用于机器学习领域。
核主成分分析(KPCA):将SVM中的核方法引入主成分分析的算法,KPCA是一种非线性降维算法,是对PCA算法的改进。
支持向量机(SVM):支持向量机是一种通用的前馈神经网络,可以用于模式分类和非线性回归。
从上个世纪70年代开始,软件缺陷预测技术逐渐发展起来,随着软件变得越来越重要,软件系统变得越来越复杂,软件缺陷预测技术变得越来越重要;随着统计学技术被引入到软件缺陷预测技术中,根据历史数据以及已经发现的缺陷等软件度量数据预测软件系统的缺陷数目及类型。现有的模型主要是基于机器学习算法来实现的,主要包括:线性判别分析(Linear Discriminant Analysis,LDA),逻辑回归(Logistic Regression,LR),分类回归树(Classification and Regression Tree,CART),神经网络(Artificial NeuralNetwork,ANN),朴素贝叶斯(Naive Bayes,NB)和支持向量机(Support Vector Machine,SVM)等,然后在此基础上进行改进和优化,发展至今,软件缺陷预测技术至今有了很多成熟的模型。
与软件缺陷预测相关的文献主要有:基于改进的支持向量机的软件缺陷优先级预测方法(公开号CN2012100578883)以及软件缺陷预测方法和系统(公开号CN2015102471579)。
因为对历史数据的预处理是影响软件缺陷预测模型性能的重要因素,越来越多的研究人员把数据降维作为软件缺陷预测技术的重点研究内容。目前应用较多的降维算法就是局部线性嵌入算法(LLE),LLE算法虽然是非线性降维,但是该算法只保持样本空间的局部结构不变,对于数据集的空间结构不能够完整保持。
发明内容
有鉴于此,本发明提供了一种基于核主成分分析算法的软件缺陷预测模型设计方法,能够解决软件缺陷的度量元中存在冗余数据的问题,提高机器学习算法准确率。
实现本发明的技术方案如下:
基于核主成分分析算法的软件缺陷预测模型设计方法,包括以下步骤:
步骤一、确定用于训练模型的数据集,并将数据集划分为训练集和测试集;
步骤二、使用核主成分分析算法对训练集进行降维处理:选择核函数并确定核函数的参数,选择降维的维度,然后对训练集降维;
步骤三、将降维后的训练集作为输入,选择高斯(RBF)函数作为SVM核函数,定义取值区间和步长,使用网格搜索通过十折交叉验证的实验方法来寻找SVM的参数惩罚因子C和核函数参数σ的最优解;
步骤四、通过测试集来测试模型的性能,完成软件缺陷预测模型的设计。
进一步地,步骤二中所选择的核函数为多项式核函数。
进一步地,步骤二中核函数的参数d为2~7。
有益效果:
1、本发明在分析了软件度量技术和软件缺陷预测技术后,考虑到软件缺陷预测数据集中存在的数据冗余问题,使用核主成分分析算法来对数据集进行降维处理,并通过SVM作为分类算法,构建了KPCA-SVM软件缺陷预测模型。
2、本发明针对PCA算法难以处理非线性数据和LLE算法只能维持样本空间局部特征的问题,提出使用KPCA降维算法,较好地解决了数据冗余的问题,而且可以维持数据的全局特征,避免了全局特征的丢失。
附图说明
图1是本发明提供的一种软件缺陷预测方法的流程图。
图2是本发明提供的一种软件缺陷预测方法的降维原理图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
如图1所示,本发明提供了一种基于核主成分分析算法的软件缺陷预测模型设计方法,包括以下步骤:
步骤一、确定用于训练模型的数据集,整理数据集,使得数据集中的样本适合模型训练和测试,并将数据集划分为训练集和测试集;
步骤二、使用核主成分分析算法对训练集进行降维处理:选择核函数并确定核函数的参数,选择降维的维度,然后对训练集降维;
步骤三、将降维后的训练集作为输入,选择高斯(RBF)函数作为SVM核函数,定义取值区间和步长,使用网格搜索通过十折交叉验证的实验方法来寻找SVM的参数惩罚因子C和核函数参数σ的最优解;
步骤四、通过测试集来测试模型的性能;
步骤五、使用模型进行软件缺陷预测。
本发明所采用的数据降维方法原理如图2所示,方法如下:
将样本集中的m个样本记为xk(k=1,2,...,m),通过引入非线性映射函数Φ中心化使得得到协方差矩阵:
之后,问题就变成了求解特征方程:
λv=Cv (2)
其中,λ代表特征值,v是特征向量,进一步可以得到:
λ=(Φ(xk)·v)=Φ(xk)·Cv (3)
从上式中可以看出,特征向量可以由Φ(xi)(i=1,2,...,m)线性表示,表达式为:
根据式1~3可以得到:
其中(k=1,2,3...m),由于映射函数Φ太过复杂,一般不能得到,所以将核函数引入:
kij=Φ(xi)Φ(xj) (6)
将式6代入式5中,简化得到式7。
KA=λA (7)
其中,K代表核矩阵,所以就将问题转化为特征值分解,取K最大的n个特征向量即可。所以,新的样本x投影后的第j(j=1,2,...,n)维坐标就变成了如式8所示。
对于核函数的选择,在经过实验对比后,多项式核函数在本模型中降维的效果较好,在使用高斯核函数后,会导致除准确率外的其他评价指标过低,所以选择多项式核函数。
对于参数的选择,即降维的维度K和多项式核函数的参数d,对于参数d的选择,不宜设置太高,否则会造成求解的困难,而且经过多次尝试,发现在d=8以后,降维的效果就不太理想了,并且也存在准确率极高其他评价指标过低的情况,所以综合考虑了上述问题,将d的范围设置在d=2到d=7之间;对于降维维度K的选择,先在K=4,K=8,K=15三个维度上进行实验对比,然后在相对较优的情况下,在该K值周围取值,逐步求精,得到相对较优的K值和d值。
本发明采用SVM进行数据分类,函数及参数选取方法如下:
本发明在参考了大量的文献并经过实验对比后发现,选择径向基函数作为核函数相对于其他核函数在性能上表现最好,所以本发明选择径向基函数。
在确定了径向基核函数后,就要解决支持向量机的参数寻优问题。支持向量机的参数主要是惩罚因子C和核函数的参数σ。对于参数的寻优,本发明采用了应用较为广泛的网格搜索结合十折交叉验证来寻找预测准确率最高的那组C和σ。
本发明参数寻优的过程就是将KPCA降维后的训练集划分为10个大小相同的互斥子集,计算每个网格的参数组合对应的十折交叉验证的准确率,找到准确率最高的结果对应网格的参数组合就是最优参数,通过这样的方式来确定SVM分类的最优参数,确定了参数后就可以训练缺陷预测模型。
本发明进行了与单一SVM和LLE-SVM缺陷预测模型的实验对比,分别在CM1、JM1、KC1和PC1四个数据集中进行了对比。证明了KPCA-SVM模型的可行性,说明了KPCA-SVM能够解决数据冗余的问题,而且可以通过维持样本空间的全局特征来提高缺陷预测的准确度。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种基于核主成分分析算法的软件缺陷预测模型设计方法,其特征在于,包括以下步骤:
步骤一、确定用于训练模型的数据集,并将数据集划分为训练集和测试集;
步骤二、使用核主成分分析算法对训练集进行降维处理:选择核函数并确定核函数的参数,选择降维的维度,然后对训练集降维;
步骤三、将降维后的训练集作为输入,选择高斯(RBF)函数作为SVM核函数,定义取值区间和步长,使用网格搜索通过十折交叉验证的实验方法来寻找SVM的参数惩罚因子C和核函数参数σ的最优解;
步骤四、通过测试集来测试模型的性能,完成软件缺陷预测模型的设计。
2.如权利要求1所述的一种基于核主成分分析算法的软件缺陷预测模型设计方法,其特征在于,步骤二中所选择的核函数为多项式核函数。
3.如权利要求2所述的一种基于核主成分分析算法的软件缺陷预测模型设计方法,其特征在于,步骤二中核函数的参数d为2~7。
CN201810987740.7A 2018-08-28 2018-08-28 基于核主成分分析算法的软件缺陷预测模型设计方法 Pending CN109165160A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810987740.7A CN109165160A (zh) 2018-08-28 2018-08-28 基于核主成分分析算法的软件缺陷预测模型设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810987740.7A CN109165160A (zh) 2018-08-28 2018-08-28 基于核主成分分析算法的软件缺陷预测模型设计方法

Publications (1)

Publication Number Publication Date
CN109165160A true CN109165160A (zh) 2019-01-08

Family

ID=64893086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810987740.7A Pending CN109165160A (zh) 2018-08-28 2018-08-28 基于核主成分分析算法的软件缺陷预测模型设计方法

Country Status (1)

Country Link
CN (1) CN109165160A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110147321A (zh) * 2019-04-19 2019-08-20 北京航空航天大学 一种基于软件网络的缺陷高风险模块的识别方法
CN110717528A (zh) * 2019-09-25 2020-01-21 中国石油大学(华东) 运用常规测井资料的基于支持向量机的沉积微相识别方法
CN110889564A (zh) * 2019-12-16 2020-03-17 吉林大学 基于mkpca-rbfnn的短期电力负荷预测方法
CN111009321A (zh) * 2019-08-14 2020-04-14 电子科技大学 一种机器学习分类模型在青少年孤独症辅助诊断中的应用方法
CN111028944A (zh) * 2019-12-16 2020-04-17 南昌大学第二附属医院 一种基于核主成分分析和多项式特征的脑血管病神经功能损伤程度预测模型
CN111177011A (zh) * 2020-01-02 2020-05-19 腾讯科技(深圳)有限公司 软件免测的预测方法、装置、设备及存储介质
WO2021146996A1 (zh) * 2020-01-22 2021-07-29 京东方科技集团股份有限公司 设备指标优良性等级预测模型训练方法、监控系统和方法
CN113254925A (zh) * 2021-02-01 2021-08-13 中国人民解放军海军工程大学 一种基于pca与svm的网络入侵检测系统
CN114428719A (zh) * 2020-10-10 2022-05-03 中国石油化工股份有限公司 基于k-b的软件缺陷预测方法、装置、电子设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169623A (zh) * 2007-11-22 2008-04-30 东北大学 基于核主元分析贡献图的非线性过程故障辨识方法
CN102142091A (zh) * 2011-03-30 2011-08-03 东华大学 一种核集成优化分类方法
CN103810101A (zh) * 2014-02-19 2014-05-21 北京理工大学 一种软件缺陷预测方法和软件缺陷预测系统
CN104573729A (zh) * 2015-01-23 2015-04-29 东南大学 一种基于核主成分分析网络的图像分类方法
CN107957946A (zh) * 2017-12-01 2018-04-24 北京理工大学 基于邻域嵌入保护算法支持向量机的软件缺陷预测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169623A (zh) * 2007-11-22 2008-04-30 东北大学 基于核主元分析贡献图的非线性过程故障辨识方法
CN102142091A (zh) * 2011-03-30 2011-08-03 东华大学 一种核集成优化分类方法
CN103810101A (zh) * 2014-02-19 2014-05-21 北京理工大学 一种软件缺陷预测方法和软件缺陷预测系统
CN104573729A (zh) * 2015-01-23 2015-04-29 东南大学 一种基于核主成分分析网络的图像分类方法
CN107957946A (zh) * 2017-12-01 2018-04-24 北京理工大学 基于邻域嵌入保护算法支持向量机的软件缺陷预测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WEI WANG,MIN ZHANG,DAN WANG,YU JIANG: "Kernel PCA feature extraction and the SVM classification algorithm for multiple-status, through-wall, human being detection", 《EURASIP JOURNAL ON WIRELESS COMMUNICATIONS AND NETWORKING》 *
单纯: "软件缺陷分布预测技术及应用研究", 《中国博士学位论文全文数据库信息科技辑》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110147321A (zh) * 2019-04-19 2019-08-20 北京航空航天大学 一种基于软件网络的缺陷高风险模块的识别方法
CN110147321B (zh) * 2019-04-19 2020-11-24 北京航空航天大学 一种基于软件网络的缺陷高风险模块的识别方法
CN111009321A (zh) * 2019-08-14 2020-04-14 电子科技大学 一种机器学习分类模型在青少年孤独症辅助诊断中的应用方法
CN110717528A (zh) * 2019-09-25 2020-01-21 中国石油大学(华东) 运用常规测井资料的基于支持向量机的沉积微相识别方法
CN110889564A (zh) * 2019-12-16 2020-03-17 吉林大学 基于mkpca-rbfnn的短期电力负荷预测方法
CN111028944A (zh) * 2019-12-16 2020-04-17 南昌大学第二附属医院 一种基于核主成分分析和多项式特征的脑血管病神经功能损伤程度预测模型
CN111177011A (zh) * 2020-01-02 2020-05-19 腾讯科技(深圳)有限公司 软件免测的预测方法、装置、设备及存储介质
WO2021146996A1 (zh) * 2020-01-22 2021-07-29 京东方科技集团股份有限公司 设备指标优良性等级预测模型训练方法、监控系统和方法
CN114428719A (zh) * 2020-10-10 2022-05-03 中国石油化工股份有限公司 基于k-b的软件缺陷预测方法、装置、电子设备及介质
CN113254925A (zh) * 2021-02-01 2021-08-13 中国人民解放军海军工程大学 一种基于pca与svm的网络入侵检测系统
CN113254925B (zh) * 2021-02-01 2022-11-15 中国人民解放军海军工程大学 一种基于pca与svm的网络入侵检测系统

Similar Documents

Publication Publication Date Title
CN109165160A (zh) 基于核主成分分析算法的软件缺陷预测模型设计方法
Enke et al. Stock market prediction using a combination of stepwise regression analysis, differential evolution-based fuzzy clustering, and a fuzzy inference neural network
Li et al. A novel double incremental learning algorithm for time series prediction
Hassan et al. A hybrid of multiobjective Evolutionary Algorithm and HMM-Fuzzy model for time series prediction
CN102881019B (zh) 一种具备迁移学习能力的模糊聚类图像分割方法
CN107957946B (zh) 基于邻域嵌入保护算法支持向量机的软件缺陷预测方法
CN108459955A (zh) 基于深度自编码网络的软件缺陷预测方法
Xia et al. Deciphering spatio-temporal graph forecasting: A causal lens and treatment
Bhuyan et al. Analysis of subfeature for classification in data mining
CN105868796A (zh) 基于核空间的线性鉴别稀疏表示分类器的设计方法
Xu et al. [Retracted] Application Analysis of the Machine Learning Fusion Model in Building a Financial Fraud Prediction Model
Nguyen et al. InfoCNF: An efficient conditional continuous normalizing flow with adaptive solvers
Choong et al. Jack and masters of all trades: One-pass learning sets of model sets from large pre-trained models
Gu et al. Classification of class overlapping datasets by kernel-MTS method
Ni et al. A novel ensemble pruning approach based on information exchange glowworm swarm optimization and complementarity measure
CN111639688A (zh) 一种基于线性核svm的物联网智能模型的局部解释方法
Ortner et al. Robust and sparse multigroup classification by the optimal scoring approach
Xu et al. Rethink long-tailed recognition with vision transforms
Zhu et al. Fast Adaptive Character Animation Synthesis Based on Greedy Algorithm
Agarwal et al. Reinforcement explanation learning
Wu et al. Memetic algorithm based support vector machine classification
Han et al. Transforming Graphs for Enhanced Attribute-Based Clustering: An Innovative Graph Transformer Method
CN118094216B (zh) 一种多模态模型优化检索训练方法及存储介质
Wen et al. An Improved Hypervolume-Based Evolutionary Algorithm for Many-Objective Optimization
CN113688229B (zh) 一种文本推荐方法、系统、存储介质和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190108

WD01 Invention patent application deemed withdrawn after publication