宮麗娜
(棗莊學院信息科學與工程學院,山東棗莊 277160)
粗糙集模糊神經網絡軟件質量預測
宮麗娜
(棗莊學院信息科學與工程學院,山東棗莊 277160)
以面向對象的軟件度量為研究對象,首先采用SOM神經網絡離散化度量元因子矩陣數據,接著對于得到的離散化的矩陣數據采用粗糙集理論的屬性約簡算法進行屬性約簡,然后根據約簡得到規則構造模糊神經網絡的網絡結構,并采用BP算法對網絡進行訓練,最后通過仿真實驗驗證了該算法。
軟件質量;粗糙集;規則提取;模糊神經網絡;BP算法
軟件的使用和維護受限于軟件的質量,所以對軟件質量進行評價至關重要。但是由于在開發的過程中有各種不確定的因素,所以一般情況下采用的是模糊評價方法。為了精確、客觀和科學的評價軟件質量,文中將模糊神經網絡的強大學習能力和粗糙集的知識表達能力相結合,提出了基于粗糙集理論的模糊神經網絡的軟件質量預測模型。
國際標準化組織ISO的質量特性國際標準ISO/IEC9126定義軟件質量為:能夠反映軟件產品滿足規定需求和潛在需求能力的特征和特性的總和[1]。軟件質量直接影響到軟件的使用以及后期的維護,所以對軟件質量進行評價特別重要。
利用神經網絡構建軟件質量預測模型在國內外已經有了一定的研究成果,其中給予BP神經網絡的模型較多,而傳統的BP算法存在收斂速度慢和易于陷入局部極小問題。在模糊神經網絡的應用中,當模糊神經網絡輸入變量多時,網絡結構就比較復雜,所花費的時間相對比較長。綜上所述,文中結合模糊神經網絡和粗糙集,利用粗糙集理論的屬性約簡算法提取規則,從而構建模糊神經網絡。
基于模糊系統和神經網絡的互補性,發展了模糊神經網絡。但是當網絡輸入層的輸入維數較高時,模糊規則會呈幾何級數增加,這樣就會構造龐大的網絡結構,從而需要很長的訓練時間。針對這個問題,文中采用粗糙集理論的屬性約簡算法提取模糊規則,從而能夠簡化網絡結構,加快訓練速度。但是,屬性約簡算法只能提取離散化的數據,所以首先離散化數據。
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層的節點數,該層的功能是歸一化計算,即:

通過預測面向對象軟件的可靠性質量屬性驗證了算法的可行性。模型的輸入變量是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個節點,所以優化了網絡的結構,縮短了訓練時間。
軟件的使用和維護受限于軟件的質量,所以對軟件質量進行評價至關重要。但是由于在開發的過程中有各種不確定的因素,因此,應該選擇合適的模型來表示軟件質量與軟件的各種不確定性因素之間的關系。為了對軟件質量進行精確、客
觀和科學的評價,文中提出了基于粗糙集理論的模糊神經網絡的軟件質量預測方法。在粗糙集的規則提取中采用了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.