Nature 子刊:機器學習高維數據分析中那些一定可以避開的坑!

Nature 子刊:機器學習高維數據分析中那些一定可以避開的坑!

導語

《Nature》11月28日推出的一篇comments文章指出了使用高維數據的機器學習中常見的“坑”,以及避免方法,從而幫助該領域的小白能夠客觀的評價他們結果是否靠譜。方法論的文章會讀起來較枯燥,因此本文嘗試使用對話體來解讀原文的3個主要問題。

論文題目:

Avoiding common pitfalls in machine learning omic data science

論文地址:

https://www.nature.com/articles/s41563-018-0241-z

由於和生物有關的組學數據都是典型的高維數據,例如蛋白組,脂質組,轉錄組(RNA),基因組(DNA)等,在這個人工智能和醫療結合愈發深入的年代,基於高維數據的預測模型將會變得越來越重要。因此對於相關從業者,深入瞭解其中的方法論愈加不可或缺。另外,高維數據不止出現在生物相關的組學數據中,在材料,氣象等領域也會有類似的數據集,故這篇“避坑指南”不僅僅適用於與生物相關的數據挖掘中。

過擬合與維度災難

文章背景

東東:我先來講一下這篇文章,有不對的地方請瑞瑞指出。這篇文章首先指出了過擬合和緯度詛咒問題。

瑞瑞:打斷一下,在講解文獻時,要先說這篇文獻的背景,就拿多組學數據來說,我們要解決的問題是什麼,這些問題為啥之前沒有出現?

東東:為了搞清楚那些因素影響我們的身體健康,人們對自身從多個角度進行了觀測。隨著測序成本的降低,從基因到轉錄出RNA再到合成蛋白質,積累了越來越多的數據。關於一個人的數據項,沒有百萬也有數十萬,這其中的每一項數據,可以看成數據集的一個維度。而我們關心的是這些分子層面的數據如何與宏觀的表型通過統計模型關聯起來,例如血壓,血糖,尿酸等數據變化與人體的健康狀況的聯繫。

避免過擬合

瑞瑞:那在你剛才講的故事中,過擬合意味著什麼?

東東:過擬合指的是將表型之間本來是隨機的變化錯視為統計顯著的關聯,錯誤地和某一個維度建立了聯繫,即假陽性。

瑞瑞:那可以通過改變P值的預設範圍來解決啊,比如之前都說P值小於0.05就是統計顯著了,現在將P值變成0.01就好了,這樣問題不就解決了?

東東:這樣是不行的,因為假設有一百萬維的數據,如果單獨來看,那麼就需要判定一百萬次是否統計相關,而每次獨立的判定假設有5%的機率將隨機的誤差當成是相關性的信號,那一百萬次的判定,不知會導致多少次假陽性。

因此需要將P值的顯著性判定值進行校正,最嚴格的就是用0.05除以數據的維度。但是由於不同數據間本身具有相關性,很多維度反映了身體相同的調控機制,所以簡單地除以數據本身的維度,也會帶來假陰性的問題。而且這些維度之間是有相互影響的。這兩項原因,使得機器學習的方法逐漸流行起來。

瑞瑞:是的,最近有文獻指出,在已發表的神經科學類論文中,有50%的文章統計學方法有疏漏[2],在其他的分子生物學領域也是類似的,畢竟該領域的數據暴增是最近十年間才發生的。

高維度低樣本數據的維度詛咒

The curse of dimensionality

瑞瑞:很多人不瞭解你之前說的維度詛咒指的是什麼?對應於那種類型的機器學習任務?

東東:屬於有監督學習。下圖代表我們的數據集,其中有n個sample,比如有500個,但是每個人的基因數據,卻可能有幾萬的維度,即p>>n,最上面的表型是不同顏色代表分類的標籤,比如是否患某種疾病。但這裡的基因數據是隨機生成的高斯噪音。

Nature 子刊:機器學習高維數據分析中那些一定可以避開的坑!

但是當使用SVM分類器,將原始投影在三維平面上時,卻可以幾乎完美地分開,這就是高維度低樣本數據的維度詛咒(The curse of dimensionality)。

引入懲罰項的常規步驟

瑞瑞:機器學習中面對過擬合的常見方法,是引入懲罰項,如果模型越來越複雜,就在要優化的損失函數中加上對應的懲罰,這樣是不是就能夠解決問題了?

