APP下载

粗糙集模糊神经网络软件质量预测

2014-06-07宫丽娜

长春工业大学学报 2014年1期
关键词:约简粗糙集神经网络

宫丽娜

(枣庄学院信息科学与工程学院,山东枣庄 277160)

粗糙集模糊神经网络软件质量预测

宫丽娜

(枣庄学院信息科学与工程学院,山东枣庄 277160)

以面向对象的软件度量为研究对象,首先采用SOM神经网络离散化度量元因子矩阵数据,接着对于得到的离散化的矩阵数据采用粗糙集理论的属性约简算法进行属性约简,然后根据约简得到规则构造模糊神经网络的网络结构,并采用BP算法对网络进行训练,最后通过仿真实验验证了该算法。

软件质量;粗糙集;规则提取;模糊神经网络;BP算法

0 引 言

软件的使用和维护受限于软件的质量,所以对软件质量进行评价至关重要。但是由于在开发的过程中有各种不确定的因素,所以一般情况下采用的是模糊评价方法。为了精确、客观和科学的评价软件质量,文中将模糊神经网络的强大学习能力和粗糙集的知识表达能力相结合,提出了基于粗糙集理论的模糊神经网络的软件质量预测模型。

1 软件质量综述

国际标准化组织ISO的质量特性国际标准ISO/IEC9126定义软件质量为:能够反映软件产品满足规定需求和潜在需求能力的特征和特性的总和[1]。软件质量直接影响到软件的使用以及后期的维护,所以对软件质量进行评价特别重要。

利用神经网络构建软件质量预测模型在国内外已经有了一定的研究成果,其中给予BP神经网络的模型较多,而传统的BP算法存在收敛速度慢和易于陷入局部极小问题。在模糊神经网络的应用中,当模糊神经网络输入变量多时,网络结构就比较复杂,所花费的时间相对比较长。综上所述,文中结合模糊神经网络和粗糙集,利用粗糙集理论的属性约简算法提取规则,从而构建模糊神经网络。

2 基于粗糙集的模糊神经网络预测模型

基于模糊系统和神经网络的互补性,发展了模糊神经网络。但是当网络输入层的输入维数较高时,模糊规则会呈几何级数增加,这样就会构造庞大的网络结构,从而需要很长的训练时间。针对这个问题,文中采用粗糙集理论的属性约简算法提取模糊规则,从而能够简化网络结构,加快训练速度。但是,属性约简算法只能提取离散化的数据,所以首先离散化数据。

2.1 连续属性值的离散化

离散化连续数据常见的方法有:等间隔法、等频法、模糊方法等[2]。文中利用自组织特征映射网络(SOM)离散化连续的度量元因子数据,具体过程如下:

1)初始化自组织特征映射网络(SOM)的变量值m和d=1;其中m为初始分类值,d为条件属性初始维数;

2)从小到大(或者从大到小)排序第d维的条件属性;

3)利用SOM网络分类排序后的第d维条件属性值;

4)第m类的分界值(即属性量化参数)赋值为相邻两类边界属性值的均值;

5)通过条件属性量化参数、量化该维条件属性;

6)维数d=d+1,然后返回2),直到最后一维条件属性。

2.2 规则的提取

数据离散化后下步就是从该表中提取出规则。提取分类规则的基本原理和思想是[3-4]:采用属性约简算法去掉不必要的条件属性,从而得到原信息表的约简,通过该约简和决策属性结合提取分类规则。文中采用差别矩阵表示知识的约简方法。具体算法如下:

1)初始化;red(T)=φ,core(T)=φ,col[j]=0;row[i]=0;

2)计算差别矩阵D(T)中每行非0元素的个数记入row[i],计算每列非0元素的个数并记入col[j];

3)找出row[i]=1的行,将该元素加入core(T);

4)删除D(T)中包含core(T)中元素的所有行,并删除该core(T)所在的列;

5)通过4)新构成的D(T),如果D(T)=(0),则red(T)=core(T),转到9),否则,转到6);

6)求col[j]中的最大值所对应的列;其中colmax=max{col[1],col[2],…,col[q]};

7)删除该列,将该列所有不为0的元素加入red(T),并删除该元素所在的行;

8)剩余的元素构成新的矩阵D(T),转到5);9)输出core(T),red(T),结束算法。

2.3 基于约简规则集的模糊神经网络预测模型2.3.1 构建的模糊神经网络结构

利用上一步得到的决策规则构造模糊神经网络预测模型。网络结构[5]如图1所示。

图1 模糊神经网络结构图

图中:第1层是输入层,节点i对应于输入向量x的第i个分量{xi}。

第2层是模糊化层,该层节点的个数由离散化过程来决定,其中每个节点代表一个模糊语言变量值。该层输出是隶属度(即输入属于该语言变量的程度)。其中隶属函数是:式中:cij——第i个输入语言变量xi对第j个语言变量的隶属函数的中心;

