徐靜安 吳芳 汪焰
20多年前,在和上海化工研究院自動化研究所所長徐亞強討論時涉及人工神經網絡,也算是對神經網絡的道聽途說,但新奇的名詞和功能已暫存腦細胞記憶庫中。2012年筆者帶教的研究生陳玉巖嘗試在精餾18O穩定同位素中應用神經網絡對ASPEN模擬結果進行建模優化,教學相長,倒逼我跟進學習。陳玉巖幫我下載了《MATLAB遺傳算法工具箱及應用》,我又向都麗紅教授借閱《人工神經網絡導論》。2013年我買了一本《計算智能——人工神經網絡·模糊系統·進化計算》。2014年獲贈《DPS數據處理系統——實驗設計、統計分析及數據挖掘》。2015年吳芳碩士幫我下載了《數據挖掘中的新方法——支持向量機》,還促使我在2016年買了本《MATLAB神經網絡43個案例分析》,其中,對案例分析花了點功夫學習。
當然,我們的注意力集中在科技開發中如何引入、應用神經網絡方法,提升開發水平。2017年讀到的《均勻設計法優化芥菜多糖的提取工藝及其神經網絡模型的研究》一文,針對科技開發工作中有限的實驗樣本量的制約,很有特色,可作探索性學習和解讀。
根據專業知識,原文考察植物提取的4個影響因素及其變化范圍。纖維素酶的酶提時間X1:20~130 min,酶濃度 X2:1.0%~6.5%,料液 pH X3:4.0~6.0;提取溫度X4:45~60℃,響應Y為多糖提取率。
原文案例作為實驗室小試階段的應用性技術開發,采用均勻設計和二次多項式逐步回歸建模,由此獲得多糖提取的優化工藝是合理而有效的。由于四個變量波動范圍不同,受pH及提取溫度控制精度的制約,不宜水平間隔太小,所以案例采用混合水平均勻設計U12(122×62)。對于混合水平均勻表,水平數之間存在整數倍、約的關系,如12水平表尚可安排6水平、4水平、3水平、2水平的變量。實驗安排及結果見表1。

表1 U12(122×62)實驗安排及結果
二次多項式逐步回歸算法計算結果如下:


對表1數據進行了DPS新老版本及MINITAB軟件的計算,比對基本相同、略有差異。新版DPS在逐步回歸某項進入、剔出模型時直接顯示該項的p值,而不是F值,使人機對話更直觀,減少失誤。以顯著性水平p=0.05為界,原文把p=0.34357不顯著項引入統計模型,預報最高指標時的響應Y=8.8464%,可能造成“過擬合”,本文列出了規范的計算過程和結果。
模型擬合各項統計量檢驗顯著,進一步對預報進行驗證實驗,結果見表2。
模型擬合的相對誤差<1.6%,而由表2可見,模型預報相對誤差達到15.37%,也就是說擬合、預報相對誤差之間有數量級差異。出現這種現象的可能原因:一是模型質量,二是驗證實驗誤差過大。對于生物提取一般來說數據的誤差會大一些,但對于技術開發而言,這樣的預報質量還是難以接受,應積極尋求改進的方法。
在技術開發過程中,發現模型擬合、預報異常,常用而有效的方法是:(1)重復可能是異常的實驗;(2)補充實驗序貫地修整模型(見《上海化工》2017年10月出版的第十八講關于統計模型穩定性的分析評估)。
由于本文的工作在解讀,沒有實驗的可能,主要是計算分析。先判斷驗證實驗的數據質量。試驗設計的主體實驗往往要對響應產物提純、表征,計算、建模,再進行優化到驗證實驗,時間間隔較長,有可能帶入新的誤差,因此,應對實驗原材料的一致性、實驗環境條件的一致性給以充分重視。
對驗證實驗數據質量的判斷,除了上述擬合、預報誤差分析外,還可把U12(122×62)表1的結果和驗證實驗表2數據合并建模,計算過程略,對計算統計量進行比對分析,見表3。
從理論分析,樣本量的增加對統計建模是有利的。但表3顯示,U12+驗證的N=13組的模型統計量毫無改善,也就是說驗證實驗合并建模對統計量不僅沒有改善,SSE等統計量變差了,由此懷疑驗證實驗數據帶入過大的誤差。所以一般驗證實驗要求n=3,即重復3次,以降低誤差的影響。
在難以追加實驗的條件下,要對統計模型的質量及預報性能作出評價,可用留一法PRESS檢驗(見本講義“關于留一法PRESS統計量的應用討論”)。模型主體結構采用本文二次多項式逐步回歸結果,變換成線性項共6項輸入,采用線性全回歸方法建模,輸入格式及響應Y見表4。
計算機輪番留一個數據,其他數據建模,將留一數據視作預報值,可計算得到預報殘差,輪番求出全部的殘差平方和,即為PRESS值。

