第二章 文獻探討
3.4 CE-SMURF 機器學習框架
為了在正負樣本數量不平衡的情況下能夠有效的提升正樣本的預測準確度,
本研究提出基於分群集成採樣技術和 Hyper-ensemble 方法的機器學習框架:
CE-SMURF (Clustering Ensemble of SMOTE Undersampled Random Forests),
其整體的架構如圖 3-1,下面將分別介紹 CE-SMURF 的各個組成部分,以及整體 演算法的 Pseudocode。
圖 3-1 CE-SMURF 機器學習框架,參考自文獻[6]
3.4.1 分群集成採樣
本研究使用 Chen Si et al. 提出的 CE-SMOTE 和 CE-Under 分群集成採樣技術 [9]來平衡資料集,CE-SMOTE 演算法與 SMOTE 演算法不同的地方在於只針對位 於正類分群邊界的樣本做 SMOTE 過採樣處理,並不是對所有正類樣本做過採樣處 理,CE-Under 演算法與 Random sampling 演算法不同的是只針對負類分群中心樣 本做欠採樣處理,並不是對所有負類樣本做欠採樣處理。
在 CE-SMOTE 和 CE-Under 的計算部分,需要先利用分群集成方法分別找出 正負樣本的中心和邊界區域,圖 3-2 為分群集成方法的 Pseudocode,並在下面對分 群集成方法作詳細說明,首先對輸入的資料集 S 做正則化運算得到 S集合,接著
新的資料集不但縮小了正負樣本之間的數量差距,也能保有類似於原本資料集的 資料特性。
圖 3-2 分群集成方法 pseudocode
3.4.2 Hyper-ensemble
Hyper-ensemble 是一種基於 Random Forest [9]分類器的 Ensemble 方法,因為 Random Forest 已經是在 Ensemble 概念下由多個 Decision Tree 結合而成的機器學習 演算法,故將此方法稱為 Hyper-ensemble。Hyper-ensemble 首先把輸入的訓練集樣 本平均分配到 n 個獨立的子訓練集,接著每個子訓練集單獨做 CE-SMOTE 和 CE-Under 的採樣以及訓練 Random Forest 分類器,最後在平均每個分類器的結果,
其中平均分配的動作能確保之後每個做完採樣的子訓練集都互相獨立,除了增加 所有子集合對於原資料集的覆蓋率,同時提升多個分類器之間的差異性。
3.4.3 CE-SMURF 參數
表 3-2 列出了 CE-SMURF 中的參數,且分別描述每個參數的用途,另外本研 究藉由調整與採樣部分相關的係數 f 和 r 來探討分群採樣技術對於訓練表現的影響,
f 為 CE-SMOTE 的過採樣係數,能夠用其決定正類樣本的分群邊界過採樣比例,f
為大於等於 0 的正整數,且當 f 值為 0 時,表示沒有使用 CE-SMOTE,r 為 CE-Under 的欠採樣係數,能夠用其決定負類樣本的分群中心欠採樣比例,r 為大於 0 且小於 等於 1 的浮點數,當 r 值為 1 時,表示沒有使用 CE-Under。
表 3-2 CE-SMURF 參數介紹
Parameter Description
n Number of partitions
h Number of Clustering times c Number of clusters in K-means f Over-sampling ratio of CE-SMOTE r Under-sampling ratio of CE-Under k SMOTE k-nearest neighbor
t Number of trees in Random Forest
3.4.4 Pseudocode
CE-SMURF 整體框架的 Pseudocode 如圖 3-3,P 為正樣本集合,N 為負樣本集
合的分群邊界樣本 Pb做 CE-SMOTE 過採樣演算法得到 Pb,將 Ni集合的分群中心 樣本 Nc做 CE-Under 欠採樣演算法得到 Nc,藉此縮小正負樣本間的數量。
做完分群採樣後,把保留下來的樣本 Pc和 Nb以及經過採樣處理的 Pb 和 Pb 作聯集得到新的樣本集合 T,並將 T 做為 Random Forest 機器學習演算法的訓練資 料,訓練完的模型以 Mi表示,經過 n 次迭代後,便能獲得一個由 n 個模型所組成 的 M 集合,最後將 n 個模型的預測分數做加權平均,得到一個介於 0 到 1 的 CE-SMURF 致病可能性分數。