李晨陽,劉春霞,黨偉超,白尚旺,潘理虎,2
1(太原科技大學 計算機科學與技術學院,太原 030024)
2(中國科學院 地理科學與資源研究所,北京 100101)
區(qū)域創(chuàng)新能力是提升區(qū)域綜合競爭力的核心內容,其日益成為衡量一個地區(qū)國際競爭力和經(jīng)濟發(fā)展實力的重要指標.黨的十九大報告把區(qū)域創(chuàng)新置于更加突出位置.為落實"互聯(lián)網(wǎng)+"理念,實現(xiàn)互聯(lián)網(wǎng)發(fā)展和區(qū)域創(chuàng)新能力評估的結合成為近年來研究的熱點.同時推動區(qū)域創(chuàng)新驅動發(fā)展,構建自主創(chuàng)新能力評價的計算機軟件也是大勢所趨[1–5].
目前對創(chuàng)新能力的評價研究方法主要包括兩大類:基于層次分析法、灰色理論法、專家打分法等傳統(tǒng)主觀賦值法,基于BP 神經(jīng)網(wǎng)絡模型等機器學習算法的評價方法.Banda W 等[6]運用改進了權重賦值的AHP 層次分析法進行風險分析,彌補了傳統(tǒng)層次分析法在體系指標選取的不足;Chuang TY 等[7]采用模糊綜合評價法評估教育環(huán)境,特別是教育數(shù)字游戲環(huán)境下的創(chuàng)新;Huang ZL 等[8]運用因子分析和SPSS 軟件,綜合評價了環(huán)海地區(qū)的區(qū)域技術創(chuàng)新能力,并提出了一些政策建議,以提高環(huán)渤海地區(qū)的區(qū)域創(chuàng)新能力;Zhao SL 等[9]從創(chuàng)新主體的角度出發(fā),運用層次分析法和聚類分析法對中國區(qū)域協(xié)同創(chuàng)新能力進行評價;楊宏進[10]運用多元統(tǒng)計分析方法,淘汰與評估不相關或相關性很小的指標,組成具有代表性指標;崔銘等[11]運用改進后的BP 神經(jīng)網(wǎng)絡對專家思維進行模擬,提升了高校教師創(chuàng)新能力評估的效率;梅強等[12]將BP 神經(jīng)網(wǎng)絡模型引入到高新技術企業(yè)自主創(chuàng)新能力評估中,并證實這一方式較傳統(tǒng)方式科學客觀、速度快擬合精度高.岳琪等[13]通過改進后的GA-BP 神經(jīng)網(wǎng)絡混合模型進行高效教學質量的評價,使用熵值法優(yōu)化初始權重,自適應遺傳算法優(yōu)化神經(jīng)網(wǎng)絡的參數(shù),實驗表明該模型能高效完成教學質量評價.但是這些研究大多采用傳統(tǒng)主觀賦值法或單一模型評估方法,仍存在如下問題:(1)采用主觀賦值方式對各研究創(chuàng)新指標進行權重確定,相關結果極易受主觀因素的干擾,致使其缺少系統(tǒng)性合理性及客觀性.(2)使用單一神經(jīng)網(wǎng)絡模型,出現(xiàn)對輸入?yún)?shù)的選擇沒有有效的方法、易陷入局部極小值、學習收斂速度慢等問題,得到的結果的精確性有待提高.
基于上述分析,本文采用機器學習算法,提出了DTGA-BP 組合模型對區(qū)域自主創(chuàng)新能力進行評估.首先利用決策樹對BP 神經(jīng)網(wǎng)絡的輸入層節(jié)點進行特征選擇,再根據(jù)決策樹和神經(jīng)網(wǎng)絡之間存在的對應關系確定神經(jīng)網(wǎng)絡隱藏層節(jié)點數(shù),進而改進BP 神經(jīng)網(wǎng)絡的結構;最后利用遺傳算法在全局擇優(yōu)方面的優(yōu)勢對BP 神經(jīng)網(wǎng)絡的初始權重進行調整.經(jīng)實驗分析對比,本課題提出的組合模型適用性更好、精度更優(yōu),收斂能力更強.
反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡是神經(jīng)網(wǎng)絡算法中運用最為廣泛的分類模型之一.由于其使用范圍的不斷變大,BP 神經(jīng)網(wǎng)絡開始顯示出一些自身不能解決的問題,例如易陷入局部極小值、學習收斂速度慢、對輸入?yún)?shù)的選擇沒有有效的方法等[14–16].
BP 神經(jīng)網(wǎng)絡模型的設計主要包括輸入層、隱藏層和輸出層,其結構如圖1所示.通過梯度下降法進行學習與改正以達到均方差最小的效果,之后在訓練過程中不斷調整權值.學習過程分為如下幾步.
圖1 BP 神經(jīng)網(wǎng)絡結構
Step 1.輸入訓練集樣本數(shù)據(jù),根據(jù)BP 神經(jīng)網(wǎng)絡的結構以及確定的權值和閾值,計算輸入層到輸出層各層神經(jīng)元的輸出值.
Step 2.計算預測輸出值和期望輸出值的誤差,不斷調整輸入層到隱藏層的權重和隱藏層到輸出層的權重.
Step 3.重復Step 1 及Step 2,當達到規(guī)定范圍內誤差值或訓練次數(shù)結束,則學習完成.
訓練過程分如下幾步:
Step 1.初始化權重.公式如下:
其中,n為輸入層節(jié)點個數(shù),m為隱藏層節(jié)點個數(shù),s為學習步數(shù),Wj(t)為學習t步后的權值矩陣;
Step 3.計算實際輸出值.公式如下:
Step 4.更新各神經(jīng)元的權值.公式如下:
其中,β表示學習速率,β ∈[0,1],用來更新速度.
Step 5.重復Step 2,當達到規(guī)定范圍內誤差值或訓練次數(shù)結束,則訓練完成.
DTGA-BP 組合模型即利用決策樹算法和遺傳算法優(yōu)化BP 神經(jīng)網(wǎng)絡:通過決策樹算法改進神經(jīng)網(wǎng)絡輸入?yún)?shù)的選擇和結構;利用改進了選擇策略和交叉變異操作的遺傳算法來優(yōu)化神經(jīng)網(wǎng)絡的初始權值.核心思想是利用優(yōu)化后的BP 神經(jīng)網(wǎng)絡建立區(qū)域自主創(chuàng)新能力評估分類模型.
通過使用決策樹算法對神經(jīng)網(wǎng)絡的結構進行改進可以降低神經(jīng)網(wǎng)絡結構的復雜度,在不影響分類精度的情況下縮短訓練時間,操作簡單方法易實現(xiàn).并且結合優(yōu)化后的遺傳算法,克服了傳統(tǒng)BP 神經(jīng)網(wǎng)絡容易陷入局部最優(yōu)等缺點,使得初始權重更加合理.DTGABP 算法流程如圖2所示.
圖2 DTGA-BP 算法流程圖
評估模型使用單隱藏層神經(jīng)網(wǎng)絡結構,因此,對于神經(jīng)網(wǎng)絡結構的改進主要是確定隱藏層節(jié)點數(shù)目.傳統(tǒng)的確定隱藏層節(jié)點數(shù)目的方法并不能有效解決BP神經(jīng)網(wǎng)絡結構復雜的問題.受“熵網(wǎng)絡”[17]的啟發(fā),本文采用生成的決策樹中最長規(guī)則鏈的非葉子節(jié)點的個數(shù)作為隱藏層節(jié)點的個數(shù),可以降低模型復雜度減少訓練時間.
首先利用C4.5 決策樹算法生成一棵決策樹,用于判斷酒的類別,數(shù)據(jù)集使用UCI 機器學習庫上下載的wine 數(shù)據(jù)集.該數(shù)據(jù)集包含13 個特征屬性,例如Alcohol(酒精度),Malic acid(蘋果酸含量)等,其值都為連續(xù)值;然后根據(jù)屬性條件進行判斷,自根節(jié)點到葉子結點分類;通過計算信息增益值以及剪枝策略最終生成的決策樹如圖3所示.
圖3 C4.5 算法構造的決策樹
由圖3可知,決策樹的葉子結點個數(shù)為5,最長規(guī)則鏈中的非葉子節(jié)點個數(shù)為3,由此,按照輸入層節(jié)點個數(shù),隱藏層節(jié)點個數(shù),輸出層節(jié)點個數(shù)的結構構造的BP 神經(jīng)網(wǎng)絡分別為3-5-1 和3-3-1.初始權重統(tǒng)一采用標準正太分布公式確定.訓練后再隨機產(chǎn)生200 組測試集,進行了5 次試驗,結果如表1所示.其中,節(jié)點數(shù)=3 為本文采用的確定隱藏層節(jié)點數(shù)目的方法,節(jié)點數(shù)=5 是通過“熵網(wǎng)絡”所確定的隱藏層節(jié)點數(shù)目.從分類結果可以看出,本文采用的確定隱藏層節(jié)點的個數(shù)的方法相比傳統(tǒng)的“熵網(wǎng)絡”方法,能夠在加快收斂速度的同時降低誤差.
表1 不同隱藏層節(jié)點個數(shù)的分類結果
一般利用遺傳算法(Genetic Algorithm,GA)全局搜索的特點來解決BP 神經(jīng)網(wǎng)絡由于初始權值調整不當而產(chǎn)生的局部尋優(yōu)的問題.但傳統(tǒng)的遺傳算法在優(yōu)化方面仍然存在搜索效率低、速度慢等問題.因此本文采用改進了選擇算子和交叉、變異操作的遺傳算法確定神經(jīng)網(wǎng)絡的初始權重.改進后的遺傳算法流程圖如圖4所示.
圖4 改進后的遺傳算法流程圖
2.2.1 優(yōu)化選擇算子
遺傳操作中,選擇策略多種多樣.采用恰當?shù)倪x擇策略可以提升整個遺傳算法的性能.因此選擇算子既要防止種群"早熟"導致的局部最優(yōu),還不能過于發(fā)散難以收斂,需要進行平衡,基于此本文采用改進后的選擇算子方式.
首先根據(jù)適應度函數(shù)計算每個個體適應度值,通過排序后只保留前2/3 個體,淘汰適應度值小的后1/3 個體,然后再將保留下的個體數(shù)的前1/3 種群數(shù)作為父本,最終只對中間的1/3 個體進行遺傳操作,計算這些種群個體的選擇概率,公式如下:
其中,p為個體選擇概率,q為最優(yōu)選擇概率,N為種群個數(shù),k為個體的序列號,k=1,2,3,···,N/2,T為當前迭代次數(shù).這樣既保留了優(yōu)良父本基因又將適應度低的個體淘汰掉,達到了平衡種群個體的目的,最終可以得到全局最優(yōu)解.在進化初期,種群間個體差異度大,相應的得到的q值也大,只有這樣才能保證適應度大的個體被選擇到的概率大,從而為種群選擇到優(yōu)良個體.但隨著種群不斷進化,種群數(shù)量不斷變少,個體間的差異也逐漸減小,此時得到的q值也應該減小.基于此分析,按照式(5)計算q值:
其中,qmax表示最優(yōu)個體選擇概率,qmin為最壞個體選擇概率,M為迭代總次數(shù).
按照這種方式進行選擇算子操作,既將適合度最高的個體留存到下一代種群,最優(yōu)個體不會被遺傳操作淘汰,保證全局收斂;也將每次記錄下的最壞個體適應度值進行比較,把適應度更低的留下后加入到新種群中.通過將最優(yōu)保存策略和最壞保存策略相結合,可以降低選擇誤差,保持種群的多樣性,有益于得到最優(yōu)解.
2.2.2 改進交叉、變異操作
傳統(tǒng)的自適應類遺傳算法,其交叉與變異的隨機機率會更大,會干擾遺傳算法中某個體的質量,從而使得遺傳算法陷進局部最優(yōu).并且當交叉與變異的個體適應水平達到最高值時,其交叉與變異概率可能性就不會存在,種群個體將處在完全停滯的狀態(tài).針對此問題,本文采用改進后的的交叉率Pc和 變異率Pm進行遺傳操作,公式如下:
fa表示個體平均適應度,fm表示個體最大適應度.其中 a rcsin(fa/fm)是 隨著fa的變化而快速變化的,因此,選用 arcsin(fa/fm)作為判斷條件能很好的判斷種群適應度間的分散程度.又因為 sin(π/6)=1/2,當arcsin(fa/fm)≥π/6時fa/fm≥1/2表 明此時fa接 近fm.最后再根據(jù) π/12≤arcsin(fa/fm)≤π/3這一條件確定是否先進行交叉操作,若不符合條件則先進行變異操作.本文采用的方式解決了傳統(tǒng)遺傳變異操作總是先進行交叉后進行變異導致的產(chǎn)生優(yōu)良個體速度慢,甚至會破壞優(yōu)良個體等問題.
實驗數(shù)據(jù)來源《中國城市創(chuàng)新報告》、《中國區(qū)域創(chuàng)新能力評價報告》和《中國區(qū)域創(chuàng)新監(jiān)測報告》.采用2011–2018年共8年全國各城市的區(qū)域創(chuàng)新指標數(shù)據(jù),每個樣本數(shù)據(jù)包含42 個屬性.實驗數(shù)據(jù)整理在Excel 表中,部分實驗數(shù)據(jù)如圖5所示.
圖5 實驗數(shù)據(jù)截圖
將樣本數(shù)據(jù)中的4/5 作為訓練數(shù)據(jù),1/5 作為測試集.通過計算各個屬性的信息增益值,排序之后,選擇了與分類結果相關度大的前20 個屬性作為最優(yōu)特征組合,組成神經(jīng)網(wǎng)絡的輸入?yún)⒘?同時用Matlab 中的歸一化函數(shù)mapminmax,將輸入層與輸出層信息歸一化到[–1,1]之間,訓練之后對數(shù)據(jù)進行反歸一化處理.采用Matlab2011 來對代碼進行編寫,執(zhí)行代碼的主機處理器型號是IntelPentiumDualE2220,主頻值是2.4 GHz,內存大小是1 GB.
3.2.1 特征選擇方法對比
生成決策樹的過程中,剪枝技術是為了有效避免噪聲數(shù)據(jù)的干擾、提高分類精度的一種關鍵技術,而且不同程度的剪枝會得到不同結果的分類精度.根據(jù)實驗發(fā)現(xiàn)在修剪程度為86 時達到最高,之后下降.因此將剪枝程度控制在85–90 之間.具體情況如表2所示.依照表2,在生成最優(yōu)決策樹時選擇86 作為剪枝度值,然后計算各屬性的信息增益率值進行排序,取前20 個屬性作為最優(yōu)特征組合,結果如圖6所示.
表2 不同程度剪枝的分類正確率(%)
圖6 特征屬性信息增益率排序
依照圖6內容所得的實驗結論,將前20 個屬性作為BP 神經(jīng)網(wǎng)絡的輸入?yún)?shù),與未經(jīng)過特征選擇的BP 神經(jīng)網(wǎng)絡模型進行對比,具體見圖7所示.通過決策樹分類算法進行特征選擇后,可以增加BP 神經(jīng)網(wǎng)絡模型的分類精度,這說明本文通過特征選擇方式能有效降低噪聲數(shù)據(jù)的影響,提高分類的穩(wěn)定性.
圖7 均方差對比圖
3.2.2 單一模型與組合模型的對比
實驗按照如下參數(shù)建立訓練模型:輸入層神經(jīng)元數(shù)目為相關度大的前20 個最優(yōu)特征屬性;隱藏層的神經(jīng)元數(shù)目通過決策樹優(yōu)化后為12 個;輸出層的神經(jīng)元數(shù)目為1 個;種群規(guī)模為100,進化次數(shù)為200 次,個體交叉率和基因變異率分別60%和2%.為突出本文提出的DTGA-BP 組合模型的優(yōu)越性,分別從誤差、收斂速度、分類精度幾方面與GA-BP,BP 分類模型做比對.
BP,GA-BP 和DTGA-BP 3 個模型的誤差隨迭代次數(shù)變化的曲線如圖8所示.
圖8 3 種模型的誤差隨訓練次數(shù)的變化情況
由圖8可知BP 模型和GA-BP 模型在迭代次數(shù)大約為150 次時開始逐漸收斂,但GA-BP 模型的誤差低于BP 模型.而DTGA-BP 模型在迭代100 次后趨于穩(wěn)定,且收斂后的誤差要低于GA-BP 模型,GA-BP 模型要達到與DTGA-BP 模型相同的誤差需要更多的訓練次數(shù).尤其與BP 模型相比,優(yōu)化后的DTGA-BP 模型無論在訓練次數(shù)還是誤差方面都好很多.由圖8、圖9可以看出通過DTGA優(yōu)化后的BP 神經(jīng)網(wǎng)絡在收斂過程中很穩(wěn)定,說明改進神經(jīng)網(wǎng)絡結構和初始權值后的分類模型克服了易陷入局部最優(yōu)的缺陷,神經(jīng)網(wǎng)絡會逐漸接近全局最優(yōu).
圖9 3 種模型的誤差對比
3 種模型的平均評估精度結果如表3.BP 神經(jīng)網(wǎng)絡模型的平均精度為57.18%,GA-BP 模型的平均評價精度為78.71%,而基于決策樹和遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡模型的平均評價精度為98.22%,結合表4得到,DTGA-BP 組合模型在分類精度上相比GA-BP提高了20%,相比單一BP 模型提高了41%.由此看出DTGA-BP 組合模型的評價結果精度更高.MAE(平均絕對誤差),RMSE(均方根誤差)的計算公式如下:
表3 3 種模型平均精度對比
表4 3 種模型指標對比
本文圍繞區(qū)域自主創(chuàng)新能力評價問題展開研究,針對當特征屬性較多時,BP 神經(jīng)網(wǎng)絡出現(xiàn)的結構復雜、收斂速度慢和易陷入局部最優(yōu)等問題,提出一種決策樹遺傳算法優(yōu)化BP 神經(jīng)網(wǎng)絡的組合模型.首先通過對各個特征屬性計算信息增益率,排列順序后選出最優(yōu)組合特征,以此降低噪聲數(shù)據(jù)對神經(jīng)網(wǎng)絡模型的影響;其次通過生成的決策樹的最長規(guī)則鏈的非葉子結點來確定隱藏層節(jié)點數(shù),以此優(yōu)化神經(jīng)網(wǎng)絡的結構,能夠在加快收斂速度的同時降低誤差;最后通過改進后的遺傳算法優(yōu)化神經(jīng)網(wǎng)絡的初始權重,采用最優(yōu)保存策略與最壞保存策略相結合的選擇算子方式以及非線性的交叉變異概率值,保證了種群多樣性和收斂性.結果證明DTGA-BP 組合模型實現(xiàn)了對專家經(jīng)驗的自學習,并且在訓練時間、收斂度、分類精度等方面相比傳統(tǒng)的人工評估以及單一模型評估方式均有優(yōu)勢.