白新宇
(貴州師范大學,貴陽550000)
隨著大數據時代的來臨,生活中無時無刻都在產生著數據,同時也產生了很多不平衡的數據:如癌癥數據、網絡詐騙數據等。數據集中各類別數量分布不均衡,將導致個別類占支配地位,我們將這種現象稱為數據不平衡。不平衡數據集的分類問題在我們的現實生活種隨處可見。例如:如癌癥的檢測,通常人們患癌癥的概率是很低的,因此正常人與癌癥患者的比例嚴重不平衡。而現實生活中,大家往往更關心的是數據集中的少數類,對少數類的誤分可能造成的損失是十分嚴重的,如:將癌癥患者判別為正常,將會耽誤患者的最佳治療時機。但在不平衡的數據集上進行分類,往往使得多數類分類精度較高,而對于少數的分類效果卻很差。對于某些特定的領域而言,通常只關注樣本中少數類的分類結果。因此,研究樣本數量不平衡的分類方法具有十分重要的意義。
樣本分布不平衡在數據科學中十分常見,主要表現為不同類別間的規模差異較大[1]。Weiss GM 通過實驗明確提出,相對平衡的樣本分布可以取得更好的分類效果[2]。而傳統的分類算法在處理不平衡樣本分類問題中,效果表現較差,其主要原因為在分類模型的訓練過程中,樣本的不平衡分布會導致不同類別的樣本被用于訓練的次數不均等,往往會使分類結果傾向于多數類[3]。針對樣本分布不平衡的分類問題的解決方法可概括為三類[4]:①數據層面的方法;②算法層面的方法;③數據和算法相結合的方法。
數據層面解決數據不平衡問題包括數據過采樣和降采樣。過采樣技術是增加少數類樣本的方法,SMOTE(Synthetic Minority Oversampling Technique)[5]和Borderline-SMOTE[6]是常用的兩種過采樣方法,這兩種方法的特點是通過給予真實樣本的鄰居節點一個隨機權重,再結合真實樣本來生成新的樣本。但由于需要預先確定鄰居節點的數量k,因此k 值的選擇對結果影響相對較大。和過采樣相反,降采樣是一種減少多數類來達到樣本平衡的方法[7],由于該過程容易丟失重要信息因此實際應用中使用較少。
改變類分布并非是解決類不平衡問題的唯一途徑,從算法層面解決數據不平衡問題也行之有效[8]。Boosting[9]是一種集成分類器,可以在每次訓練后調整各類的權重,達到更好的學習效果。而后出現了一系列關于Boosting 方法的改進,如:AdaBoost[10]、SMOTEBoost[11]等都在一定程度提高了分類的精準程度。
綜合以上兩類方法的特點,本文提出了一種對數據進行多次劃分,然后逐步分類的學習方法,為了方便描述記為“分支學習樹(Branch Learning Tree,BLT)”。
癌癥基因圖譜(The Cancer Genome Atlas,TCGA)計劃是美國國家癌癥研究所和美國人類基因組研究所共同監督的一個項目,同時TCGA 也是目前最大的癌癥基因信息數據庫之一[12]。本實驗使用數據集源于TCGA 平臺,由Vesteinn Thorsson 針對TCGA 平臺33 種癌癥樣本進行研究,結合6 種分子平臺數據來計算160 種免疫特征間的相關系數[13],通過聚類分析最終得到5 個免疫表達特征,再根據這五種免疫表達特征將所有非血液腫瘤聚類為6 種免疫亞型[14](傷口愈合型、IFN-γ主導型、炎癥型,淋巴細胞殆盡型、免疫靜默型和TGF-β主導型)。為了方便描述將六種免疫類型記為:C1、C2、C3、C4、C5、C6,六種免疫類型的數量分布如表1 所示。

