摘 要: 設計了一種基于LabVIEW軟件平臺及BP神經網絡算法、支持向量機(SVR)、偏最小二乘(PLS)等分析算法的化學分析系統。系統以LabVIEW軟件為基礎,以調用MATLAB作為數據分析核心,以達到自動快速的分析目的。該系統還可將各種回歸分析后的數據進行對比,并做出擬合曲線,效果直觀、清晰。此系統作為虛擬儀器測量系統的數據分析模塊,具有一定應用價值。
關鍵詞: LabVIEW;BP神經網絡算法;支持向量機算法;偏最小二乘算法;液體推進劑
自20世紀許多新型儀器及技術被引入分析化學以來,分析測試已逐步實現自動化和計算機化,使其在分析測試過程中,可以非常方便地得到大量可靠的測量數據。這些數據都以二維或多維的形式存在,如何將復雜數據降維,挖掘數據中包含的信息,是分析工作者面臨的重要問題[1]?;瘜W計量學作為一門建立在多學科基礎上的橫向學科,主要就是針對化學測量數據信息的分析處理和提取,這一學科在數據分析、化學模式識別、譜圖解析、構效關系等方面,發揮著舉足輕重的作用[2]。
本文提出的基于LabVIEW及化學計量學的化學分析系統,結合虛擬儀器技術和BP神經網絡、支持向量機、偏最小二乘三種分析算法,對前端虛擬儀器測試系統的多維數據進行回歸分析,并比較三種方法的效果優劣,保存最佳回歸模型,建立數據庫。系統總體框架如圖1所示。
1 系統設計原理
本系統基于LabVIEW軟件開發平臺,利用 MatlabScript節點實現在LabVIEW中調用MATLAB腳本的功能,從而充分利用LabVIEW圖形化設計語言的優點和MATLAB強大的數據處理能力,使得開發的化學虛擬儀器系統具有功能更強的數據處理能力[3]。該系統程序設計主要包括數據分析和數據庫管理兩大模塊,系統主頁前面板如圖2所示。其中,數據分析模塊包括數據讀取、模型建立、回歸分析、預測;數據庫管理查詢主要包括數據存儲、查詢、修改、提取分析等功能。
系統主要應用嵌入式子面板和彈出式子面板兩種技術。數據分析模塊采用的是嵌入式子面板技術,即利用函數選板中的子面板控件,將子VI嵌入主VI中,從而使分析方法的選擇與分析執行過程變得直觀且清晰;數據庫訪問模塊應用的是彈出式子面板技術,即利用應用程序控制選板中的打開VI引用控件,進行子VI的靜態調用。
1.1 數據分析模塊
1.1.1 BP神經網絡分析模塊
BP神經網絡算法流程可以分為BP神經網絡構建、BP神經網絡訓練和BP神經網絡預測[4]。當參數適當時,BP神經網絡算法能夠收斂到較小的均方差,是目前應用最廣的神經網絡算法之一。本文BP神經網絡分析模塊,主要是利用LabVIEW調用MATLAB神經網絡工具箱中關于BP神經網絡的newff、sim和train 3個函數[5],進行BP網絡建模和數據分析預測,其面板如圖3所示,包括輸入向量路徑選擇、向量數組顯示、回歸擬合結果圖和輸出向量數組顯示等功能。
1.1.2 支持向量機分析模塊
支持向量回歸SVR(Support Vector Regression)算法的基礎主要是ε不敏感函數(ε-insensitive function)和核函數算法。SVR采用核函數解決這一矛盾,用核函數代替線性方程中的線性項可以使原來的線性算法“非線性化”,即能作非線性回歸。與此同時,引進核函數達到了“升維”的目的,而增加的可調參數卻很少,這樣即便是過擬合也仍能控制[6]。
本系統支持向量機分析模塊,主要利用LabVIEW調用基于MATLAB平臺的LIBSVM工具箱中的SVMcgForRegress、svmtrain和svmpredict 3個函數[7],依據支持向量回歸方法建立非線性模型。由于LIBSVM工具箱單維輸出的特點,對樣本的多種組分應分別建立3個回歸模型,進行數據集的非線性回歸。支持向量機算法子VI前面板及程序框圖分別如圖4、圖5所示。
1.1.3 偏最小二乘分析模塊
偏最小二乘方法(PLS)作為一種常用的分析算法被廣泛地應用于分析化學研究中。這種方法不僅吸收了經典最小二乘法的優點,同時是主成分回歸(PCR)方法的進一步發展。
偏最小二乘回歸的基本原理是[8]:考慮p個變量y1,y2,…,yp與m個自變量x1,x2,…,xm的建模問題,首先在自變量集中提出第一成分t1(t1是x1,x2,…,xm的線性組合,且盡可能多地提取原自變量集中的變異信息);同時在因變量集中也提取第一成分u1,并要求t1與u1相關程度達到最大;然后建立因變量y1,y2,…,yp與t1的回歸。如果回歸方程已達到滿意的精度,則算法中止;否則繼續第二對成分的提取,直到能達到滿意的精度為止。若最終對自變量集提取r個成分t1,t2,…,tr,則偏最小二乘回歸將通過建立y1,y2,…,yp與t1,t2,…,tr的回歸式,然后再表示為y1,y2,…,yp與原自變量的回歸方程式,即偏最小二乘回歸方程式。圖6所示為偏最小二乘算法分析模塊前面板,圖7所示為偏最小二乘算法子VI程序框圖。該程序主要應用了LabVIEW中的report generation工具箱對Excel表格中的訓練數據進行讀取,并轉化成二維數組形式;再將訓練集數據輸入MATLAB腳本中,進行偏最小二乘算法分析;最后利用report generation將訓練結果和預測結果生成Excel表格,存儲至數據庫。
1.2 數據庫管理模塊
由三種算法分析預測的數據和建立的模型都被存儲在數據庫中,隨時可以進行調用。由虛擬儀器的測試測量系統得到的數據將存儲于數據庫中,以構建數據訓練集。用戶可隨時調用歷史數據進行模型訓練和模型訓練效果的比較。圖8為數據庫管理模塊前面板。
LabVIEW可以通過基于ADO技術的LabSQL數據訪問包,以調用子VI的方式進行數據庫訪問。ADO通過與開放數據互連ODBC(Open Database Connectivity)連接可以訪問任何支持ODBC的數據庫,本系統采用Microsoft Access數據庫來進行數據管理、存儲和查詢。
?。?)數據存儲模塊。首先是建立Access數據源,在Access中建立一個名為MyDB.mdb的數據庫,同時在配置DSN時將數據源命名為DSN_Wastewater monitoring,之后就可以在LabVIEW中進行調用LabSQL的函數功能。
(2)歷史數據查詢模塊。同樣利用LabSQL的ADO Connection Create.vi和ADO Connection Open.vi創建數據庫連接,通過SQL Execute.vi執行SQL語句“SELECT*FROM 數據庫名 WHERE 選擇條件”將所需數據抽取出來,在前面板的表格控件中顯示數據,并且進行格式轉換及輸出數據趨勢的曲線圖標。
2 結論及展望
利用此系統的三種算法對某液體推進劑(3個組分的混合物)滴定數據進行回歸分析,得到如表1所示的分析結果。
?。?)三種模型的分析結果都在可接受誤差范圍之內,可作為此液體推進劑的滴定分析結果。
(2)三種分析模型中,偏最小二乘模型的結果較佳。三種組分的標準誤差:BP法分別為9.62×10-2、1.58×10-1、3.40×10-3;SVR法分別為2.87×10-2、1.01×10-3、6.67×10-5;PLS法分別為5.56×10-5、2.22×10-5、1.11×10-5。
(3)基于LabVIEW及化學計量學的化學分析系統,操作簡便,人機界面友好,實現了測試數據自動分析處理,并實時獲得結果,避免了繁瑣的文本程序編譯計算過程,提高了測試結果的精度,大大縮短了分析時間。
(4)利用LabVIEW的共享變量或Web Server網絡編程方式,可以為用戶提供一個集算法計算、模型共享、數據共享為一體的化學分析網絡平臺。
(5)通過對某種液體推進劑分析數據的驗證,該系統運行良好,結果準確,可作為虛擬儀器測試系統的數據處理模塊,具有一定應用價值。
?。?)本系統將引入更多多元回歸算法[9],如主成分分析、多元線性回歸、多元非線性回歸算法。隨著本系統引入算法種類的不斷增加,效果的不斷優化,系統功能將逐漸完善,可以進行如一元回歸、多元線性、多元非線性及多維的回歸分析預測。
(7)隨著網絡的普及,隨著算法可靠性的增加以及算法使用方便性的增加,會吸引大量的科學研究工作者在該系統平臺上進行計算和程序開發,其各方面價值會逐步體現。
參考文獻
[1] 許祿.化學計量學方法[M].北京:科學出版社,2004.
[2] 倪永年.化學計量學在分析化學中的應用[M].北京:科學出版社,2005.
[3] 曲麗蓉,胡容,范壽康.LabVIEW、MATLAB及其混合編程技術[M].北京:機械工業出版社,2011.
[4] 周開利,康耀紅.神經網絡模型及其MATLAB仿真程序設計[M].北京:清華大學出版社,2005.
[5] MATLAB中文論壇.MATLAB神經網絡30個案例分析[M].北京:航空航天大學出版社,2010.
[6] 鄧乃樣,田英杰.數據挖掘中的新方法—支持向量機[M].北京:科學出版社,2005.
[7] 丁世飛,齊丙娟.支持向量機與算法研究綜述[J].電子科技大學學報,2011,40(1).
[8] 王惠文.偏最小二乘回歸方法及其應用[M].北京:國防工業出版社,2000.
[9] MILLER J N, MILLER J C. Statistics and chemometrics for analytical chemistry, fouth edition[M]. England: Pearson Education,2000.