--- tags: Medical --- # 論文閱讀: Robust biomarker identification for cancer diagnosis with ensemble feature selection methods ## INTRODUCTION 在癌症診斷、micro array等問題中,如何找到一組biomarker,可以用來比較患病樣本與對照樣本,是biomedical領域中的重要議題。從機器學習的角度來看,這即是在做feature selection,希望能找到一組feature subset,解釋患者與正常間的區別。 Feature selection可以提供許多好處,其一是透過去除不相關(noise)的feature可以增加模型的performance,其二是更少的特徵數量可以加速建立model的時間,並且提供對於預測相關的知識。 Feature selection方法通常被分成三種: * Filter: 獨立於模型之外,從data本身分析特徵的重要性 * Wrapper: 透過模型的預測結果,反過去選擇特徵 * Embedded: 模型本身就包含選擇特徵的能力,相較於wrapper,運算時間通常較短 由於對於bimarker的stability、robustness的評估尚未有一個主流的作法,因此,論文提出了一個完整的實驗流程。另外,提出了透過ensemble feature selection,可以增加選擇出biomarker的stability的方法。 論文中主要以SVM作為訓練模型的方法,因為SVM在許多問題上都提供了state-of-the-art的分類結果。值得一提的是,也有使用SVM做embedded FS的方法,如recursive feature elimination (RFE)。 ## MATERIALS AND METHODS ### Microarray datasets 論文中使用四種cancer的microarray資料進行實驗,可以看到這些資料都具有高維度但缺乏sample數的特性。 ![](https://i.imgur.com/bPlwO9W.png) (關於這些資料的其他相關研究,請參考論文的敘述) ### Biomarker evaluation protocol 為了分析biomarker selection的stability,論文提出的方法是: 對原始數據生成細微變化,並比較這些不同變化對biomarker selection的影響。 這個方法的合理性在於,對於一個穩定的選擇方法,微小的變動不應該影響最終的結果。這與專家對於marker selection algorithm的預期一致:添加或刪除一些樣本不應該影響算法對於marker的確定排名。 單就stability來評價一個方法的好壞是不切實際的,舉一個極端的例子來說,我們可以讓演算法不管input data而只是輸出同樣的feature set,但這個演算法明顯毫無價值。因此在考慮stability的同時,我們也要結合classification的performance。 #### Stability measure 假設一個資料X ={x1,x2,......XM}共有M個instances N個feature,從中的隨機subsampling x大小、k次(以論文來說k=500,x=0.9)。接著,對此k個樣本做feature selection。 對於k個sumsampling,透過overall stability Stot來評估每次選到的signatures的相似程度。 ![](https://i.imgur.com/oG6a5Bc.png) fi表示第i次subsampling中挑到的signature(1<=i<=k)。KI(fi,fj)是 Kuncheva index,用來評估fi與fj間的stability。 ![](https://i.imgur.com/to2ZhOf.png) 這裡 s=|fi|=|fj| 表示各自特徵集的大小,r =|fi∩fj|是兩組特徵交集的數量。Kuncheva index 滿足 −1< KI(fi,fj)≤1 且值越大表示兩組特徵越相近。s^2/N 是為了修正有機會在signature中隨機選擇共同特徵而產生的bias。 #### Classification performance measure 論文中使用AUC ### Data normalization data normaliztion的目的是平衡不同genes間的exprssion pattern(減少單位差異帶來的影響)。論文中使用的方法是IQR-normalization ![](https://i.imgur.com/24PrBhb.png) fij是原始的sample i、gene j的值,mj是所有gene j在所有sample的中位數,IQRj則是基因特異性四分位間距(gene-specific interquartile range)。 normalized的參數僅來自於training set,然後再應用到testing set上。 ### Embedded feature selection with SVMs 論文中使用的是lineat SVM,使用linear SVM的好處是可以使用embedded feature selection,可以透過每個維度的權重來排名特徵對於分類的貢獻。這就是RFE: 從原始的資料開始,訓練一個模型,然後取走weight最低的特徵,然後再重新訓練,直到所有剩下目標的特徵數量或者特徵都被取走。 RFE中的參數E,表示每個iteration要取走的特徵比例,會影響RFE的計算複雜度。在論文的實驗中,每個iteration會drop掉E=20%的特徵數量(此外也做了drop掉不同數量的影響的實驗)。 此外SVM中參數C,用來調整margin error的懲罰比重,在論文中簡單的使用C=1(此外也實驗了透過grid search+5 fold調整C,不過在此問題上提升的performance其實不大)。 ### Ensemble feature selection 論文中試圖透過ensemble feature selection增加stability。主要會聚焦在linear SVM + RFE的feature selection。 從training set開始(500個subsampling中的某一次),目標是產生不同的RFE選擇結果,但是因為RFE的結果是deterministic,在相同的training set上產生的結果每次都會相同,因此論文中使用了bootstrapping method。通過替換training set的得到不同的bootstrap samples,我們可以將RFE應用於每個bootstrap samples,從而獲得一系列不同的feature ranking。([bootstrap的簡單說明](https://machinelearningmastery.com/a-gentle-introduction-to-the-bootstrap-method/)) 假設有t個ensemble feature selection EFS={F1,F2......Ft},每個Fi都有一個feature ranking(最佳rank=1,最差rank=N)。 為了整合不同的排名,論文使用兩種整合方法,in general可以寫成: ![](https://i.imgur.com/aHWjiEp.png) wi代表每個bootstrap的權重。 #### Complete linear aggregation 即簡單的取排名的總和做為最終排名(所有的wi=1),再根據最終需要的signature數量s,取前s名。 #### Complete weighted linear aggregation 利用SVM的計算每個bootstrap中的out-of-bag(OO)結果,以AUC作為該selector的weight(wi=OO-AUCi) ## RESULTS 論文中以RFE做為baseline,與提出的ensemble方法作為比較 ### Ensemble feature selection methods improves classification performance and biomarker stability 首先比較原始的RFE與ensemble RFE的stability與分類performance。 ![](https://i.imgur.com/8Q8kJTY.png) ![](https://i.imgur.com/xXVdhgl.png) Fig1和2是在prostate上的結果(E=20%,40個bootstrap),使用前面提到的KI index來評估stability,使用AUC評估performance。 可以見到,Complete linear aggregation (CLA) 和 Complete weighted linear aggregation(CWA)比起baseline有顯著的提升,且隨著signature size愈小stability也有提升的趨勢。此外在4個論文使用的資料集中,有3個同時可以達到更好performance,這表示ensemble方法可以更好的減少noise和不相關的dimension。 上面的分析中,是使用500個subsampling平均的分類permance和stability來表示。而Fig 3使用直方圖統計了每個subsampling stability的結果。可以見到ensemble方法都向右偏移了點,顯示更好的stability。 ![](https://i.imgur.com/mUGPIcf.png) ### Sensitivity analysis with respect to internal parameters #### Sensitivity with regard to the number of bootstrap samples ![](https://i.imgur.com/Ay34dZd.png) ![](https://i.imgur.com/wQK8Ghf.png) 從Fig4、5可以看到不同數量的bootstrap使用對於stability與分類performance的影響,隨著bootstrap數量愈多,ensemble的stability也愈好。由圖也可以看出default的40個bootstrap已經很足夠,因為使用60提升的並不多,但需要耗費多50%的運算量。此外,bootstrap的數量則似乎對於分類表現影響不大。 #### Sensitivity with regard to the number of features to eliminat ![](https://i.imgur.com/mHv6iUL.png) ![](https://i.imgur.com/s5fSexS.png) 由圖可見,E的選擇對於結果ensemble影響不大。在baseline上則會對stability產生影響。整體而言,無論E選擇多少,ensemble仍然在stability與performance上超過baseline ## DISCUSSION 略