表4 兩個模型統計量比對
在DPS中操作“多元分析-回歸分析-線性分析”,得到:
方差分析表:

剩余標準差SSE=0.0752625
預測誤差標準差MSPE=0.2173401 Durbin-Watson d=2.550521
采用MINITAB軟件計算,結果幾乎一致,部分結果如下:

上述4個變量的二次多項式逐步回歸計算結果和6個線性變換后變量的全回歸計算結果應該是一樣的。差異是DPS線性變換后計算輸出給出了模型的 PRESS,以及預測誤差的標準差 MSPE,而MINITAB線性變換后計算PRESS外,還給出了RSq(預測)值,其實質是完全等價而且可以互換的。

本案例樣本量N=12,線性變換因子項數P=6,兩個軟件預測的R2為:

PRESS留一法交叉檢驗表明,統計模型在擬合各項統計量有顯著意義的基礎上,預報R-Sq=92.7%也是有顯著統計意義的。需要強調的是,N=12的模型擬合SSE=0.0753,而交叉檢驗預報MSPE=0.217 3,二者之比MSPE/SSE沒有顯著差異。
解讀至此,表明案例基于均勻設計法安排的實驗及二次多項式逐步回歸建模,通過PRESS交叉檢驗,優化模型是有統計意義、是可以認可的。從技術開發流程分析,作為本階段的完整性,尚需補充驗證實驗。
原文為了尋求更好的統計模型,探索性地引入BP神經網絡。
原文案例由于在使用DPS進行表1二次多項式逐步回歸計算時,將P>0.05的不顯著變量項留在統計模型內等原因,模型優化預報及驗證實驗結果見表5。

表5 原文案例的預報及驗證
原文二次多項式逐步回歸模型預測相對誤差(8.846 4-6.876 8)/8.846 4=22.26%,由此分析,認為研究對象芥菜多糖的提取比較復雜,二次多項式模型不足以描述提取過程的內在規律,原文作者轉向通用型的BP神經網絡。筆者認為,轉向的實踐是原文的探索,值得學習、討論。
BP神經網絡的拓撲結構由圖1所示,圖中包含多個隱含層,具備無限逼近、處理線性不可分的能力。BP采用誤差反向傳播的算法進行節點連接權值的調整。
隱含層采用Sigmoid函數作為傳遞函數,多層多節點的隱含層設計有助于從有限的數據中挖掘更多的信息,但要付出更多的學習訓練計算時間,以及可能處于過擬合狀態。此外,BP網絡學習算法修改調整權值采用最速下降法(梯度下降法)優化效率較高,但有可能陷入局部極小值的缺陷。

