
Nature Reviews Genetics| 在基因組學(xué)中應(yīng)用機器學(xué)習(xí)的常見陷阱
Whalen, S., Schreiber, J., Noble, W.S. et al. Navigating the pitfalls of applying machine learning in genomics. Nat Rev Genet (2021). https://doi.org/10.1038/s41576-021-00434-9
如今,遺傳(genetic)、表觀基因組學(xué)(epigenomic)、轉(zhuǎn)錄組學(xué)(transcriptomic)、化學(xué)信息學(xué)(cheminformatic)和蛋白質(zhì)組學(xué)(proteomic)數(shù)據(jù)的規(guī)模,加上易于使用的機器學(xué)習(xí)(ML)工具包,推動了監(jiān)督學(xué)習(xí)在基因組學(xué)研究中的應(yīng)用。
然而,ML軟件中 統(tǒng)計模型(statistical models)** 和 性能評估(performance evaluations)** 背后的假設(shè)在 生物系統(tǒng)(biological systems)** 中常常不滿足。
在這篇綜述中,作者舉例說明了在基因組學(xué)中應(yīng)用監(jiān)督式(supervised) 機器學(xué)習(xí)(ML)時遇到的幾個常見陷阱(pitfalls)的影響。探索了基因組數(shù)據(jù)結(jié)構(gòu)(the structure of** genomics data)如何影響性能評估和預(yù)測。
監(jiān)督式ML(supervised ML),其目標(biāo)是學(xué)習(xí)一個模型,通過識別預(yù)測模型下的基因組特征,對新數(shù)據(jù)進行準(zhǔn)確預(yù)測和/或產(chǎn)生機械洞察力(mechanistic insight)。
作者本文中所用的所有示例數(shù)據(jù)及代碼都上傳在:https://github.com/shwhalen/ml-pitfalls,可自行下載。
[TOC]
性能評估的術(shù)語
- Cross- validation (交叉驗證)
例如,10折交叉驗證(10-fold cross validation)**,將數(shù)據(jù)集分成十份,輪流將其中9份做訓(xùn)練,1份做驗證,10次的結(jié)果的均值作為對算法精度的估計,一般還需要進行多次10折交叉驗證求均值,例如:10次10折交叉驗證,以求更精確一點。
- Performance statistics (性能評估指標(biāo))
-
真陽率(True Positive Rate, TPR)**
檢測出來的真陽性樣本數(shù)除以所有真實陽性樣本數(shù)。
-
假陽率(False Positive Rate, FPR)**
檢測出來的假陽性樣本數(shù)除以所有真實陰性樣本數(shù)。
-
精確率(Precision)
真陽性的數(shù)目除以預(yù)測陽性的總數(shù)(真陽性加上假陽性)。
-
錯誤發(fā)現(xiàn)比例(False discovery proportion,FDP)、錯誤發(fā)現(xiàn)率(False discovery rate,FDR)**
FDP 為 1?Precision。在多次實驗中,預(yù)期的(或平均的) FDP 是 FDR。
-
Accuracy
準(zhǔn)確率是分類器做出的正確預(yù)測的比例。它的計算方法是,正確預(yù)測的數(shù)量除以預(yù)測的總數(shù)。
- Visualizing performance (性能可視化)
-
Receiver operating characteristic (ROC) curve
受試者工作特征(ROC)曲線描繪出真實陽性率與FPR的函數(shù)關(guān)系。該曲線下面積(auROC)量化了分類器的性能,面積為1.0代表完美性能,面積為0.5代表隨機機會。auROC 不依賴于測試集中的類別比例。
Precision–Recall (PR) curve
準(zhǔn)確度-召回率(PR)曲線將準(zhǔn)確度作為召回率(也稱為真實陽性率)的函數(shù)繪制出來。完美性能對應(yīng)的面積(auPR)為1.0,而隨機機會對應(yīng)的面積為 陽性個數(shù)/示例總數(shù)。對于一個固定分類器,auPR 將根據(jù)測試集中的類別比例變化。
陷阱1: distributional differences(分布差異)

