基于SVM的DNA序列分類
發(fā)布時間:2018-06-25 來源: 短文摘抄 點擊:
摘要:DNA序列存在局部和全局性的結構,按照結構進行DNA分類有重要意義.本文采用SVM方法對已知類別的人造DNA序列進行學習,進而對未知類別序列分類.SVM是一種有監(jiān)督的分類器,可以分析已知數(shù)據(jù),找到一個最大邊緣超平面,進而對未知數(shù)據(jù)進行分類.本文中,我們利用MATLAB工具箱里的svmtrain函數(shù)實現(xiàn)SVM算法.
本文采用SVM算法實現(xiàn)對DNA的分類,首先要提取出DNA序列的特征,由于堿基含量和某些堿基片段在不同種類序列中的含量有很大差別,故先根據(jù)每種堿基的含量以及由A、T、C、G組成的7種3字符串在序列中出現(xiàn)的概率作為特征向量,將字符串通過比例矩陣表示成數(shù)學形式,實現(xiàn)了特征向量的提取.然后選用RBM核函數(shù),通過k折交叉驗證和網格法確定出平均交叉驗證準確率最高的懲罰因子C和核函數(shù)參數(shù)g.同時,最高的平均交叉驗證準確率為該模型的準確率.然后,將20組已知數(shù)據(jù)[9]作為訓練數(shù)據(jù),用svmtrain訓練函數(shù)進行訓練.為了進一步檢驗該分類法的準確度,我們采用反向檢驗法.將預測出的數(shù)據(jù)作為學習數(shù)據(jù),重復交叉驗證,模型訓練過程,用得出的新模型檢驗前20組數(shù)據(jù),結果表明該方法具有很好的分類精度.
關鍵字:DNA序列分類,SVM算法,特征向量,最大邊緣超平面,支持向量
一、前言
DNA全序列像一本記載著人類所有生老病死和遺傳進化信息的天書.這部天書是由A、T、C、G這四個堿基按一定順序排成的長約30億的序列.了解DNA全序列的結構,堿基的排列規(guī)律,對解讀這部天書有重要意義.人們現(xiàn)已經發(fā)現(xiàn)了DNA序列中的一些規(guī)律性和結構,所以可以根據(jù)這些規(guī)律和結構去研究DNA序列.此外,用統(tǒng)計的方法還發(fā)現(xiàn)序列某些片段間有相關性.基于以上發(fā)現(xiàn),我們有理由相信DNA序列有局部性和全局性的結構,那么研究序列結構對理解DNA全序列有很大作用.這項研究常用粗;湍P突姆椒,即忽略某些細節(jié),突出特征,然后用數(shù)學方式將其表示出來.
DNA序列中確實存在著一些規(guī)律性和結構,可以利用這些規(guī)律和結構來實現(xiàn)對DNA的分類.比如:DNA序列是由A、T、C、G四個字符按一定順序排成的序列,這四個字符組成了64種不同的3字符串,其中大多數(shù)用來編碼蛋白質的序列片段,而A、T含量特別多的,一般不用于編碼蛋白質.于是利用以某些堿基含量特別豐富作為特征去研究DNA序列分類是合理的.通過A、T、C、G的含量進行分類是一種全局的DNA序列特征分析分類法,實際上由A、T、C、G可以組成很多種不同的DNA片段[9],有一些片段在A類中的含量特別多,在B類中出現(xiàn)次數(shù)很少,反之亦然.因此我們把這些特殊的DNA片段含量作為另一個分類依據(jù)進行分類這是從局部角度分析DNA序列特征.
DNA序列分類方法有很多.比如模糊聚類算法中的K-means算法,它是數(shù)據(jù)點到原型的某種距離作為優(yōu)化的目標函數(shù),利用函數(shù)求極值的方法得到迭代運算的調整規(guī)則;基于SVM的分類算法,提取DNA序列特征向量,通過SVM算法對已知類別標簽的DNA序列進行訓練,通過交叉驗證選定使得平均分類準確率最高的參數(shù).利用選定的最佳參數(shù)對訓練組進行訓練,根據(jù)訓練數(shù)組學習得到一個最大邊緣超平面,利用這個最大邊緣超平面對檢驗數(shù)組進行分類得分類超平面,利用這個最大邊緣超平面對檢驗數(shù)組進行分類.
模糊聚類分析算法的不足之處在于它是一種非監(jiān)督的學習方法.不能對已知分類標準的DNA序列組進行學習,進而對未知標準的序列做出判斷.它是一種基于距離的分類方法,在處理大量數(shù)據(jù)時比較費時,另外它對數(shù)據(jù)初始化太敏感,容易陷入局部最優(yōu)解.
與上述方法相比,SVM作為一種有監(jiān)督的學習模型能夠處理線性可分和非線性可分兩種情況,基于結構風險最小化理論之上在特征空間中建構最優(yōu)分割超平面,使得學習器得到全局最優(yōu)化.在解決二分類問題中取得了特別好的效果.
二、模型的建立與求解
1.SVM算法基本理論
3.1 k折交叉驗證
將樣本數(shù)據(jù)分為k份,每次取k-1份為學習數(shù)據(jù),剩余1份為測試數(shù)據(jù),進行k次,使每份數(shù)據(jù)都有且只有一次做為測試數(shù)據(jù),每次檢驗的準確率平均,得到平均交叉驗證準確率.
3.2 應用
在svmtrain中使用’-v k’參數(shù)進行相應的k折交叉驗證.它不再是返回一個結構體model,而是返回平均分類準確度.我們便可以進行算法設計中選取最優(yōu)的c和g參數(shù).
4. 優(yōu)化參數(shù)
運用基于網格參數(shù)尋優(yōu)方法,在用SVM進行分類選擇RBF核函數(shù)時,需要選擇合適的懲罰因子c和核函數(shù)參數(shù)g,找出這兩個參數(shù)的可能區(qū)間,選定合適步長,遍歷每對參數(shù),進行交叉檢驗,找出平均交叉檢驗準確率最高的參數(shù),作為模型參數(shù).
其中懲罰因子c核函數(shù)參數(shù)g的選取采用網格法選取界限,以及步長.取c以0.2為步長,g以0.5為步長遍歷所有的(c,g),進行5折交叉驗證,得到平均交叉驗證準確率每次輸出結果賦值給中間量,比較得到最高準確率,它對應的參數(shù)即為最佳的c,g取值.
參考文獻
[1] 數(shù)據(jù)挖掘:概念與技術(中文第三版),
[2] LIBSVM:一種支持向量機的程序庫
[3] 數(shù)據(jù)挖掘十大算法,吳信東
[4] 華南師范2011——SVM參數(shù)交叉驗證與網格搜索法優(yōu)化選擇
[5]中國工業(yè)與應用數(shù)學會2000年全國大學生數(shù)學建模競賽A題
熱點文章閱讀