《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于LabVIEW-化學(xué)計(jì)量學(xué)的化學(xué)分析系統(tǒng)
基于LabVIEW-化學(xué)計(jì)量學(xué)的化學(xué)分析系統(tǒng)
來(lái)源:微型機(jī)與應(yīng)用2012年第23期
徐 昊,許國(guó)根
(第二炮兵工程大學(xué),陜西 西安 710025)
摘要: 設(shè)計(jì)了一種基于LabVIEW軟件平臺(tái)及BP神經(jīng)網(wǎng)絡(luò)算法、支持向量機(jī)(SVR)、偏最小二乘(PLS)等分析算法的化學(xué)分析系統(tǒng)。系統(tǒng)以LabVIEW軟件為基礎(chǔ),以調(diào)用MATLAB作為數(shù)據(jù)分析核心,以達(dá)到自動(dòng)快速的分析目的。該系統(tǒng)還可將各種回歸分析后的數(shù)據(jù)進(jìn)行對(duì)比,并做出擬合曲線,效果直觀、清晰。此系統(tǒng)作為虛擬儀器測(cè)量系統(tǒng)的數(shù)據(jù)分析模塊,具有一定應(yīng)用價(jià)值。
Abstract:
Key words :

摘  要: 設(shè)計(jì)了一種基于LabVIEW軟件平臺(tái)及BP神經(jīng)網(wǎng)絡(luò)算法、支持向量機(jī)(SVR)、偏最小二乘(PLS)等分析算法的化學(xué)分析系統(tǒng)。系統(tǒng)以LabVIEW軟件為基礎(chǔ),以調(diào)用MATLAB作為數(shù)據(jù)分析核心,以達(dá)到自動(dòng)快速的分析目的。該系統(tǒng)還可將各種回歸分析后的數(shù)據(jù)進(jìn)行對(duì)比,并做出擬合曲線,效果直觀、清晰。此系統(tǒng)作為虛擬儀器測(cè)量系統(tǒng)的數(shù)據(jù)分析模塊,具有一定應(yīng)用價(jià)值。
關(guān)鍵詞: LabVIEW;BP神經(jīng)網(wǎng)絡(luò)算法;支持向量機(jī)算法;偏最小二乘算法;液體推進(jìn)劑

 自20世紀(jì)許多新型儀器及技術(shù)被引入分析化學(xué)以來(lái),分析測(cè)試已逐步實(shí)現(xiàn)自動(dòng)化和計(jì)算機(jī)化,使其在分析測(cè)試過(guò)程中,可以非常方便地得到大量可靠的測(cè)量數(shù)據(jù)。這些數(shù)據(jù)都以二維或多維的形式存在,如何將復(fù)雜數(shù)據(jù)降維,挖掘數(shù)據(jù)中包含的信息,是分析工作者面臨的重要問題[1]?;瘜W(xué)計(jì)量學(xué)作為一門建立在多學(xué)科基礎(chǔ)上的橫向?qū)W科,主要就是針對(duì)化學(xué)測(cè)量數(shù)據(jù)信息的分析處理和提取,這一學(xué)科在數(shù)據(jù)分析、化學(xué)模式識(shí)別、譜圖解析、構(gòu)效關(guān)系等方面,發(fā)揮著舉足輕重的作用[2]。
 本文提出的基于LabVIEW及化學(xué)計(jì)量學(xué)的化學(xué)分析系統(tǒng),結(jié)合虛擬儀器技術(shù)和BP神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)、偏最小二乘三種分析算法,對(duì)前端虛擬儀器測(cè)試系統(tǒng)的多維數(shù)據(jù)進(jìn)行回歸分析,并比較三種方法的效果優(yōu)劣,保存最佳回歸模型,建立數(shù)據(jù)庫(kù)。系統(tǒng)總體框架如圖1所示。