分布上的差異可能來自不同的來源,例如批次效應(yīng)。如果訓(xùn)練集和測試集混合了來自不同批次的示例(左),測試集的性能將比新批的性能高得多。為了擬合適用于新批的模型,訓(xùn)練集和測試集應(yīng)該由不同的批次組成(右)。
分布差異會影響特征(features)(其邊際分布(marginal distribution)表示為P(x))、結(jié)果(outcome )(P(y))和/或特征與結(jié)果之間的關(guān)系(條件分布(conditional distribution)P(y|x))。
在基因組學(xué)(genomics)中,由于許多原因產(chǎn)生了分布差異。一個常見的原因是數(shù)據(jù)中固有的生物結(jié)構(gòu)(inherent biological struc-ture)。例如,常染色質(zhì)(euchromatin)和異染色質(zhì)(heterochromatin)之間的表觀遺傳譜(epigenetic profiles)不同。蛋白質(zhì)屬于功能類別,每一個都有不同的表達模式和物理相互作用。在全基因組關(guān)聯(lián)研究(GWAS)中,當(dāng)變異發(fā)現(xiàn)或模型訓(xùn)練的個體與不同的祖先(ancestry)的人群進行基因型-表型關(guān)聯(lián)(genotype–phenotype associations)測試時,群體遺傳結(jié)構(gòu)產(chǎn)生了分布差異,稱為確認偏倚(ascertainment bias)。當(dāng)一個模型在不同的生物環(huán)境(biologi-cal contexts)(例如,不同的細胞類型、不同的物種或在體外或體內(nèi))中訓(xùn)練和應(yīng)用時,也會產(chǎn)生分布差異。最后,由于研究設(shè)計和技術(shù)因素,分布可能會有所不同。批次效應(yīng)(batch effects)**在基因組學(xué)中非常普遍,并且會使測量值的平均值和變異性產(chǎn)生偏差。
Ascertainment bias arises when data for a study or an analysis are collected (or surveyed, screened, or recorded) such that some members of the target population are less likely to be included in the final results than others. Ascertainment bias is related to sampling bias, selection bias, detection bias, and observer bias.
Ascertainment bias can happen when there is more intense surveillance or screening for outcomes among exposed individuals than among unexposed individuals, or differential recording of outcomes.
Catalogue of Biases Collaboration, Spencer EA, Brassey J. Ascertainment bias. In: Catalogue Of Bias 2017: https://catalogofbias.org/biases/ascertainment-bias/
在這個陷阱中,訓(xùn)練集和測試集有相同的分布,而預(yù)測集有不同的分布。在這種情況下,應(yīng)該期望交叉驗證的性能比預(yù)測集的性能更高。由于預(yù)測集和測試集在分布上存在差異,在模型擬合過程中學(xué)習(xí)到的特征和結(jié)果之間的關(guān)系在預(yù)測中可能不成立。
幸運的是,一些分布上的差異很容易識別。理想情況下,應(yīng)該檢查結(jié)果和特征的邊際分布。但是在預(yù)測設(shè)置中,結(jié)果通常是未知的,所以人們只能評估特征分布??梢暬且环N簡單的方法,可以將數(shù)據(jù)投影到兩個維度并繪制散點圖,也可以比較特征值的直方圖。更復(fù)雜的方法是使用統(tǒng)計檢驗來檢測分布的差異;例如,對二元特征的二項檢驗(binomial test),對單變量連續(xù)特征的Kolmogorov-Smirnov檢驗或?qū)?/strong>多元連續(xù)特征的最大平均偏差(Maximum Mean Discrepancy)**?;谀P偷碾x群點和異常檢測技術(shù)也可以使用。
對分布差異的解釋仍然是一個開放研究領(lǐng)域。通常使用各種批次校正方法,如分位數(shù)歸一化(quantile normalization)、使用ComBat對測量變量進行經(jīng)驗貝葉斯調(diào)整(empirical Bayes adjustment)、用于估計和校正未知噪聲源的替代變量分析(surrogate variable analysis,SVA)以及能夠識別批次之間公共模式的相關(guān)性分析。另一個解決方案是對抗學(xué)習(xí)(adversarial learning),這是一組試圖通過提供欺騙性輸入來欺騙模型的技術(shù)。具體來說,可以使用一個訓(xùn)練有素的模型來預(yù)測每個示例來自的數(shù)據(jù)集,從而為主要預(yù)測任務(wù)生成懲罰(penalties)**。
陷阱2: dependent examples(相關(guān)例子)