σij——第i个输入语言变量xi对第j个语言变量的隶属函数的宽度。

第3层是规则层,节点的数目由决策规则数决定,该层的功能是实现粗糙集规则匹配。其中一个节点代表一个某条模糊规则的前件部分。该层与模糊化层的连接权值为“1”。

第4层是归一化层,该层的节点数为第3层的节点数,该层的功能是归一化计算,即:

3 仿真实验

通过预测面向对象软件的可靠性质量属性验证了算法的可行性。模型的输入变量是CK度量指标:CBO,WMC,DIT,RFC,NOC,LCOM,输出时软件的可靠性[6-9]构成了一个6输入1输出的模糊神经网络结构,并用Matlab编程实现。

利用粗糙集对美国宇航局的度量数据计划中的KC1数据库数据处理构造的模糊神经网络,网络结构第1层为6个节点(6个属性值输入);第2层为24个节点(把每个输入分别离散化为了4个语言变量);第3层为16个节点(即得到的16个规则);第4层为16个节点;第5层为1个节点(即可靠性输出)。

利用BP算法训练了1 000次,得到总体误差为0.364 2。训练结果如图2所示。

图2 基于粗糙集的模糊神经网络训练结果

文中同样用模糊神经网络对样本数据进行训练了1 000次,训练结果如图3所示。

图3 模糊神经网络的训练结果

实验误差达到64.208 3,结果不理想,而且训练时间很长。

学习算法的比较见表1

表1 学习算法的比较

由表1可知,基于粗糙集的模糊神经网络预测模型得到较好的结果,并且构造的模糊神经网络的规则层节点个数只有16个,而如果直接用模糊神经网络规则层需要46=4 096个节点,所以优化了网络的结构,缩短了训练时间。

4 结 语

软件的使用和维护受限于软件的质量,所以对软件质量进行评价至关重要。但是由于在开发的过程中有各种不确定的因素,因此,应该选择合适的模型来表示软件质量与软件的各种不确定性因素之间的关系。为了对软件质量进行精确、客

观和科学的评价,文中提出了基于粗糙集理论的模糊神经网络的软件质量预测方法。在粗糙集的规则提取中采用了SOM网络方法对连续属性进行离散化,并通过实验验证了该模型。

[1]郑人杰,殷人昆,陶永雷.实用软件工程[M].2版.北京:清华大学出版社,2002.

[2]于锟,刘知贵,黄正良.粗糙集理论应用中的离散化方法综述[J].西南科技大学学报,2005,20(4):32-36.

[3]张文修,吴伟志.粗糙集理论与方法[M].北京:科学出版社,2001.

[4]周庆敏,李永生.基于Rough集理论的知识约简与规则挖掘方法[J].南京工业大学学报,2003,25(4):33-36.

[5]李国勇.智能控制及其MATLAB实现[M].北京:电子工业出版社,2005.

[6]郭海湘,诸克军,黎金玲.基于模糊神经网络提取我国经济增长的模糊规则[J].长春工业大学学报:自然科学版,2004,25(3):34-38.

[7]Mie Mie Thet Thwin,Tong Seng Quah.Application of neural network for predicting software development faults using objectoriented design metrics[C]//Preceeding of 9th Internatinal Conference on Neura1Information Processing(ICONIP'OZ),2002,5:2312-2316.

[8]Quah Jon T S,Mie Mie Thet Thwin.Prediction of software readiness using neural network[C]//Proceedings of 1st International Conference on Information Technology &Applications(ICITA 2002).Australia,2002:25-28.

[9]Mie Mie Thet Thwin,Tong Seng Quah.Application of neural networks for software quality prediction using object oriented mettics[J].Journal of Systems and Software,2005,76(2):147-156.

Rough set based fuzzy neural network algorithm for software quality prediction

GONG Li-na

(College of Information Science and Engineering,University of Zaozhuang,Zaozhuang 277160,China)

Taking the object oriented software as example,we apply the SOM neural network to discretize data matrix and then minimize the data with rough set reduction algorithm.Based on the simplifying rules,We build the fuzzy neural network structure trained by BP algorithm.The experiments show that the algorithm is feasible.

software quality;rough set;rule extraction;fuzzy neural network;BP algorithm.

TP 311

A

1674-1374(2014)01-0082-04

2013-11-25

宫丽娜(1985-),女,汉族,山东东平人,枣庄学院助教,硕士,主要从事软件工程方向研究,E-mail:gln88888@163.com.

猜你喜欢

约简粗糙集神经网络
基于Pawlak粗糙集模型的集合运算关系
神经网络抑制无线通信干扰探究
基于二进制链表的粗糙集属性约简
基于粗糙集的不完备信息系统增量式属性约简
实值多变量维数约简:综述
基于模糊贴近度的属性约简
多粒化粗糙集性质的几个充分条件
双论域粗糙集在故障诊断中的应用
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用