圖1 BP神經網絡的結構
影響BP神經網絡的穩定性及泛化應用能力的參數很多。本案例選定允許誤差為0.001,為避免過訓練,最大迭代次數為1000次。選用U10*(108)均勻設計表的1,3,4,5,7列考察安排5個參數,用表1中的12組數據作為訓練集,結果見表6。
表6中5個考察參數均是DPS神經網絡參數設置對話框需要輸入的,訓練結果的直觀分析為表6的NO.6,參數優化組合的平均相對誤差最小為0.257%。
原文對表6數據分析認為NO.3、NO.7方案“陷入局部極小值”,采用剩余8組數據進行二次多項式逐步回歸建模,優化的網絡參數組合見表7。用均勻設計、二次多項式逐步回歸建模,優化網絡參數是原文探索的亮點。
對表7參數作簡要分析,訓練速率大,權重調整變化大,收斂快,但易引起系統計算振蕩,在DPS中訓練學習速率會自動調整,一般選擇最小訓練速率0.9。
動態系數經驗性選擇為0.6~0.8。
Sigmoid參數調整神經元(節點)的激勵函數形式。
激勵函數通常選取S函數f(x)=1/(1+e-x/θ),其中θ為Sigmoid參數,一般取0.9~1.0。
隱含層層數在大部分應用場合單個隱含層即可滿足要求,可以通過適當增加神經元節點的個數實現任意非線性映射。
隱含層節點數對BP神經網絡性能的影響很大,一般較多的節點數可以從輸入數據中提取較多的信息,但可能訓練學習時間過長和“過擬合”。目前沒有一個解析式可以合理地給出節點數。有初步研究表明,對于樣本量為N的BP神經網絡,隱含層節點數H,輸入層節點數I,輸出層節點數O,構成網絡的總權重數 M=(I+1)H+(H+1)O,為了避免過擬合和欠擬合,以 1.8<(ρ=N/M)為宜。當ρ≥2.2 時,網絡隱含層H節點過少,不能充分提取輸入數據信息,欠擬合。當ρ≤1.8時,或樣本量N偏少,或網絡隱含層H節點過多,擬合了輸入數據的噪聲信息,過擬合,造成網絡模型不穩定。考慮到科研開發工作樣本量的制約,放寬ρ<1.8的范圍。有資料建議可在ρ>1.0范圍內進行H的優化選取。
表6和表7的計算、對比表明:(1)BP神經網絡參數的優化很有必要,表6中NO.3參數組合的平均相對誤差10.909%顯然是過大的擬合誤差,不可接受。(2)除了表6中NO.3與NO.7兩個組合的參數,其他組合平均相對誤差均小于1%。多項式模型優化預報參數組合平均相對誤差Y=0.24%,而表6直觀分析優化Y6=0.26%,在平均相對誤差小于1%的前提下,這些數字上的差異對技術開發的價值不大,所以不再深入地計算校核。(3)BP神經網絡參數優化,普遍采用的還有遺傳算法,另行專題討論。案例采用二次多項式模型預報的優化網絡參數組合見表7。

表6 均勻設計因素安排表及訓練結果

表7 優化的網絡參數
對于有限的樣本數據,外加不可能補充追加實驗,為了檢測所建立的神經網絡的性能,可以采用交叉驗證的方法。本文前述PRESS的留一法思想和方法,可移植應用到本案例中;而本案例采用留二法,對表1的12組數據,輪番取2組為測試集,其余10組為訓練集,利用優化的BP網絡參數,進行66組測試,結果見表8。
從表8的簡要分析可看出,留二法從12組數據中取2組為測試集,共有66個組合,訓練平均誤差可看作BP網絡訓練后的擬合平均誤差、測試平均誤差可看作模型預報平均誤差,其總的訓練平均誤差的平均值為0.213%,測試平均誤差的平均值為6.154%。BP網絡擬合訓練效果總體好于預報測試結果。前面分析案例采用二層隱含層、均為15個節點的多層多節點BP網絡結構,存在“過擬合”的缺陷,即使結構參數優化,訓練、測試平均誤差之間從數理統計角度分析相差顯著。盡管測試平均誤差的平均值為6.154%,技術開發是可以接受的,但表8中測試平均誤差為0.640%~17.594%,也就是說波動過大,在“過擬合”的參數下,交叉檢驗表明,模型預報性能并不理想。