當(dāng)生物群體表現(xiàn)出相似的特征-結(jié)果關(guān)系時,例如來自同一家族或復(fù)合體的蛋白質(zhì)的相關(guān)功能,依賴性結(jié)構(gòu)就出現(xiàn)了。如果使用同一組中的其他實體訓(xùn)練一個模型,預(yù)測結(jié)果就很容易(左)。為了確保模型可以泛化,我們應(yīng)該將整個生物組劃分為訓(xùn)練集或測試集(右)。
常用的ML模型和交叉驗證的數(shù)學(xué)依賴于獨立性假設(shè),這意味著一個例子的值不依賴于另一個例子。例如,在不替換已抽牌的情況下從一副牌組中重復(fù)抽牌是有相關(guān)性的,因為下一張牌的概率取決于已經(jīng)抽到的牌。

生物網(wǎng)絡(luò)中的節(jié)點對不是獨立的。
a圖|對集合A、B的相互作用網(wǎng)絡(luò)圖進行特征的編碼,有相互作用標(biāo)注為
1,沒有相互作用標(biāo)注為0。得到的特征矩陣和標(biāo)簽可用于標(biāo)準(zhǔn)的機器學(xué)習(xí)(ML)算法。為了估計模型的性能,數(shù)據(jù)集被隨機地分成訓(xùn)練集和測試集。節(jié)點A1的一條邊碰巧在訓(xùn)練集中,另一條在測試集中。這些樣本是相互依賴的,因此導(dǎo)致信息在train–test中泄漏(leak across),從而夸大了性能。這個問題已經(jīng)影響到基因組學(xué)的各個領(lǐng)域,其中集合A和B可能是蛋白質(zhì)和配體,藥物和目標(biāo)基因或增強子和啟動子。b圖|基于圖(相互作用網(wǎng)絡(luò))的數(shù)據(jù)集的性能膨脹隨著邊數(shù)的增加而增長。使用Group k- fold cross- validation 也稱為blocking,防止非獨立的例子跨越train–test鴻溝。可以看到未阻塞交叉驗證的auPR值被錯誤地夸大了,原因是訓(xùn)練集中的節(jié)點對與測試集中的節(jié)點對之間存在依賴性,模型可以對測試集進行準(zhǔn)確的預(yù)測。問題隨著邊數(shù)的增加而增加,因為有共享節(jié)點的邊穿過train–test分水嶺的概率增加。
在基因組學(xué)中,依賴性是普遍(pervasive)存在的,但很難識別。當(dāng)預(yù)測蛋白質(zhì)之間的相互作用時(protein–protein interactions),例子是蛋白質(zhì)對。當(dāng)配對在數(shù)據(jù)集中用唯一標(biāo)識符表示時,它們可能看起來是獨立的,但所有共享給定蛋白質(zhì)的配對都是相互關(guān)聯(lián)的。增強子-啟動子(enhancer–promoter)、調(diào)節(jié)子-基因(regulator–gene)和藥物-蛋白相互作用(drug–protein interactions)的相關(guān)例子也類似。
獨立性和相同分布假設(shè)經(jīng)常糾纏(entangled)**在一起。例如,家庭成員的基因分型結(jié)果是相互依賴的,而且可能在分布上與其他家庭不同。然而,依賴關(guān)系并不總是已知的。在監(jiān)督ML分析中,即使已知的依賴關(guān)系也有可能被忽略。當(dāng)數(shù)據(jù)被格式化為一個表格,每行有一個示例時(大多數(shù)ML工具包的標(biāo)準(zhǔn)),很容易進行模型擬合和交叉驗證,而無需檢查示例是否獨立。
不考慮示例之間的依賴關(guān)系可能會導(dǎo)致偏倚模型(biased models)和對模型性能的過度樂觀估計。隨機交叉驗證不能防止這個問題,并高估了性能,因為測試集中的示例可以與訓(xùn)練示例相關(guān)聯(lián),并將不應(yīng)該存在的信息帶入測試集中。例如,一個預(yù)測蛋白質(zhì)-蛋白質(zhì)相互作用的模型在交叉驗證中可能比在新蛋白質(zhì)上表現(xiàn)得更好,因為具有不止一個相互作用的蛋白質(zhì)可以出現(xiàn)在每個折疊的訓(xùn)練集和測試集上。這個問題的規(guī)模隨著依賴程度的增加而增加;在高度相關(guān)(highly connected)的圖和具有hub節(jié)點的圖中,精度召回曲線下的面積(area under the precision–recall ,auPR)可以提高0.5以上。
有幾種方法可以減輕依賴示例對ML模型的影響,而且這些方法并不相互排斥。最好的解決方法是在模型評估階段承認依賴關(guān)系,減少過擬合。Group k- fold cross- validation 是一個防止非獨立的例子跨越train–test鴻溝的壁壘。它不能減少依賴,也不是一個普遍的解決方案;有些依賴結(jié)構(gòu)太復(fù)雜,無法用阻塞來解決。但它確實防止了由訓(xùn)練和測試集中的依賴示例引起的夸大性能指標(biāo),使性能更接近于獨立預(yù)測集中的預(yù)期。另一種方法是通過對邊下采樣(downsampling edges)(例如,每個高度節(jié)點只包含一條邊)或降低高度節(jié)點的權(quán)重(downweighting nodes with high degree)(例如,使用節(jié)點傾向評分)來直接降低依賴性。然而,這些策略可能使修改的數(shù)據(jù)在生物學(xué)上不現(xiàn)實,例如,通過刪除高度交互的蛋白質(zhì)或基因組區(qū)域。第三種選擇是使用明確地為實例之間的協(xié)方差建模的方法,例如來自生物統(tǒng)計學(xué)的混合效應(yīng)模型(mixed effects models)、時間序列模型以及來自空間統(tǒng)計的自相關(guān)模型(autocorrelation models)。然而,這些模型可能無法擴展到大型基因組數(shù)據(jù)集,而且很少使用通用的ML工具包實現(xiàn)。
陷阱3: confounding(混雜)

