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