表8 神經網絡模型的訓練與測試平均相對誤差
從交叉檢驗角度分析,從N個樣本中選取m個樣本留作測試集,組合算法為 N![m!×(N-m)!]。留一法共有12/1=12個組合;留二法共有66個組合;如果采用留三法,則有個組合。考慮到計算工作量,原文案例采用留二法并列出交叉檢驗結果表8,直觀地演示66個組合訓練、測試結果及其波動,這是很有價值的探索性實踐。
但是原文進一步的處理值得商榷。原文從表8中選擇66組中NO.51計算實驗為誤差和最小的最優模型作為交叉檢驗的結果,不妥。
交叉檢驗的概念上顯示:(1)所有的樣本均用于訓練、測試,因此最接近原始樣本分布;(2)交叉檢驗過程沒有人為、隨機因素干擾,檢驗結果訓練平均誤差和測試平均誤差的總平均結果比較可信。也就是說交叉檢驗總體結論才具有數理統計意義。
從交叉檢驗的方法上,從本文留一法PRESS計算結果可以看出,無論是DPS還是MINITAB軟件預測誤差的標準差MSPE、預報R-Sq均是計算、表征總體結果,而不是選用交叉檢驗的某個優化模型。原文選用表8中NO.51模型,采用二次多項式逐步回歸優化工藝,X1=130,X2=1.0,X3=4.0,X4=60,預報芥菜多糖提取率Y=7.1911%,甚為不妥。規范的做法是,表7中BP網絡計算驗證的模型是經12組數據訓練而得的模型,并經交叉檢驗后表征其預報平均誤差為6.154%的模型進行優化預報。交叉檢驗能避免隨機劃分訓練、測試集出現的“偶然”相關結果,具有統計應用意義。BP網絡的模型是隱含在計算程序之中的隱性模型,與二次多項式逐步回歸統計建模獲得的顯著性模型不相同,但可與遺傳算法結合,尋求最優工藝,將另行討論。
(1)本文比對解讀的邏輯框圖(見圖2)。

圖2 比對解讀的邏輯框圖
根據圖2得出以下結論:
①采用混合水平均勻設計U12(122×62),因為提取溫度在45~60℃范圍內,步長間隔<2~3℃,現有溫控水平難以達到。
②N/M=12/4=3首先考慮采用二次多項式逐步回歸,統計建模。
③模型預報最優工藝條件。
④通過模型擬合誤差、驗證預報誤差判斷模型統計意義上的顯著、有效性。如果是NO,模型需要修整。一般情況是補充實驗,二次多項式逐步回歸合并建模。
若補充實驗有困難,可通過PRESS留一法計算評估模型預報功能。
若效果仍不好,才考慮采用非線性映射的人工神經網絡。
⑤人工神經網絡的結構、參數選擇,對計算精度有影響,進行計算優化用均勻設計有普適性。
⑥由于均勻設計U10(105)本身具有一定的優化功能,可直接直觀分析選擇“好點”參數組合,本例采用N=8個好點進行統計建模尋優,深度挖掘。
⑦對結構參數優化組合進行BP神經網絡計算驗證,規范。
⑧對于神經網絡計算分析,本例屬小樣本,不得已將12組實驗數據分為10組訓練集,2組為測試集。留二法分組窮舉:產生66個BP模型交叉檢驗。
⑨由于神經網絡建立的是隱性模型,除了平行地建立二次多項式逐步回歸模型,提取最優工藝條件外,可用遺傳算法尋優。
(2)在科技開發工作中,采用試驗設計、二次多項式逐步回歸建模,大多數情況下獲得的近似、逼近函數具有良好的擬合、預報功能。對于復雜的研究對象,應探索應用BP神經網絡進行非線性系統建模。但小樣本條件下,BP神經網絡的優勢難以顯示,可進一步探索應用SVM(支持向量機)非線性回歸。
(3)交叉檢驗在有限樣本條件下通過計算分析,表征統計模型的擬合、預報功能,應合理地計算應用。
(4)驗證實驗對于科技開發工作尤顯重要。如果說基礎研究是解決可行性問題,應用研究的科技開發需要解決優化、穩定性問題。模型預報的優化工藝應通過驗證實驗給以穩定的驗證。
結合本案例,驗證實驗略顯薄弱,一組數據還存有疑點,如果重復n=3就更有說服力。
(5)在BP神經網絡應用中,網絡參數優化、初始權重選取、網絡模型最優工藝尋求都可采用GA遺傳算法,應予以關注。
原文在科技開發工作中應用BP神經網絡,采用均勻設計優化網絡參數;采用留二法交叉檢驗評估模型擬合、預報性能;采用二次多項式逐步回歸模型的最優工藝來驗證BP網絡優化的預報效果等,在這些方面作了有益的探索。但在二次多項式逐步回歸建模時的回歸分析;在BP隱含層多層多節點設置、應用留二法交叉檢驗結果及加強驗證實驗方面尚可進一步完善。盡管原文存在不完善、不妥之處,但我們尊重原文的探索實踐,多次計算分析外,又購置了《MATLAB神經網絡原理與實例精解》進行學習。
引用微軟創始人比爾·蓋茨的一段話共勉:為成功進行慶祝并沒有什么不好,但從失敗中汲取教訓更為重要。