混雜變量是無法觀察到的變量,它改變了被觀察變量之間的依賴結(jié)構(gòu)。在本例中,未測量的個體世系是遺傳變異和基因表達之間關(guān)系的混雜物(左),導(dǎo)致C等位基因似乎與高表達相關(guān)。在對個體世系進行調(diào)整后(右),我們看到來自A4世系人群(ancestry group)**的個體表達更高。C等位基因和表達之間的聯(lián)系僅僅是因為C在A4以上的個體中更常見。盡管很難發(fā)現(xiàn),混雜因素應(yīng)該明確地包括在建模方法和訓(xùn)練和測試集的構(gòu)建中。
最難診斷的一個陷阱涉及數(shù)據(jù),其中一個未測量或人工變量(artefactual)(“混雜器”)創(chuàng)建或掩蓋了與結(jié)果的關(guān)聯(lián)。這是因為混雜因素導(dǎo)致特征和結(jié)果之間的依賴性。誤差在于混雜因素沒有被測量或認為是不重要的,因此不包括在模型中。這可能很少或根本沒有影響預(yù)測的準(zhǔn)確性,但它會導(dǎo)致錯誤的解釋特征-結(jié)果關(guān)系(feature–outcome relationships);以及當(dāng)模型應(yīng)用于沒有混雜器或與原始背景(original context)分布不同的新背景中時的不良性能。
基因組數(shù)據(jù)中缺乏容易解釋的線索,這意味著混雜因素很難識別。在圖像分析中,當(dāng)混雜物出現(xiàn)在我們眼前時,它們?nèi)匀缓茈y識別。例如,背景風(fēng)景(background scenery)混雜預(yù)測動物類型和放射掃描儀類型混雜預(yù)測髖部骨折。遺傳研究中的混雜可能源于未建模的環(huán)境因素、種群結(jié)構(gòu)以及其他因素?;蚪M學(xué)的一個例子是通過表觀遺傳學(xué)特征預(yù)測三維染色質(zhì)相互作用(3D chromatin interaction)數(shù)據(jù)(例如Hi-C)。線性基因組中相互接近的一對位點具有相似的表觀遺傳標(biāo)記,而且由于聚合物物理的原因,它們在3D中也經(jīng)常相互作用,使得基因組距離(genomic distance)成為一個混雜因素。另一個常見的例子是,在不同批次抽樣或處理具有不同結(jié)果(例如,患病與健康或不同治療組)的樣本,無意中混雜了數(shù)據(jù)。當(dāng)整合來自多個研究的數(shù)據(jù)時,不同條件或細胞類型的基因組分析或生物信息學(xué)管道(bioinformatics pipelines)的差異也會造成混雜。因此,這意味著在任何基因組數(shù)據(jù)集中都可能存在一定程度的混雜。