1 系統(tǒng)設(shè)計(jì)原理
 本系統(tǒng)基于LabVIEW軟件開發(fā)平臺(tái),利用 MatlabScript節(jié)點(diǎn)實(shí)現(xiàn)在LabVIEW中調(diào)用MATLAB腳本的功能,從而充分利用LabVIEW圖形化設(shè)計(jì)語(yǔ)言的優(yōu)點(diǎn)和MATLAB強(qiáng)大的數(shù)據(jù)處理能力,使得開發(fā)的化學(xué)虛擬儀器系統(tǒng)具有功能更強(qiáng)的數(shù)據(jù)處理能力[3]。該系統(tǒng)程序設(shè)計(jì)主要包括數(shù)據(jù)分析和數(shù)據(jù)庫(kù)管理兩大模塊,系統(tǒng)主頁(yè)前面板如圖2所示。其中,數(shù)據(jù)分析模塊包括數(shù)據(jù)讀取、模型建立、回歸分析、預(yù)測(cè);數(shù)據(jù)庫(kù)管理查詢主要包括數(shù)據(jù)存儲(chǔ)、查詢、修改、提取分析等功能。

 系統(tǒng)主要應(yīng)用嵌入式子面板和彈出式子面板兩種技術(shù)。數(shù)據(jù)分析模塊采用的是嵌入式子面板技術(shù),即利用函數(shù)選板中的子面板控件,將子VI嵌入主VI中,從而使分析方法的選擇與分析執(zhí)行過(guò)程變得直觀且清晰;數(shù)據(jù)庫(kù)訪問模塊應(yīng)用的是彈出式子面板技術(shù),即利用應(yīng)用程序控制選板中的打開VI引用控件,進(jìn)行子VI的靜態(tài)調(diào)用。
1.1 數(shù)據(jù)分析模塊
1.1.1 BP神經(jīng)網(wǎng)絡(luò)分析模塊

 BP神經(jīng)網(wǎng)絡(luò)算法流程可以分為BP神經(jīng)網(wǎng)絡(luò)構(gòu)建、BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練和BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)[4]。當(dāng)參數(shù)適當(dāng)時(shí),BP神經(jīng)網(wǎng)絡(luò)算法能夠收斂到較小的均方差,是目前應(yīng)用最廣的神經(jīng)網(wǎng)絡(luò)算法之一。本文BP神經(jīng)網(wǎng)絡(luò)分析模塊,主要是利用LabVIEW調(diào)用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱中關(guān)于BP神經(jīng)網(wǎng)絡(luò)的newff、sim和train 3個(gè)函數(shù)[5],進(jìn)行BP網(wǎng)絡(luò)建模和數(shù)據(jù)分析預(yù)測(cè),其面板如圖3所示,包括輸入向量路徑選擇、向量數(shù)組顯示、回歸擬合結(jié)果圖和輸出向量數(shù)組顯示等功能。

1.1.2 支持向量機(jī)分析模塊
 支持向量回歸SVR(Support Vector Regression)算法的基礎(chǔ)主要是ε不敏感函數(shù)(ε-insensitive function)和核函數(shù)算法。SVR采用核函數(shù)解決這一矛盾,用核函數(shù)代替線性方程中的線性項(xiàng)可以使原來(lái)的線性算法“非線性化”,即能作非線性回歸。與此同時(shí),引進(jìn)核函數(shù)達(dá)到了“升維”的目的,而增加的可調(diào)參數(shù)卻很少,這樣即便是過(guò)擬合也仍能控制[6]。
 本系統(tǒng)支持向量機(jī)分析模塊,主要利用LabVIEW調(diào)用基于MATLAB平臺(tái)的LIBSVM工具箱中的SVMcgForRegress、svmtrain和svmpredict 3個(gè)函數(shù)[7],依據(jù)支持向量回歸方法建立非線性模型。由于LIBSVM工具箱單維輸出的特點(diǎn),對(duì)樣本的多種組分應(yīng)分別建立3個(gè)回歸模型,進(jìn)行數(shù)據(jù)集的非線性回歸。支持向量機(jī)算法子VI前面板及程序框圖分別如圖4、圖5所示。

