• 沒有找到結果。

第二章 文獻探討

2.3 HyperSMURF

過去在利用機器學習方法預測致病變異時,大部分都是使用平衡的訓練集來 做訓練,意味著正負樣本之間有著差不多的數量,但隨著越來越多非致性的變異 被找到,使得能夠用於訓練的負樣本數量大幅增加,正負樣本之間的數量差距越 來越大,在這樣的情況下,導致一般的機器學習在訓練分類器時效果不如預期,

為了改善這個問題,Schubach et al. 在 2017 年提出了一種基於不平衡感知的機器 學習框架:HyperSMURF (Hyper-ensemble of SMOTE Undersampled Random Forests) [7],其整體架構如圖 2-2 所示,下面將分別介紹 HyperSMURF 所使用到 的技術以及運算流程。

圖 2-2 不平衡感知機器學習框架,摘自文獻[7]

2.3.1 採樣技術

在 HyperSMURF 中 為 了 平 衡 正 負 樣 本 的 數 量 , 分 別 使 用 欠 採 樣 (Under-sampling)減少負樣本的數量以及過採樣(Over-sampling)增加正樣本的數量。

在欠採樣的部分,使用 Random sampling 來減少負樣本數量,Random sampling 是 一種常見的欠採樣方法,因為其容易實現,僅需透過隨機挑選樣本的方式便能來 達到減少樣本的目的,而在過採樣的部分,使用 2002 由 Chawla 提出的 SMOTE [8]

過採樣算法來增加正樣本的數量,SMOTE 與一般的重複採樣技術不同的地方在於,

一般重複採樣是產生重複性的樣本,而一味的產生重複性的樣本可能會造成樣本 間的多樣性不足,雖然增加了樣本的數量,但卻沒有增加資料的廣度,而 SMOTE 改善了這個問題,不但能夠產生與原樣本不同但卻相似的新樣本,同時也能增加 樣本數量,其原理是透過選定一個樣本,接著在選定樣本的附近 k 個樣本中隨機 選取一個樣本,並在兩個樣本的特徵向量直線上隨機選取一個點當作新樣本,如 圖 2-3,不斷的重複上述的步驟,以產生指定的樣本數量,藉由 SMOTE 算法能夠 讓正樣本數量接近負樣本的數量,這樣的過採樣方式能夠讓正樣本更多樣性,使 得模型在做預測時能考慮更多樣與更多數量的正樣本。

圖 2-3 SMOTE 演算法,摘自文獻[7]

2.3.2 Hyper-ensemble

在分類器的部分,HyperSMURF 選擇使用 Random Forest 來做為分類器的學 習演算法,Random Forest 是 2001 年由 Breiman 提出的一種機器學習演算法[10],

因其在算法的兩處採用隨機的方式而得其名。Random Forest 擁有許多的優點,不 需要對資料做正則化,訓練速度快,能夠處理大量的輸入變數,並在分類時,評 估這些變數的重要性,以選取最適合的變數來進行分類,且因為 Random Forest 是 使用 Ensemble 的概念由多個 Decision Tree 所組成,透過多個決策數的判斷來減少 單一 Decision Tree 造成的過擬和,並增加整體模型預測的準確度。

而在正負樣本數量差距很大的情況下,使用欠採樣方法來平衡訓練集時,可 能會導致負樣本喪失與原本樣本類似的資料特性,為了彌補這個問題,作者利用 Ensemble 的方式,將訓練集的樣本平均分到 n 個不同的子訓練集,並分別訓練不 同的 Random Forest 模型,最後在平均每個模型的結果,且因為 Random Forest 的 演算法原本就是使用到 Ensemble 的概念,將多個決策樹合在一起成為一個森林,

所以作者將這個 Random Forest 的 Ensemble 方法稱為 Hyper-ensemble。

2.3.3 Pseudocode

圖 2-4 為 HyperSMURF 的 pseudocode,P 為正樣本集合,N 為負樣本集合,

並假設 N 數量遠大於 P,首先將負樣本集合 N 平均分配到 n 個獨立的子資料集,

並在每個子資料集中加入一樣的正樣本集合 P,此時的每個子集合中的正負樣本還 是處於數量不平衡的狀態,所以 HyperSMURF 使用 SMOTE [8]演算法增加正樣本 的數量,同時用 Random sampling 的方式減少負樣本的數量,使得正負樣本數量平 衡,而在 SMOTE 的算法部分,HyperSMURF 能透過設定 k 值來決定 SMOTE 演算 法要尋找的最近 k 個樣本以及設定 f 值來決定要增加多少的正樣本,接著將得到的

圖 2-4 HyperSMURF pseudocode,摘自文獻[7]

相關文件