測序深度作為一個混雜變量。在平滑肌細胞中進行6個測序深度再加工的H3K27ac實驗。a|不同測序深度的H3K27ac信號值。?log10p值信號位于17號染色體的一個位點上。隨著序列測序深度的增加,峰值也越來越高,如果在機器學(xué)習(xí)模型中沒有考慮到測序深度,那么測序深度就成為了一個混雜因素。這種趨勢在一些峰值中比在另一些峰值中更大,表明混雜效應(yīng)是非線性的。b|最大信號值在峰值中的分布。同樣的一組全基因組峰值,即使用1000萬個讀取量,用于所有的測序深度。低讀深度的累積分布函數(shù)(cumulative distribution function,CDF)**曲線高于高讀深度CDF曲線,這意味著在任何給定的P值閾值下,更少的峰值被稱為顯著的。機器學(xué)習(xí)模型的目標(biāo)是預(yù)測峰值或?qū)W習(xí)顯著峰值中豐富的特征,如果它們不考慮混雜,那么當(dāng)應(yīng)用于具有不同測序深度的數(shù)據(jù)時,機器學(xué)習(xí)模型將會有偏差。
這個陷阱的主要問題是,ML模型將估計結(jié)果和依賴于混雜的特征之間的關(guān)聯(lián),但建模者將錯誤地將其解釋為直接的生物效應(yīng)(direct biological effect)。問題是我們沒有意識到混雜器對觀察數(shù)據(jù)的影響,并且我們沒有將它包含在ML模型中。重要的是,交叉驗證不能防止混雜效應(yīng),因為混雜在訓(xùn)練集和測試集中都存在。當(dāng)擬合的模型在一個新的環(huán)境中做出不準(zhǔn)確的預(yù)測時,即混雜因素不存在或與測量的特征和結(jié)果有不同的關(guān)系時,混雜的關(guān)聯(lián)通常會浮出水面(come to light)。例如,如果世系(ancestry)在一個訓(xùn)練隊列中混雜了基因型-表型(genotype–phenotype relationships)關(guān)系,那么擬合的ML模型在應(yīng)用于一個世系是隨機的隊列時將表現(xiàn)不佳。除了制造錯誤的關(guān)聯(lián),混雜還會掩蓋真實的關(guān)系?;祀s因素帶來的可變性使得很難了解特征和結(jié)果之間的真實關(guān)系。
有幾種統(tǒng)計方法有助于預(yù)防這些問題。理想情況下,對于可能的混雜因素,例如實驗批次,示例應(yīng)該是隨機的。當(dāng)這是不可能的時候,一個解決方案是使用主成分(principal components)、表達式殘差的概率估計(PEER)或其他統(tǒng)計數(shù)據(jù)來概括高維數(shù)據(jù)中的結(jié)構(gòu)來捕獲未測量的混雜因素(unmeasured confounders)。也可以嘗試測量潛在的混雜變量。在這兩種情況下,包括在ML模型中的變量將調(diào)整其效果并減少混雜。在從表觀遺傳特征預(yù)測3D染色質(zhì)相互作用的例子中,包括模型中的基因組距離,澄清了表觀遺傳標(biāo)記與3D相互作用的相關(guān)性是否比預(yù)期的更強。許多回歸模型總是可以包含一個變量,并據(jù)此進行調(diào)整。但是隨機選擇特征的ML方法很難將混雜因素強制放入模型中。為了解決這個問題,正在開發(fā)針對有監(jiān)督的和無監(jiān)督的ML模型的對抗性策略(adversarial strate-gies)?;蛘?,一個被測量的變量可以被用作基線預(yù)測器,可以與具有其他特征的模型進行比較。需要注意的是,在模型中添加一個變量以減少混雜,當(dāng)它充當(dāng)碰撞器時,可能會引起偏差?;蛘?,一個被測量的變量可以被用作基線預(yù)測器(baseline predictor),可以與具有其他特征的模型進行比較。需要注意的是,在模型中添加一個變量以減少混雜,當(dāng)它充當(dāng)碰撞器(collider)**時,可能會引起偏差。
陷阱4: leaky preprocessing(數(shù)據(jù)預(yù)處理的泄露)

