基于粗集的神經網絡的項目風險的評估
[摘 要] 本篇論文我們介紹了基于粗集的BP神經網絡識別項目的風險并評估項目風險。粗集(RS)與神經網絡的集成反映了人類正常的思維機制。它融合了定性和定量的,精確和非確定的,連續和平行的方法。我們建立了粗集的神經網絡并進行屬性約簡的混合模型,給出了軟件項目風險在實際中的早期預警模型即評估模型,提出了有效的方法。
[關鍵詞] 軟件項目風險管理 神經網絡 粗集
本篇論文的中心是基于粗集的人工神經網絡(ANN)技術的高風險識別,這樣在制定開發計劃中,最大的減少風險發生的概率,形成對高風險的管理。
一、模型結構的建立
本文基于粗集的BP 神經網絡的風險分析模型,對項目的風險進行評估,為項目進行中的風險管理提供決策支持。在這個模型中主要是粗糙集預處理神經網絡系統,即用RS理論對ANN輸入端的樣本約簡,尋找屬性間關系,約簡掉與決策無關的屬性。簡化輸入信息的表達空間維數,簡化ANN結構。本論文在此理論基礎上,建立一種風險評估的模型結構。這個模型由三部分組成即:風險辨識單元庫、神經網絡單元、風險預警單元。
1.風險辨識單元庫。由三個部分功能組成:歷史數據的輸入,屬性約簡和初始化數據. 這里用戶需提供歷史的項目風險系數。所謂項目風險系數,是在項目評價中根據各種客觀定量指標加權推算出的一種評價項目風險程度的客觀指標。計算的方法:根據項目完成時間、項目費用和效益投入比三個客觀指標,結合項目對各種資源的要求,確定三個指標的權值。項目風險系數可以表述成:r=f(w1,w2,w3,T,T/T0,S/S0,U/U0),R<1;式中: r 為風險系數;T 、T0分別為實際時間和計劃時間;S、S0分別為實際費用和計劃費用;U、U0分別為實際效能和預計效能;w1、w2、w3分別是時間、費用和效能的加權系數,而且應滿足w1+w2+w3=1的條件。
2.神經網絡單元。完成風險辨識單元的輸入后,神經網絡單元需要先載入經初始化的核心風險因素的歷史數據,進行網絡中權值的訓練,可以得到輸入層與隱含層、隱含層與輸出層之間的權值和閥值。
(1)選取核心特征數據作為輸入,模式對xp=[xp1,xp2,.,xpn ]T,dp(網絡期望輸出) 提供給網絡。用輸入模式xp,連接權系數wij及閾值hj計算各隱含單元的輸出。
m
Ypj=1/{1+exp[-(∑wijxpi-hj)]},i =1,2,.,m;j=1,2,Λ,n ,
i=1
(2)用隱含層輸出ypj,連接權系數wij及閾值h計算輸出單元的輸出
m
Yp=1/{1+exp[-(∑wjxpi-hj)]},i=1,2,.,m;j=1,2,Λ,n,
i=1
Yp=[y1,y2,……,yn]T
(3)比較已知輸出與計算輸出, 計算下一次的隱含各層和輸出層之間新的連接權值及輸出神經元閾值。
wj(k+1)=wj(k)+η(k)σpσpj+α[wj(k)-wj(k-1)]
h(k+1)=h(k)+η(k)σp+α[h(k)-h(k-1)]
η(k)=η0(1-t/(T+M))
η0是初始步長;t是學習次數;T是總的迭代次數;M是一個正數,α∈(0,1)是動量系數。σp是一個與偏差有關的值,對輸出結點來說;σp=yp(1-yp)(dp-yp);對隱結點來說,因其輸出無法比較,所以經過反向推算;σpj=ypj(1-ypj)(ypwj)
(4)用σpj、xpj、wij和h計算下一次的輸入層和隱含層之間新的連接權值及隱含神經元閾值。wij(k+1)=wij(k)+η(t)σpjxpi+α[wij(k)-wij(k-1)]
3.風險預警單元
根據風險評價系數的取值,可以將項目的風險狀況分為若干個區間。本文提出的劃分方法是按照5 個區間來劃分的:
r<0.2項目的風險很低,損失發生的概率或者額度很小;
0.2≤r<0.4項目的風險較低,但仍存在一定風險;
0.4≤r<0.6項目的風險處于中等水平,有出現重大損失的可能;
0.6≤r<0.8項目的風險較大,必須加強風險管理,采取避險措施;
0.8≤r<1項目的風險極大,重大損失出現的概率很高,建議重新考慮對于項目的投資決策。
總之,有許多因素影響著項目風險的各個對象,我們使用了用戶評級的方式,從風險評估單元中獲得評價系數五個等級。給出各風險指標的評價系數,衡量相關風險的大小。系數越低,項目風險越低;反之,系數越高,項目風險越高。
二、實證:以軟件開發風險因素為主要依據
這里我們從影響項目風險諸多因素中,經項目風險系數計算,作出決策表,利用粗集約簡,抽取出最核心的特征屬性 (中間大量復雜的計算過程省略)?偣渤槿〕隽鶄主要的指標(Personnel Management/Training,Schedule,Product Control,Safety,Project Organization,Communication)確定了6個輸入神經元,根據需求網絡隱含層神經元選為13個,一個取值在0到1的輸出三層神經元的BP網絡結構。將前十個季度的指標數據作為訓練樣本數據,對這些訓練樣本進行數值化和歸一化處理,給定學習率η=0.0001,動量因子α=0.01,非線性函數參數β=1.05,誤差閉值ε=0.01,經過多次迭代學習后訓練次數N=1800網絡趨于收斂,以確定神經網絡的權值。最后將后二個季度的指標數據作為測試數據,輸入到訓練好的神經網絡中,利用神經網絡系統進行識別和分類,以判斷軟件是否會發生危機。實驗結果表明,使用神經網絡方法進行風險預警工作是有效的,運用神經網絡方法對后二個季度的指標數據進行處理和計算,最后神經網絡的實際輸出值為r=0.57和r=0.77,該軟件開發風險處于中等和較大狀態,與用專家效績評價方法評價出的結果基本吻合。
參考文獻:
[1]王國胤 “Rough:集理論與知識獲取”[M].西安交通大學出版社,2001
[2]Taghi M. Khoshgoftaar, and J . C. Munson, “predicting Software Development Errors Using Complexity Metrics”, IEEE Journal of Selected Areas in Communications, vol. 8, no. 2, pp. 253~261, February 1990
[3]徐麗娜:“神經網絡控制”[M].北京:電子工業出版社,5,18 ,2003年2月
【基于粗集的神經網絡的項目風險的評估】相關文章:
基于粗集的神經網絡的項目風險評估02-27
基于粗集神經網絡的項目風險評估03-28
基于粗集的民機備件庫存分類規則獲取方法11-22
基于Excel的投資項目風險模擬分析03-21
基于LMBP神經網絡的聲納圖像識別03-07
基于神經網絡的車輛動力學分析11-22
基于GIS和神經網絡的超市選址方法研究11-22
基于神經網絡ZISC的模式識別系統03-18