東東:懲罰項也有很多種類,該加那一類懲罰項這個問題也需要通過數據才能回答。

  • 在理想情況下,有足夠多的樣本,能夠將樣本分成三部分,一個訓練集,一個測試集,還有一個數據集用來確定模型的複雜度,這三個集合是完全隔離的;

  • 先在訓練集上使用不同的方法和懲罰項的組合訓練一組模型及進行特徵選擇(選出哪些數據項對預測任務更有效);

  • 之後在橙色的模型選擇集合上選擇一個最優模型,即圖中曲線的最低點;

  • 最後在測試集合上判定準確性。

Nature 子刊:機器學習高維數據分析中那些一定可以避開的坑!

就像在下圖中,先在測試數據集上訓練了多個模型,之後在橙色的第三幅圖中確定三次項的模型是最好的。最後再去測試數據集上看模型的泛化誤差。

Nature 子刊:機器學習高維數據分析中那些一定可以避開的坑!

非理想情況下的數據集分類:交叉驗證

瑞瑞:可是真實情況下,組學的數據往往本身就不會有那麼多樣本,不同標籤間的比例也不一定均一,所以不能像理想中那樣將數據集分成三類。那實際是怎樣做的?

東東:類似下圖的交叉驗證,將數據分為N份,每次拿其中一份做測試集,剩下的做訓練集。之後將每次實驗驗證集的誤差彙總或取平均值,當做模型的泛化誤差。由於每一份數據在都有機會被用做了驗證集,因此對模型泛化誤差的估計是無偏的。而模型選擇的過程則是通過在不同模型上進行交叉驗證完成的。

Nature 子刊:機器學習高維數據分析中那些一定可以避開的坑!

瑞瑞:是的,極端情況下,n是數據集的樣本個數(leave-one-out CV ),即只拿出一個樣本來,剩下的都用來做訓練集,從而保證模型有足夠的樣本量。那在做交叉驗證的時候,需要注意什麼了?

東東:交叉驗證的目的是為了避免訓練出的模型過擬合,因此可以訓練一組模型,之後將這些模型給予不同數據維度的權重進行平均及排序,從中根據模型複雜度的懲罰項來選出多少項對預測結果影響最大的特徵。或者通過選擇不同數量的模型,確定一個最優的懲罰項,之後再用全部的數據來訓練這個加上了預估的最優懲罰項的模型[3,4,5]。

瑞瑞:如果已經進行了特徵選擇,比如選出了我們關注的表型和這幾百個基因最相關,那在做交叉驗證的時候需要注意什麼?

東東:要在全部的數據項上進行交叉驗證。使用降維後的數據以及反覆的特徵選擇,會帶來偏差項的提高。因此要區分CV用來判定整個模型的泛化能力的交叉驗證外層循環以及用來對具體這個模型參數調優的內部循環,從而將模型選擇和模型優化分離,從而避免過擬合。

未知的混淆因素

數據維度不足有什麼不良後果?

瑞瑞:數據量不足之外,生物相關的數據還受制於數據本身的維度不足的影響,比如你收集的數據不包括生活習慣,或者做實驗時用到的試劑的批次等,但這卻會對這個人是否患病有顯著的影響,或影響數據本身的分佈。這種情況具體是怎樣的?

東東:如下圖所示,本來的數據集中一個沒有被記錄下的特徵,將其稱為X,如圖中灰色和黑色的那一列,而在對應的表型上,這個X變量並不是均勻分佈的,這導致在交叉驗證時,不論在測試集還是驗證集上,黑色對應的哪一列用肉眼就能看出其很特殊,這導致模型學到的其實不是判定一個樣本是紅色還是藍色這個預設的目標,反而“偷懶”去判定樣本是灰色還是黑色。

這導致的結果是不管訓練集本身的交叉驗證還是測試集,其結果都不差,但到了完全不同的一份獨立數據集上,模型的表現就差得和隨機亂猜差不多了。見右下方的ROC曲線,ROC 接近0.5,就意味著模型完全沒有預測效力。

Nature 子刊:機器學習高維數據分析中那些一定可以避開的坑!

瑞瑞:因此當前判定一個模型是否靠譜的金標準,都是將你模型在其他實驗室使用相同的實驗方法對相近或相同樣本觀測得出的獨立數據集上跑一下。通過一個獨立的驗證集,能夠看到模型本身是不是受到未知的干擾因素的影響。那如果發現了有未知因素的影響,又應該怎麼辦呢?

對於未知混淆因素

