龍草芳
提要:該文針對質(zhì)譜解析中常用的模式識別方法,分析比較了其常用算法:線性學(xué)習(xí)機(jī)、K最鄰近法、人工神經(jīng)網(wǎng)絡(luò)判別法。
關(guān)鍵詞:質(zhì)譜解析;模式識別;算法
中圖分類號:TP302 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)36-0181-03
在生活中,人們能夠認(rèn)出周圍不同的人分辨他們說話的聲音和方式,認(rèn)出住的小區(qū)工作的單位,人們的這種能力就是“模式識別”。隨著科技的發(fā)展,人們研究用計算機(jī)模擬人的模式識別能力,對不同類型形式的數(shù)據(jù)進(jìn)行描述、分類、識別。
模式識別的計算過程大致概況成以下幾部分:首先從訓(xùn)練樣本獲得原始數(shù)據(jù),對各元素進(jìn)行綜合分析,獲得最能反映樣本屬性的觀測量,從眾多的特征中找到合適有效的特征量,然后進(jìn)行特征提取,構(gòu)成模式空間或特征空間。數(shù)據(jù)需要預(yù)先進(jìn)行處理,處理后,即可通過模式識別算法進(jìn)行訓(xùn)練和分類,然后根據(jù)訓(xùn)練分類所得的判據(jù)對未知樣本進(jìn)行判別(或稱計算機(jī)預(yù)報)。過程如圖1所示。
1 線性學(xué)習(xí)機(jī)(linear learning machine)
1.1 原理
此方法亦稱為糾錯反饋法。最早由Kowalski等引入化學(xué)數(shù)據(jù)的解析,之后被廣泛地用于質(zhì)譜、紅外光譜及核磁共振譜。
該方法使用判別函數(shù)進(jìn)行分類,判別函數(shù)在二維空間為一直線,在三維空間為一平面,而在多維空間則為一超平面,判別函數(shù)將N維空間分成類別區(qū)域,預(yù)測實驗樣本屬于哪一類別。在LLM中,判別函數(shù)先將樣本分為兩類,使屬于一類的樣本處于平面的一側(cè),而屬于另一類的樣本處于另一側(cè)。判別函數(shù)可以通過訓(xùn)練樣本求得,并在通過校驗集的驗證后用于預(yù)測待測樣本的歸屬。
1.2 算法步驟
線性學(xué)習(xí)機(jī)是一種有監(jiān)督的學(xué)習(xí)類型的簡單線性判別函數(shù)的迭代算法,可通過以下步驟來實現(xiàn):
設(shè)在訓(xùn)練集中有兩類樣本,記為[ω1]和[ω2],
1)隨機(jī)選取一個與樣本矢量具有相同維數(shù)的矢量作為w
2)對于每個樣本都進(jìn)行計算(k=1~n)。如果[xk∈ω1],而且如果[wtxk>0],則[wnew=wold](判決矢量保持不變)。反之,如果[wtxk<0],則[wnew=wold-λxk](修正判訣矢量);如果[xk∈ω2]且[wtxk<0],則[wnew=wold](判決矢量保持不變)。反之,如果[wtxk>0],則[wnew=wold-λxk](修正判訣矢量)。在此,[λ=2wtoldxk/xk2]。
3)重復(fù)第二步,直至對所有的樣本都正確分類。
值得提出的是,以上算法是對于線性可分的情況而設(shè)計的,對于線性不可分的情況,則規(guī)定重復(fù)次數(shù),到了規(guī)定次數(shù)還不能完全將訓(xùn)練集分開,則認(rèn)為屬于線性不可分的。
另外,在本算法中的修正判決矢量的計算,實際上是將當(dāng)前的不能正確分類的判決矢量進(jìn)行反射,這是因為
[wtnewxk=(wold-λxk)txk=wtoldxk-2wtoldxkxtkxk/xk2=-wtoldxk]
也就是說,經(jīng)過這樣的修正以后,原來不能正確分類的現(xiàn)在可以分類正確了。一般來說,這樣的重復(fù)次數(shù)在20次左右就足夠了。
1.3 缺點
LLM方法的缺點之一是沒有唯一解,當(dāng)訓(xùn)練對象的表示次序發(fā)生改變時會出現(xiàn)不同的答案。并且只有當(dāng)樣本線性可分時,LLM才能很好的工作。LLM的另一缺點是判別面簡單、異常點容易錯誤分類以及收斂緩慢的不足。另外,LLM只適用于區(qū)分兩個類別的情況。
2 K最鄰近法(K-nearest neighbors,K-NN)
2.1 原理
K最鄰近法在化學(xué)上應(yīng)用極為廣泛,它是直接以模式識別的基本假設(shè)即同類樣本在模式空間相互靠近為依據(jù)的分類方法。它計算在最近鄰域中k個已知樣本到未知的待判別樣本的距離,即使所研究的體系線性不可分,此方法仍可適用。
KNN法對每一個待分類的未知樣本都要計算它到全體已知樣本之間的距離,得到它的k個最近鄰點進(jìn)行判決。若k=1,未知樣本屬于這一個最近鄰樣本。若k>1,則未知樣本與這k個最近鄰樣本不一定屬于一類。這時要采用權(quán)值的方法,對這k個近鄰的情況按少數(shù)服從多數(shù)進(jìn)行表決。一個近鄰相當(dāng)于一票,但考慮k個鄰近與未知樣本的距離有所判別,所以對各票進(jìn)行加權(quán),距離最近的近鄰的類屬,應(yīng)予以較重的權(quán)。
[V=i=1kviDi]或[V=i=1kviD2i]
式中,[vi]為近鄰的類屬取值。對兩類分類,i屬于第一類時取“+1”,屬于第二類時取“-1”。Di為未知樣本與第i個近鄰的距離,k為最近鄰數(shù)。當(dāng)V>0時,則未知樣本歸入為類1;否則歸于類2。
這種方法因采用獲多數(shù)“票”的方法確定未知樣本的歸屬,所以k一般采用奇數(shù)。k值不同時,未知樣本的分類結(jié)果可能不同。
2.2 算法步驟
1)取一個未知樣本,記為[xunknown],計算該樣本到訓(xùn)練集各樣本的距離[Di](i=1,2,…,n),在此n為所有訓(xùn)練集樣本的總數(shù)。
2)取出k個距離最短的訓(xùn)練集樣本,計算它們的權(quán)值和
[Vunknown=ViDi] (i=1,2,…,k)
如果[xi∈ω1],則取[Vi=1];反之,如果[xi∈ω2],[Vi=-1];[Di]是待判別的一本與近鄰的距離。
3)建立判別標(biāo)準(zhǔn),即當(dāng)[Vunknown>0],則[xunknown]判別為第一類[ω1];反之,[Vunknown<0],則[xunknown]判為第二類[ω2]。
2.3 缺點
不幸的是,這種分類方式依賴于每一類中的對象個數(shù)。當(dāng)類與類有重疊時,未知對象將被分配給對象個數(shù)較多的類。在沒有唯一標(biāo)準(zhǔn)而允許近鄰數(shù)可變的條件下,這種情況有時也可以得到解決。
3 人工神經(jīng)網(wǎng)絡(luò)判別法
3.1 原理
人工神經(jīng)網(wǎng)絡(luò)(artificial neural network)的研究是受人腦組織的生理學(xué)啟發(fā)而創(chuàng)立的,是由處理單元(神經(jīng)元)組成,通過一定的模型結(jié)成一個網(wǎng)絡(luò),相互間的聯(lián)系可以在不同神經(jīng)元之間傳遞增強(qiáng)或抑制信號。人工神經(jīng)網(wǎng)絡(luò)用于化學(xué)模式識別的基本思路與判別分析方法是相同的,它也是通過對已知類別的訓(xùn)練集的擬合來建立模型從而進(jìn)行分類與預(yù)測。
3.2 算法
人工神經(jīng)網(wǎng)絡(luò)有多種算法,大致分為兩類:有管理的人工神經(jīng)網(wǎng)絡(luò)和無管理的人工神經(jīng)網(wǎng)絡(luò)。有管理的人工神經(jīng)網(wǎng)絡(luò)的方法主要是對已知式樣進(jìn)行訓(xùn)練,然后對未知式樣進(jìn)行預(yù)測。例如BP(Back Propagation)人工神經(jīng)網(wǎng)絡(luò),是一種誤差反向傳輸網(wǎng)絡(luò),其采用最小均方差學(xué)習(xí)方式,是一種使用最廣泛的網(wǎng)絡(luò)。無管理方法,也稱自組織(self-organization)人工神經(jīng)網(wǎng)絡(luò),無需對已知樣本進(jìn)行訓(xùn)練,則可用于化合物的分類,例如被稱為自組織特征映射網(wǎng)絡(luò)(SOM)的Kohonen神經(jīng)網(wǎng)絡(luò)和典型的反饋式網(wǎng)絡(luò)Hopfield神經(jīng)網(wǎng)絡(luò)。BP人工神經(jīng)網(wǎng)絡(luò)是使用最廣泛的網(wǎng)絡(luò),所以下面對它進(jìn)行介紹。
BP算法由以下幾步構(gòu)成:
1)數(shù)據(jù)預(yù)處理。因大都采用由s型非線性函數(shù)(sigmoid nonlinearity)為其活性函數(shù),即[fu=(1+e-u)-1],其輸出值都介于0~1之間,所以需要對網(wǎng)絡(luò)的輸出進(jìn)行預(yù)處理,使之同樣落入0~1之間。這樣的預(yù)處理不會影響問題的一般性。
2)隨機(jī)選取連接權(quán)重[wme2ki]和[wme1ij](j=1,…,n;i=1,…,m;k=1,…,L),其中n為輸入矢量的節(jié)點數(shù)(或稱輸入矢量的維數(shù));m為隱節(jié)點數(shù);L為輸出節(jié)點數(shù)。一般用(-0.5~0.5)的均勻分布隨機(jī)函數(shù)產(chǎn)生。
3)設(shè)a=1,…,A,重復(fù)迭代以下步驟,直至收斂。
a.前傳計算。按照
[ymej=fwme1ijlnpi+wme10]
和
[Outk=fwme2kiymej+wme20=fwme2ki[fwme1ijlnpi+wme1oi]+wme2o]
來計算Out,并與所期望得到的數(shù)值比較,計算出誤差函數(shù)E。
b.反傳調(diào)節(jié)。計算目標(biāo)函數(shù)對連接權(quán)重的一階導(dǎo)數(shù),以此調(diào)節(jié)連接權(quán)重[wme2ki]和[wme1ij](在此只介紹最陡梯度法,用的是一階導(dǎo)數(shù),別的優(yōu)化算法同樣可行)。
[Δwij=ρδiuj]
式中:[ρ]—— 一步長因子可在(0~1)之間取值;
[u]——第j節(jié)點上的抽象變量,視其是在輸出層還是隱蔽層,就分別等于[fwme1ijlnpi+wme10]或[fwme2kiymej+wme20];
[δ]——梯度因子,對于不同層,有不同表達(dá)式
[] [δi]= [(ui-Expi)(ui)(1-ui)] 如[ui]為輸出節(jié)點
[(wme1ijδk)(ui)(1-ui)] 如[ui]為隱蔽層節(jié)點
在這里[u(1-u)=u′]。這是因為
[u=fwme1ijlnpi+wme10=fx=1/(1+e-x)]
所以有
[u′=f″x=[1/(1+e-x)]/dx=-(1+e-x)-2(e-x)(-1)=(11+e-x)[1-(11+e-x)]=u(1-u)]
[Δwij=ρδiuj]中步長因子[ρ]的取值大小對收斂速度有很大影響,如取值太大,可能引起迭代過程的振蕩(oscillation);反之若取值太小,則會導(dǎo)致權(quán)重調(diào)節(jié)的迭代過程收斂太慢。一般來說,為了加快迭代過程且防止迭代過程的振蕩,在[Δwij=ρδiuj]中引入一個慣量因子λ,有
[Δwij(a+1)=ρδiuj+λΔwij(a)]
以保證迭代收斂速度。
3.3 缺點
人工神經(jīng)網(wǎng)絡(luò)能精確的對復(fù)雜問題進(jìn)行預(yù)測,但卻難以理解。此外也有其他一些問題,如網(wǎng)絡(luò)訓(xùn)練速度問題、神經(jīng)網(wǎng)絡(luò)易受訓(xùn)練過度的影響,網(wǎng)絡(luò)中的神經(jīng)網(wǎng)絡(luò)節(jié)點個數(shù)難以確定,網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化等問題。
4 小結(jié)
人類能很輕易通過視覺辨別文字、圖片,通過聽覺辨別語言,這是人的一種基本技能。但是要機(jī)器模擬人進(jìn)行識別,涉及的問題就比較復(fù)雜。本文就模式識別中的三種常用算法:線性學(xué)習(xí)機(jī)、K最鄰近法、人工神經(jīng)網(wǎng)絡(luò)判別法,簡單分析比較了他們的優(yōu)缺點。
參考文獻(xiàn):
[1] 郭傳杰.計算機(jī)輔助質(zhì)譜解析的譜圖匹配和模式識別方法[J].質(zhì)譜學(xué)雜志,1984,5(3):19-24.
[2] Jurs P C, Venhour T L. Chemical Application of Pattern Recognition[M].Wiley Interscience Publication,1975.
[3] Kowalski B R, bender C F,J.Am.Chem.Soc.,94,5632 (1972).
[4] 許國根,許萍萍.化學(xué)化工中的數(shù)學(xué)方法及MATLAB實現(xiàn)[M].化學(xué)工業(yè)出版社,2008.
[5] 許祿.化學(xué)計量學(xué):一些重要方法的原理及應(yīng)用[M].北京:科學(xué)出版社,2004.