黃紫成,林增坦
(仰恩大學工程技術學院,福建泉州 362014)
微陣列技術是近年來生物信息領域出現的新興技術,已被廣泛應用于藥物研究、疾病診斷、基因測試等多個領域[1]。微陣列技術所呈現的數據以矩陣形式表示,也稱為基因表達數據,當前對微陣列的數據分析主要有差異表達分析、聚類分析、樣本分類、調控網絡、薈萃分析等。本文根據研究需要,重點進行樣本分類分析,該分析是為了建立有效的疾病診斷,使用機器學習算法對微陣列數據進行學習,得出預測模型,進而再對未知分類的表達數據進行分類判別,為疾病的診斷及治療提供可靠的分類效果。由于微陣列數據存在著維數多而樣本少的問題,如何有效地對基因數據進行分析,選出具有特殊貢獻的特征基因,提高分類效率,是當前基因數據樣本分類分析的研究熱點之一[2]。
目前,有越來越多的特征選擇算法應用于微陣列數據的降維分析,并能得到好的分類效果,典型的算法有主成分分析(PCA)[3]、非負矩陣分解、獨立分量分析等,常用的分類算法有支持向量機(SVM)、貝葉斯分類等,把微陣列數據降維之后再采用支持向量機等分類器計算識別率,能得到較高準確率。本文使用PCA與核PCA對微陣列數據進行降維處理,再計算經過這兩種算法處理過的識別率,對比分析運用兩種算法處理微陣列數據效果的優劣。
主成分分析是一種統計學方法,也是數據挖掘中常用的一種降維算法,它能在損失很少信息的前提下,把多個指標轉化為幾個綜合指標,通常把轉化生成的綜合指標稱之為主成分。
算法有如下幾個步驟[4]:
(3)求系數矩陣R的特征根與特征向量λ1≥λ2≥…≥λp>0,相應正交特征向量為ai=[a1i,a2i,…,api]T,i=1,2,…,p.
(5)確定主成分個數,目標是用較少的主成分提取更多的原始信息,取決于k和α(k)之間的權衡。一方面,應該使k盡可能小;另一方面,使累積貢獻率α(k)盡可能大。在實際使用中,通常取αk≥85%[4]。
核主成分分析是目前比較流行的一種新的特征提取方法,它是對PCA的非線性推廣,核函數的形式為k(xi,xj)=<φ(xi),φ(xj)>,其中,k函數為核函數,<,>為內積。算法簡要步驟如下[5]。
(1)計算矩陣k(xi,xj);
(2)計算矩陣k(xi,xj)的m個特征值和特征向量;
(3)對m個特征向量進行歸一化處理;

支持向量機(SVM)是以統計學理論為基礎,根據結構風險最小化原則提出來的。支持向量機的分類實際是通過非線性的變換將輸入空間變換到一個高維的空間,接著在此新空間求最優線性分類面,通過定義適當內積函數來實現這種非線性變換[6]。支持向量機主要有三種內積函數。
(1)多項式形式的內積函數K(x,xi)=[(x·xi)+1]q,經計算得到的是一個以q階多項式為分離器的支持向量機。
(3)S形函數內積K(x,xi)=tanh(v(x·xi)+c)。
本實驗使用經典的基因數據集Leukemia[7-8],該數據集包含了7129個基因,其中,訓練集有38個樣本(27個ALL,11個AML),測試集有34個樣本(20個ALL,14個AML)。
在基因變量中,由于受條件限制,存在很多噪聲基因,這些基因會對分類結果產生干擾,在進行特征選擇之前,需要先預處理,即基因篩選。本文選用的基因篩選方法是基因排序方法。計算各個基因的t值[9-11],具體公式如下:

實驗環境為Win7 64bit 操作系統,8GB內存,Intel?Core i7,Matlab R2017a,SVM工具箱使用臺灣林智仁教授開發的Libsvm[12]。支持向量機以徑向基BRF作為核函數,利用數據集中訓練集進行訓練,選取出一個最優交叉驗證準確率,得到σ與懲罰參數C,構造分類器模型。利用此模型對測試集進行測試,計算識別率。在實驗中利用PCA與核PCA將數據降維到低維,在進行SVM分類識別,兩種特征選擇算法識別率如表1所示。經過PCA降維之后,最優識別率可以達到97.0588%,34個樣本中有33個被正確識別。

表1 PCA特征提取后識別率

表2 核PCA特征提取后識別率

圖1 PCA與KPCA在不同維數識別率比較
從表2可以看出,核PCA降維之后,效果不是很好,最優的識別率只有52.9412%,34個測試樣本只有18個被正確識別。為了更直觀地對比兩種算法特征提取之后的識別率,畫出圖形如圖1所示。經過PCA特征提取之后的識別率高于KPCA,這說明PCA作為經典降維算法應用的廣泛性,對微陣列數據來說亦是如此。微陣列數據經過降維分析之后,提高了分類識別率,有利于醫學上對一些疾病的識別。
綜上所述,根據微陣列數據的特征,計算t值進行篩選預處理,使用PCA與核PCA對數據進行特征提取,利用基于徑向基BRF作為核函數的支持向量機進行分類,計算分類識別率。實驗結果表明,基于PCA降維處理之后其最優識別率達到97.0588%,34個測試樣本有33個被正確識別,而核PCA效果不理想,最優識別率只達到52.9412%。因此,針對微陣列數據高維小樣本的特點,采用降維處理方法進行分析可以提高分類的準確性。