東東:有些好排除,例如人種,年齡之間的差異,可以通過統計上的校正解決,對於年齡,由於年老對身體的影響不一定是線性而可能是指數的,因此還會將年齡的平方項和立方項作為控制因素[6]。

但更多的混合因素則是未知的,例如那一天做的實驗,用的那一臺機器等。雖然目前已有相關的統計方法來解決這一問題,但這些模型都假設未知的因素滿足相應的分佈,但現實中卻往往不是這樣的,這導致即使校正後也有殘餘的未知因素影響。

瑞瑞:當你的模型在獨立數據集上無法重複好結果的時候,也不應該當成是你的模型的末日審判,而應該去找可能的原因和解釋。

東東:比如用於驗證的獨立數據測量的數據項不如原始的用於交叉驗證的數據項豐富,或者用來驗證的數據來自一個不同的人種,從而使得你的模型不適用。尤其在醫療領域,為了保護隱私及倫理要求,並不是所有的數據都是公開的。這使得評價用於驗證的獨立數據集是否恰當變得很困難。

瑞瑞:這個問題對於那些方法類的“虐前任”型創新尤其嚴重。很多文章宣稱自己通過整合很多組學數據,提出了一種比之前所有模型更準確的預測模型。但由於有殘留的未知因素,當你引入新的數據項的時候,模型不做改進,就有可能效果比前人的好,這並不代表著你做出了方法學上的改進與創新。因此現在嚴謹的做法是如果你要證明你的方法有所長進,至少需要在五到六份的獨立數據集上展示你的方法比前人的有顯著提升。

非監督學習中也有過擬合

瑞瑞:在非監督學習中,會不會也出現過擬合的現象呢?

東東:有可能出現,例如在對特徵進行聚類時,即使每一個數據項都和待研究的表型統計相關性並不顯著,但它們之間的相關性卻會使它們聚在一起,從而導致數據項聚成簇,但這樣的結果卻不能用於指導特徵選擇,否則就會導致過擬合。

瑞瑞:非監督學習的另一個常見應用是數據降維,這中間會不會也導致過擬合了?

東東:這篇論文中舉出了一個具體的例子,如下圖。圖中的紅色和綠色是兩個樣本在不同基因區域上的對應特徵,紅色的是有病的,綠色的是沒病的。在圖a中,使用數據的均值作為降維後的特徵,會導致對數據分類時效果變差,但使用數據的方差則不會。而在b圖中,由於數據本身的分佈不同,導致相反的結果,使用方差會導致分類時效果變差。

Nature 子刊:機器學習高維數據分析中那些一定可以避開的坑!

瑞瑞:雖然取方差和取均值不是現實中用到的數據降維的方式,但上面的例子展示瞭如果只根據少量數據選擇的降維模型不適合新的數據,即導致過擬合。這方面有一個工具可以用來評估,可以進一步學習。

Nature 子刊:機器學習高維數據分析中那些一定可以避開的坑!

該方法借鑑了交叉驗證,用來判定非監督模型是否過擬合。

論文題目:

MOVIE: Multi-Omics VIsualization of Estimated contributions

論文地址:

https://www.biorxiv.org/content/early/2018/07/29/379115

例如下面的圖片中,哪一個過擬合了?

Nature 子刊:機器學習高維數據分析中那些一定可以避開的坑!

小結

這篇文章總結了高維數據的三個常見問題,一是沒有用好交叉驗證,導致預測模型過擬合。二是忽略了未知的干擾因素,導致模型在獨立數據集上表現糟糕,三是在非監督學習中忽略了過擬合,導致特徵選擇時丟失關鍵信息,從而影響預測模型的效果。針對這三個問題,作者給出了當前行業內共識的常見解決建議,雖然這些問題都沒有完全解決,但避免前人踩過的坑,是必不可少的。

參考文獻

  1. Nieuwenhuis, S., Forstmann, B. U. & Wagenmakers, E. J. Nat. Neurosci. 14, 1105–1107 (2011)

  2. Simon, R., Radmacher, M. D., Dobbin, K. & McShane, L. M. J. Natl Cancer Inst. 95, 14–18 (2003)

  3. Varma, S. & Simon, R. BMC Bioinform. 7, 91 (2006).

  4. Teschendorf, A. E. et al. Genome Biol. 7, R101 (2006)

  5. https://permalinks.23andme.com/pdf/23-12_predictivemodel_methodology_02oct2015.pdf

Nature 子刊:機器學習高維數據分析中那些一定可以避開的坑!

作者:郭瑞東

編輯:王怡藺

相關推薦

推薦中...