當(dāng)由于訓(xùn)練集和測試集一起進行預(yù)處理而將信息從測試集泄漏到訓(xùn)練集時,就會發(fā)生信息泄漏(左)。相反,應(yīng)該將原始數(shù)據(jù)分割為訓(xùn)練集和測試集,并分別進行預(yù)處理(右)。
在ML分析中,一個微妙但普遍存在的問題是,數(shù)據(jù)處理會不經(jīng)意地導(dǎo)致信息從測試集泄漏到訓(xùn)練集。當(dāng)訓(xùn)練集以依賴于測試集數(shù)據(jù)的方式處理時,就會發(fā)生信息泄漏(“雙傾斜,double dipping”),這會導(dǎo)致示例之間的依賴性(陷阱2),并干擾測試集用于評估模型性能的效用。
泄漏的預(yù)處理在基因組學(xué)中很普遍。同時查看多個示例的任何數(shù)據(jù)轉(zhuǎn)換都可能存在問題。具體的方法包括標(biāo)準(zhǔn)化和主成分分析(PCA),加上各種其他縮放和無監(jiān)督嵌入方法(unsupervised embedding approaches)。監(jiān)督特征選擇,包括過濾基于結(jié)果關(guān)聯(lián)的特征,是另一種形式的預(yù)處理,當(dāng)在交叉驗證之外執(zhí)行時可能導(dǎo)致泄漏。更廣泛地說,最近在選擇后推理方面的工作突出了執(zhí)行統(tǒng)計分析的問題,例如聚類后的差異表達,即使聚類是在獨立的數(shù)據(jù)集上定義的。