表1 六種免疫類型數量統計
分類模型在不平衡數據集上進行分類任務時,分類效果較差,其根本原因是,在少數類樣本上獲得的學習機會更少。Boost 算法可以重點關注分類錯誤的樣本,以保證被錯分的樣本可以獲得更多的學習機會。
假設可以在每次分類前將不平衡的數據劃分為兩個規模相近的子集,再進行多次二分類,便可以減少類別間規模差異較大造成的誤分問題。基于此想法,本文設計了一種基于“多次劃分”、“逐步分類”的分支學習樹結構。首先依據數據集中各個樣本的分布構造BLT,再對BLT 中的分類器進行訓練,最終實現對所有類的準確分類。
BLT 的構建思想源于數據結構中哈夫曼樹,主要構建過程如下:
(1)將每一個類別視為一棵樹,將該類別的數量看作其權重。
(2)選擇根節點權重最小的兩棵樹構造成一顆新的樹,新樹的權值為兩個子樹權值之和。
(3)將新生成的樹代替被選中的兩棵樹。
重復步驟(2)、(3)直到只有一棵樹為止,如此便構造出了BLT,與哈夫曼樹不同的是BLT 中的每個分支節點是一個二分類的分類器。

圖1 腫瘤免疫亞型數據構建的分支學習樹
如圖1 所示為由腫瘤的免疫亞型數據所構造的BLT,C1、C2、C3、C4、C5、C6 為待分類樣本的類別,A、B、C、D、E 為二分類分類器。將數據集DATA 作為BLT的輸入,由BLT 對該數據集進行自頂向下逐步分類。結合表1 觀察可知,這樣的結構可以優先將多數類進行分類,再逐步對少數類進行分類。因此,在模型的訓練過程中,可以保證待分類的兩類數據規模相近,同時可以避免某一類別占主導地位情況的出現。對于圖1中的分類器,本文分別使用了KNN、SVM、決策樹和隨機森林等四種傳統分類器,詳見表2。
Micro 是一項宏觀的評價指標,通過統計總體數據來計算,將所有的類的True Positive(TP)除以所有類別的TP 與False Positive(FP)的加和。因此micro 方法下的precision 和recall 都等于accuracy。

Macro 是一項微觀的評價指標,通過統計各個類別數據來計算,分別求出每一個類別的precision 再求其算數平均(公式2 中ClassNum為總類別數)。

Weighted 是一項綜合的評價指標,macro 算法是對各類的precision 和取算術平均,weighted 算法是對macro 算法的一種改進,weighted 算法以每個類別的占比為權重,重新計算得到加權precision。

其中,TP 表示正樣本被正確的預測為正;FN 表示正樣本被錯誤的預測為負;FP 表示負樣本被錯誤的預測為正;TN 表示負樣本被正確的預測為負。
本實驗所使用的數據集公開于GitHub①https://github.com/bxy123456/Sample-imbalance-Tumor-immune-subtype-data,數據集按照訓練集:測試集為4:1 的比例進行劃分,如下每一個指標的取值均是五次重復試驗得到的平均結果。
表2 整體分為兩個部分,其一為由四個傳統分類(KNN、SVM、決策樹、隨機森林)模型的分類結果,其二為由常規分類器作為基本分類單元構成的BLT 的分類結果。對比傳統分類器和BLT 的分類結果,BLT 的分類準確率高于常規分類器約1.5%左右,圖2 展示了BLT 對分類性能提升的百分比,觀察可知,BLT 方法在樣本量較少類別性能提升可達11%-79%。分析其主要原因有以下兩點:①BLT 可以減少學習過程中各類別樣本數量不平衡帶來的影響。②BIT 在自上向下分類的過程中,待分類的樣本類別數是逐漸減少,因此受到其他類別數據的干擾更少。

表2 傳統分類器與BLT 分類結果對比
面向樣本數量不平衡的分類問題,本文提出了一種改進傳統分類器的方法,并在腫瘤免疫亞型分類的數據進行驗證,均使得傳統分類器的分類性能有所提高。由于該方法在少數類的分類中取得提升尤為明顯,因此可應用一些特殊的應用領域,來解決部分技術難題。盡管本實驗取得了不錯的效果,但仍有需要探究的方向,主要總結為一下兩點:①本文中用于構建BLT 的分類器為同一種分類器,未探究不同分類組合的分類效果。②BLT 樹雖然可以減少了樣本不平帶來的影響,但是不能完全消除,未來的工作可以考慮結合過采樣技術來獲得更好的效果。

圖2 多種BLT分類結果對比