1.1.3 偏最小二乘分析模塊
 偏最小二乘方法(PLS)作為一種常用的分析算法被廣泛地應(yīng)用于分析化學(xué)研究中。這種方法不僅吸收了經(jīng)典最小二乘法的優(yōu)點(diǎn),同時(shí)是主成分回歸(PCR)方法的進(jìn)一步發(fā)展。
 偏最小二乘回歸的基本原理是[8]:考慮p個(gè)變量y1,y2,…,yp與m個(gè)自變量x1,x2,…,xm的建模問題,首先在自變量集中提出第一成分t1(t1是x1,x2,…,xm的線性組合,且盡可能多地提取原自變量集中的變異信息);同時(shí)在因變量集中也提取第一成分u1,并要求t1與u1相關(guān)程度達(dá)到最大;然后建立因變量y1,y2,…,yp與t1的回歸。如果回歸方程已達(dá)到滿意的精度,則算法中止;否則繼續(xù)第二對(duì)成分的提取,直到能達(dá)到滿意的精度為止。若最終對(duì)自變量集提取r個(gè)成分t1,t2,…,tr,則偏最小二乘回歸將通過(guò)建立y1,y2,…,yp與t1,t2,…,tr的回歸式,然后再表示為y1,y2,…,yp與原自變量的回歸方程式,即偏最小二乘回歸方程式。圖6所示為偏最小二乘算法分析模塊前面板,圖7所示為偏最小二乘算法子VI程序框圖。該程序主要應(yīng)用了LabVIEW中的report generation工具箱對(duì)Excel表格中的訓(xùn)練數(shù)據(jù)進(jìn)行讀取,并轉(zhuǎn)化成二維數(shù)組形式;再將訓(xùn)練集數(shù)據(jù)輸入MATLAB腳本中,進(jìn)行偏最小二乘算法分析;最后利用report generation將訓(xùn)練結(jié)果和預(yù)測(cè)結(jié)果生成Excel表格,存儲(chǔ)至數(shù)據(jù)庫(kù)。

1.2 數(shù)據(jù)庫(kù)管理模塊
 由三種算法分析預(yù)測(cè)的數(shù)據(jù)和建立的模型都被存儲(chǔ)在數(shù)據(jù)庫(kù)中,隨時(shí)可以進(jìn)行調(diào)用。由虛擬儀器的測(cè)試測(cè)量系統(tǒng)得到的數(shù)據(jù)將存儲(chǔ)于數(shù)據(jù)庫(kù)中,以構(gòu)建數(shù)據(jù)訓(xùn)練集。用戶可隨時(shí)調(diào)用歷史數(shù)據(jù)進(jìn)行模型訓(xùn)練和模型訓(xùn)練效果的比較。圖8為數(shù)據(jù)庫(kù)管理模塊前面板。

 

 

 LabVIEW可以通過(guò)基于ADO技術(shù)的LabSQL數(shù)據(jù)訪問包,以調(diào)用子VI的方式進(jìn)行數(shù)據(jù)庫(kù)訪問。ADO通過(guò)與開放數(shù)據(jù)互連ODBC(Open Database Connectivity)連接可以訪問任何支持ODBC的數(shù)據(jù)庫(kù),本系統(tǒng)采用Microsoft Access數(shù)據(jù)庫(kù)來(lái)進(jìn)行數(shù)據(jù)管理、存儲(chǔ)和查詢。
 (1)數(shù)據(jù)存儲(chǔ)模塊。首先是建立Access數(shù)據(jù)源,在Access中建立一個(gè)名為MyDB.mdb的數(shù)據(jù)庫(kù),同時(shí)在配置DSN時(shí)將數(shù)據(jù)源命名為DSN_Wastewater monitoring,之后就可以在LabVIEW中進(jìn)行調(diào)用LabSQL的函數(shù)功能。
?。?)歷史數(shù)據(jù)查詢模塊。同樣利用LabSQL的ADO Connection Create.vi和ADO Connection Open.vi創(chuàng)建數(shù)據(jù)庫(kù)連接,通過(guò)SQL Execute.vi執(zhí)行SQL語(yǔ)句“SELECT*FROM 數(shù)據(jù)庫(kù)名 WHERE 選擇條件”將所需數(shù)據(jù)抽取出來(lái),在前面板的表格控件中顯示數(shù)據(jù),并且進(jìn)行格式轉(zhuǎn)換及輸出數(shù)據(jù)趨勢(shì)的曲線圖標(biāo)。
2 結(jié)論及展望
 利用此系統(tǒng)的三種算法對(duì)某液體推進(jìn)劑(3個(gè)組分的混合物)滴定數(shù)據(jù)進(jìn)行回歸分析,得到如表1所示的分析結(jié)果。