在交叉驗證之外進行特征選擇會產(chǎn)生不切實際的高模型準(zhǔn)確性。演示了不恰當(dāng)?shù)厥褂帽O(jiān)督特征選擇方法(supervised feature selection approaches)對完全由隨機值組成的合成數(shù)據(jù)集和標(biāo)簽向量產(chǎn)生的后果。
a|由于設(shè)計的數(shù)據(jù)沒有真實的信號,一個經(jīng)過特征選擇的隨機森林分類器在隨機概率之上的表現(xiàn)并不顯著(灰)。然而,當(dāng)在交叉驗證所有折疊之前錯誤地進行特征選擇時,模型會隨著特征數(shù)量的增加而表現(xiàn)出顯著的增加和隨后的性能下降(紅)。這種有問題的行為發(fā)生在任何機器學(xué)習(xí)(ML)模型中。
b|使用監(jiān)督特征選擇對200個特征進行主成分分析(PCA)投影,并用類別標(biāo)簽著色(藍色=陰性,紅色=陽性)。盡管這兩類之間缺乏真正的差異,但特征選擇過程破壞了隨后的無監(jiān)督PCA方法。在ML分析的范圍之外,預(yù)處理和可視化整個數(shù)據(jù)集不一定是有問題的。但如果隨后選擇適合ML模型,則只需要使用訓(xùn)練集重新進行預(yù)處理。
大多數(shù)ML工具包通過只從訓(xùn)練集中學(xué)習(xí)參數(shù),然后獨立地將轉(zhuǎn)換應(yīng)用于訓(xùn)練集和測試集,從而實現(xiàn)無泄漏地應(yīng)用有監(jiān)督和無監(jiān)督轉(zhuǎn)換。例如,標(biāo)準(zhǔn)化(standardization)就是用一個變量減去平均值,然后除以它的標(biāo)準(zhǔn)差。均值和標(biāo)準(zhǔn)偏差(standard deviation)**是可以從訓(xùn)練集中學(xué)習(xí)并應(yīng)用到訓(xùn)練集中的參數(shù),這些參數(shù)可以重新用于變換測試集。這與在劃分為訓(xùn)練集和測試集之前從整個數(shù)據(jù)集學(xué)習(xí)均值和標(biāo)準(zhǔn)偏差相反。對用戶來說幸運的是,這個過程已經(jīng)包含在scikit-learn的pipeline和transformer 的API中,以及R包caret的train()函數(shù)的preProcess參數(shù)中。
陷阱5: unbalanced classes(不平衡類)

不平衡的數(shù)據(jù)(unbalanced data)會給模型的訓(xùn)練和評估帶來困難。如果訓(xùn)練集和測試集是平衡的,而預(yù)測集是不平衡的,那么測試集的性能將不能反映預(yù)測集的性能(左圖)。無論使用平衡訓(xùn)練集還是非平衡訓(xùn)練集,測試集的不平衡性應(yīng)該是預(yù)測集不平衡性的反映(右)。理想情況下,還應(yīng)該使用能夠處理不平衡的性能度量(performance measure)。
如果示例在結(jié)果值之間均勻分布,則監(jiān)督學(xué)習(xí)任務(wù)是平衡的,否則是不平衡的。很少有真正的數(shù)據(jù)集是完美平衡的,基因組學(xué)中的一些問題表現(xiàn)出極端的不平衡。例如,當(dāng)將ML應(yīng)用于數(shù)百萬個基因組窗口(genomic windows)以預(yù)測給定窗口是否包含增強子時,具有驗證示例(陽性)的窗口可能占總數(shù)的約1%。在預(yù)測患者疾病風(fēng)險方面,Khalilia et al.報告的疾病患病率從0.01%到29%不等。一項預(yù)測有害非編碼變異(deleterious non- coding variants)的研究對孟德爾病(Mendelian disease)使用了400個陽性和1400萬個陰性,對復(fù)雜疾病使用了2000個陽性和140萬個陰性。在這些情況下,模型面臨著對多數(shù)分類學(xué)習(xí)過度而對少數(shù)分類學(xué)習(xí)不足的風(fēng)險。當(dāng)少數(shù)群體是主要關(guān)注的對象,并且假陰性(false negatives)可能代價高昂時,這尤其成問題,例如在通過醫(yī)學(xué)掃描檢測疾病或預(yù)測藥物組合的副作用時。重要的是,不平衡的數(shù)據(jù)也會影響回歸任務(wù)(regres-sion tasks)**的性能,在回歸任務(wù)中,標(biāo)簽是連續(xù)的值而不是離散的類。

