【摘要】本文針對DNA序列的分類問題,通過使用SPSS和Matlab軟件,運用Fisher判別法、BP人工神經(jīng)網(wǎng)絡(luò)模型和支持向量機方法,由已知AB類樣本分別對未知類型的20個DNA序列進行分類.并通過三個統(tǒng)計分類方法的結(jié)果同時綜合考慮誤差及原理分析對三個統(tǒng)計分類方法進行比較,得出三個統(tǒng)計方法的優(yōu)勢及其不全面之處.
【關(guān)鍵詞】DNA序列;Fisher判別法;BP人工神經(jīng)網(wǎng)絡(luò)模型;支持向量機方法
2000年全國大學(xué)生數(shù)學(xué)建模競賽A題的DNA人工序列分類要求根據(jù)已給出的20個分為A,B兩類的DNA序列對另外20個未標明類別的人工序列進行分類,我們由這個類型的題目出發(fā),來談?wù)勁c之相關(guān)的三個統(tǒng)計分類方法及其優(yōu)劣.
很常見的一種判別方法就是通過Fisher判別法進行特征值提取及分類,用的是投影的思想,定義一個準則函數(shù)JF,找到其最大的解來得到Fisher線性判別式ω*,再根據(jù)親疏程度進行判定分類.
在DNA的這題中由于序列是由四種堿基構(gòu)成,A和B兩組各有10個觀察數(shù)據(jù),判別分析就是要根據(jù)這些數(shù)據(jù)在適當?shù)臏蕜t下,由問題分析中的特征向量xi確定判別函數(shù):y=uTxi=ω1x1+ω2x2+ω3x3,再確定臨界值ye,然后進行判別分類.
Fisher判別法的實現(xiàn)可以借助SPSS軟件,用上述算法對已知的1~20組進行分類,除了A組的第4個被錯判之外,其余全部分類正確,正確率達到95%.
對于未知序列21~40組進行分類,得到的結(jié)果是:
A類:22,23,25,27,29,34,35,36,37.
B類:21,24,26,28,30,31,32,33,38,39,40.
另外一種分類的方法是利用BP人工神經(jīng)網(wǎng)絡(luò)模型,本文考慮兩層前傳網(wǎng)絡(luò),激活函數(shù)由函數(shù)φ(x)=1[]1+e-nv來決定.本題輸入層包含三個單元k=1,2,3,分別為T,G,C的含量;中間層取j=1,2,3;輸出層包含兩個單元i=1,2,記A類的理想輸出為(1,0),B類的理想輸出為(0,1),其后我們將堿基T,G,C的含量輸入網(wǎng)絡(luò),根據(jù)輸出模式靠近(0,1)還是(1,0)來判斷其歸于哪一組.為了減小誤差,我們讓實際輸出盡可能接近理想輸出.
我們將對應(yīng)于樣品S的理想輸出記作{TSi},實際輸出記作{QSi},則實際輸出與理想輸出的差異為E(W)=0.5∑(TSi-QSi)2.由向后傳播算法,求得適當?shù)腤,使E(W)達到極小值.
為了保證該模型的準確性,我們對數(shù)據(jù)進行了篩選.由Fisher函數(shù)驗證結(jié)果可以發(fā)現(xiàn),A類中第4 組數(shù)據(jù)在順序檢驗和交叉檢驗中都出現(xiàn)錯誤,因此我們認為這個樣本是錯誤值,故刪去.使用Matlab軟件進行神經(jīng)網(wǎng)絡(luò)運算,進過17次訓(xùn)練達到目標值,得到如下結(jié)果.
A類:27,25,29,23,35,34,37.
B類:21,22,24,26,28,30,31,32,33,36,38,39,40.
最后要提的是一種支持向量機技術(shù),由于四個堿基比例之和為1,因此我們將DNA序列分類問題轉(zhuǎn)化為三個變量的問題,作DNA樣本散點圖時可將其看作是三維立體空間的散點圖,尋找超平面π把樣本空間分割成兩部分.記這些樣本xi,yi,i=1,2,…,20,yi∈{-1,1},定義A的輸出類別為1,B的輸出類別為-1.假設(shè)超平面π:ωx+b=0,同時存在兩個平行于π的超平面π1和π2:ωx+b=1和ωx+b=-1(ω,x∈R3).使離π最近的剛好分別落在π1和π2上,其他樣本都將位于π1和π2之外,因此建立規(guī)劃模型:
min1[]2‖ω‖2s.tyi(ωxi+b)≥1.
構(gòu)造拉格朗日方程,則ω求解方程(λi為拉格朗日系數(shù)),ω=∑20i=1λiyixi.
輸出結(jié)果若為1則判為A 類,若為-1則判為B 類.由Matlab運算,我們可得分界面15.8315x-1.9923y+16.9883z-8.6174=0(其中x,y,z軸分別為a,c,g頻率).
下面我們定量地檢驗該模型的合理性,把A,B類共20個樣本的數(shù)據(jù)代入,即讓A,B類共20個樣本的數(shù)據(jù)代入上面的分界面方程中,若g(xi,yi,zi)=15.8315xi-1.9923yi+16.9883zi-8.6174≥1,則判為第i個序列為A類;而g(xi,yi,zi)≤1,則判為第i個序列為B類.計算結(jié)果20個樣本判別結(jié)果與絕大多數(shù)實際相符(B類第2,7個與實際有很小的誤差,小于0.005%可忽略),說明該模型合理.
支持向量機得到人工序列21~40的分類結(jié)果:
A類:23, 25, 27,29,34,35.
B類:21,22,24,26,28,30,31,32,33,36,37,38,39,40.
三種分類方法各有其優(yōu)劣.Fisher線性判別式對確定性和隨機性模式的分類都是適用的,但這個模型也存在著一些不足,在本模型中兩個樣本均值不同,因此可以進行分類,否則無法用此方法.BP神經(jīng)網(wǎng)絡(luò)算法對不確定的問題有自適應(yīng)和自學(xué)習能力,能高精度地逼近連續(xù)的非線性函數(shù),很好地協(xié)調(diào)多種輸入信息的關(guān)系,從而對未知樣本進行分類.支持向量機方法優(yōu)勢在于,通過分界面能夠直觀地表現(xiàn)類別間的區(qū)分,但通過分類結(jié)果與前兩種方法的比較,我們可以得知其缺點在于只能用于具有明顯差異的小樣本間的區(qū)分,誤差較大.
【參考文獻】
[1]豆丁網(wǎng),第19章神經(jīng)網(wǎng)絡(luò)模型,http://www.docin.com/p-392368961.html,2013年5月20日.
[2]道客巴巴,神經(jīng)網(wǎng)絡(luò)建模之一,http://www.doc88.com/p-116698859629.html,2013年5月20日.
[3]百度文庫,實驗1Fisher線性判別實驗,http://wenku.baidu.com/view/95a448a9d1f34693daef3e4b.html,2013年5月20日.
[4]道客巴巴,2000網(wǎng)易杯全國大學(xué)生數(shù)學(xué)建模競賽題目,http://www.doc88.com/p-713991940876.html,2013年5月20日.
[5]郭顯娥,武偉,劉春貴,張景安.多種SVM分類算法的研究.山西大同大學(xué)學(xué)報,2010年6月第26卷第3期.