?。?)三種模型的分析結(jié)果都在可接受誤差范圍之內(nèi),可作為此液體推進(jìn)劑的滴定分析結(jié)果。
?。?)三種分析模型中,偏最小二乘模型的結(jié)果較佳。三種組分的標(biāo)準(zhǔn)誤差: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。
?。?)基于LabVIEW及化學(xué)計(jì)量學(xué)的化學(xué)分析系統(tǒng),操作簡(jiǎn)便,人機(jī)界面友好,實(shí)現(xiàn)了測(cè)試數(shù)據(jù)自動(dòng)分析處理,并實(shí)時(shí)獲得結(jié)果,避免了繁瑣的文本程序編譯計(jì)算過(guò)程,提高了測(cè)試結(jié)果的精度,大大縮短了分析時(shí)間。
 (4)利用LabVIEW的共享變量或Web Server網(wǎng)絡(luò)編程方式,可以為用戶提供一個(gè)集算法計(jì)算、模型共享、數(shù)據(jù)共享為一體的化學(xué)分析網(wǎng)絡(luò)平臺(tái)。
 (5)通過(guò)對(duì)某種液體推進(jìn)劑分析數(shù)據(jù)的驗(yàn)證,該系統(tǒng)運(yùn)行良好,結(jié)果準(zhǔn)確,可作為虛擬儀器測(cè)試系統(tǒng)的數(shù)據(jù)處理模塊,具有一定應(yīng)用價(jià)值。
?。?)本系統(tǒng)將引入更多多元回歸算法[9],如主成分分析、多元線性回歸、多元非線性回歸算法。隨著本系統(tǒng)引入算法種類的不斷增加,效果的不斷優(yōu)化,系統(tǒng)功能將逐漸完善,可以進(jìn)行如一元回歸、多元線性、多元非線性及多維的回歸分析預(yù)測(cè)。
?。?)隨著網(wǎng)絡(luò)的普及,隨著算法可靠性的增加以及算法使用方便性的增加,會(huì)吸引大量的科學(xué)研究工作者在該系統(tǒng)平臺(tái)上進(jìn)行計(jì)算和程序開發(fā),其各方面價(jià)值會(huì)逐步體現(xiàn)。
參考文獻(xiàn)
[1] 許祿.化學(xué)計(jì)量學(xué)方法[M].北京:科學(xué)出版社,2004.
[2] 倪永年.化學(xué)計(jì)量學(xué)在分析化學(xué)中的應(yīng)用[M].北京:科學(xué)出版社,2005.
[3] 曲麗蓉,胡容,范壽康.LabVIEW、MATLAB及其混合編程技術(shù)[M].北京:機(jī)械工業(yè)出版社,2011.
[4] 周開利,康耀紅.神經(jīng)網(wǎng)絡(luò)模型及其MATLAB仿真程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005.
[5] MATLAB中文論壇.MATLAB神經(jīng)網(wǎng)絡(luò)30個(gè)案例分析[M].北京:航空航天大學(xué)出版社,2010.
[6] 鄧乃樣,田英杰.數(shù)據(jù)挖掘中的新方法—支持向量機(jī)[M].北京:科學(xué)出版社,2005.
[7] 丁世飛,齊丙娟.支持向量機(jī)與算法研究綜述[J].電子科技大學(xué)學(xué)報(bào),2011,40(1).
[8] 王惠文.偏最小二乘回歸方法及其應(yīng)用[M].北京:國(guó)防工業(yè)出版社,2000.
[9] MILLER J N, MILLER J C. Statistics and chemometrics for analytical chemistry, fouth edition[M]. England: Pearson Education,2000.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。