在交叉驗證外應(yīng)用平衡類可以提高性能。預(yù)測增強子基因組-寬(enhancers genome- wide)是一個很不平衡的分類問題例子,因為大多數(shù)基因組窗口不包含增強子。讓陽性(有增強子)和陰性(無增強子)分類的規(guī)模相等(‘balancing‘)有助于交叉驗證的訓(xùn)練。但是平衡應(yīng)該在交叉驗證(藍色)中執(zhí)行,以便用于評估性能的測試集反映出基因組中的實際不平衡。如果做不到這一點,性能就會膨脹(inflate)(紅色)。類似地,當(dāng)在交叉驗證之外執(zhí)行選擇特性子集的預(yù)處理(‘selection’)時,由于泄漏會使性能膨脹,而在交叉驗證之外執(zhí)行平衡和選擇會導(dǎo)致最膨脹的性能。
通過一系列策略來解決分類不平衡問題。在建模過程中,我們可以把先驗概率分布(prior probability distributions)放到類上。更常見的是,研究人員使用再平衡方法(rebalancing approaches)來提高少數(shù)類別的性能。這里有三種基本策略:對少數(shù)類進行過采樣(oversampling),對多數(shù)類進行欠采樣(under-sampling ),以及對例子進行加權(quán)(weighting)。每一種方法都強調(diào)了少數(shù)類模型的重要性。過采樣要么重復(fù)現(xiàn)有數(shù)據(jù)(替換抽樣),要么利用現(xiàn)有例子的插入(interpolation)來合成少數(shù)類的“可信的”(‘plausible’)例子。加權(quán)例子涉及使用類比例的逆(inverse),以便ML模型更強調(diào)少數(shù)類的誤差。每一種方法都有不同的權(quán)衡(trade--offs):過采樣保留了所有數(shù)據(jù),但增加了計算時間;欠采樣減少了計算時間,但丟棄了部分?jǐn)?shù)據(jù);樣本加權(quán)保留了所有數(shù)據(jù),但需要確定最優(yōu)權(quán)重(optimal weights)**。scikit -learn的imbalanced--learn包,以及caret中train的weights參數(shù)和trainControl的sampling參數(shù),為Python和R的用戶提供處理類不平衡的現(xiàn)成方法。
這三種方法都傾向于降低多數(shù)類的準(zhǔn)確性,同時提高少數(shù)類的準(zhǔn)確性,這通常是一種理想的權(quán)衡。然而,有兩個重要的注意事項要記住。首先,平衡應(yīng)該只在訓(xùn)練集折疊(training fold)內(nèi)進行,以便根據(jù)預(yù)測集中預(yù)期的類別分布來評估擬合模型。其次,再平衡類別將導(dǎo)致估計器成為未校準(zhǔn)(uncalibrated)的,即預(yù)測的概率分布將更接近于平衡訓(xùn)練集而不是不平衡測試集。當(dāng)示例的排名比預(yù)測概率本身更重要時,這就不一定是一個問題,而且估計器可以使用后處理步驟(post- processing step)** 重新校準(zhǔn)(recalibrated)**,但應(yīng)該記住這個問題。
Conclusions
這篇綜述主要說明了ML陷阱對模型性能的直接影響。然而,ML通常用于獲得生物學(xué)觀點(biological insights)**,而不是預(yù)測本身。在這些情況下,通常會解釋一個訓(xùn)練好的模型,在確認它表現(xiàn)良好之后,提取它所學(xué)到的關(guān)系。不幸的是,如果一個或多個陷阱影響了分析,表現(xiàn)出良好性能的模型可能學(xué)習(xí)了無意義的關(guān)系。我們對檢查陷阱的建議甚至對模型解釋也很重要。然而,在某些情況下,過度擬合或有偏見的模型可以產(chǎn)生準(zhǔn)確的生物學(xué)結(jié)論;不足于一般化的預(yù)測,但足夠于歸因,例如,由于混雜或依賴,模型可能會高估特征和結(jié)果之間的關(guān)聯(lián)強度。當(dāng)這是一種真正的生物學(xué)關(guān)系時,就會出現(xiàn)效應(yīng)大小錯誤,但這種關(guān)聯(lián)并不是錯誤的發(fā)現(xiàn)。