基于FUZZY-SVM的软件质量综合评价
2018-06-29郑鹏
长春工业大学学报 2018年3期
郑 鹏
(莆田学院 信息工程学院, 福建 莆田 351100)
0 引 言
随着国家软件产业进入高速发展阶段,软件质量评价问题引起了人们的广泛关注。由于传统的评价方法存在很多不足,支持向量机(Support Vector Machine, SVM)算法作为基于统计学的一种新的机器学习算法,克服了主观赋权法的主观性和维数灾的问题,其全局寻优也解决了神经网络法中的局部极值问题。文中将模糊数学和SVM结合,提出模糊支持向量机(Fuzzy Support Vector Machine, FUZZY-SVM)模型,旨在为软件质量的综合评价提供一个新的思路。
1 软件质量的度量
软件质量度量指的是对软件质量在开发过程进行质量控制、在验收阶段进行评价评估。为了可以提供一个科学度量的标准,ISO发布了ISO/IEC 25010软件质量度量模型[1]。该模型根据最小关联与独立的原则把软件产品划分为8个质量特性和31个质量子特性。质量特性是代表软件质量的一个方面,用于描述和评价软件的某方面属性。子特性是质量特性的细分,一个质量特性可以由多个子特性表达,某个子特性也可以属于多个质量特性。ISO/IEC 25010模型是一个成熟全面的度量模型,文中将选其作为度量模型。
2 SVM、FUZZY-SVM模型
2.1 SVM
SVM算法是基于统计学习理论体系,由Cortes等[2]提出的一种解决线性不可分问题的新型通用机器学习方法。
假设线性可分样本集为(xi,yi),i=1,2,…,n,x∈Rc,y∈{+1,-1},其中y为类别符号。在维度为c的空间中,将线性判别函数的形式一般表示为:
f(x)=ωx+b
分类线性方程表示为:
ωx+b=0
将判别函数进行归一化,使样本满足
|f(x)|=1
此时分类间隔等于‖w‖/2。要使分类间隔最大,即‖w‖最小,需要满足:……p>
登录APP查看全文
