2025年5月1日 星期四

SMOTE 過採樣技術

SMOTE (Synthetic Minority Over-sampling Technique)

是一種用於處理不平衡數據集中少數類別的過採樣技術。

當一個分類問題中,某個類別的樣本數量遠少於其他類別時,模型在訓練時可能會偏向多數類別,而忽略少數類別的樣本,導致對少數類別的預測能力較差。SMOTE 的目標是通過合成新的少數類樣本,來平衡數據集中不同類別的比例,從而改善模型的性能。

SMOTE 的基本原理如下:

  1. 選取少數類樣本: 對於每一個少數類樣本 $\(x\)$
  2. 尋找最近鄰居: 在特徵空間中,計算 $\(x\)$ 與所有其他少數類樣本之間的距離(通常使用歐氏距離),並找出其 $\(k\)$ 個最近鄰居。$\(k\)$ 是一個預先設定的參數。
  3. 隨機選擇鄰居: 從這 $\(k\)$ 個最近鄰居中隨機選擇一個鄰居 $\(x_n\)$
  4. 合成新樣本: 在原始樣本 $\(x\)$ 和其選定的鄰居 $\(x_n\)$ 之間的連線上,隨機生成一個新的合成樣本 $\(x_{new}\)$。合成樣本的公式通常為: $$\(x_{new} = x + \lambda \times (x_n - x)\)$$ 其中 $\(\lambda\)$ 是一個 0 到 1 之間的隨機數。這意味著新合成的樣本會落在 $\(x\)$$\(x_n\)$ 這兩個樣本所定義的線段上的某個位置。
  5. 重複步驟: 重複上述步驟,直到少數類別的樣本數量達到期望的平衡比例。

SMOTE 的優點:

  • 增加少數類樣本數量: 有效地擴充了少數類別的樣本,使其在訓練數據中具有更高的代表性。
  • 引入多樣性: 通過合成新樣本,而不是簡單地複製現有樣本,SMOTE 可以在一定程度上避免過度擬合的問題,並有助於模型學習更廣泛的特徵。
  • 保留多數類信息: 過採樣技術只針對少數類別進行操作,不會刪除或修改多數類別的樣本,因此保留了原始數據集的完整性。
  • 改善分類性能: 平衡的數據集通常可以提高模型對少數類別的識別能力,從而提升整體分類性能,特別是在精確率 (precision)、召回率 (recall) 和 F1 分數等指標上。

SMOTE 的缺點:

  • 可能引入雜訊: 如果選取的少數類樣本周圍的多數是雜訊點,則合成的新樣本也可能是雜訊,反而會對模型訓練產生負面影響。
  • 未考慮類別重疊: SMOTE 在合成樣本時,並未考慮少數類別和多數類別之間可能存在的重疊區域。如果重疊嚴重,合成的樣本可能會與多數類別的樣本非常接近,導致模型難以區分。
  • 對所有少數樣本一視同仁: 原始 SMOTE 對所有少數類樣本都進行相同的過採樣操作,但實際上,位於決策邊界附近的少數類樣本可能更需要被關注。
  • 需要調整參數 k: 最近鄰居的數量 $\(k\)$ 是一個重要的參數,其選擇會影響合成樣本的質量。$\(k\)$ 值過小可能會對局部特徵過度擬合,過大則可能引入更多噪聲。

SMOTE 的變體:

為了克服 SMOTE 的一些缺點,研究人員提出了許多變體,例如:

  • Borderline-SMOTE: 僅對那些處於分類邊界附近的少數類樣本進行過採樣。
  • ADASYN (Adaptive Synthetic Sampling): 為不同的少數類樣本分配不同的權重,對那些更難分類的樣本合成更多的數據。
  • SMOTEENN (SMOTE + Edited Nearest Neighbors): 先使用 SMOTE 進行過採樣,然後使用 Edited Nearest Neighbors (ENN) 方法去除那些可能導致分類錯誤的樣本。

總之,SMOTE 是一種常用的且有效的過採樣技術,可以幫助處理不平衡數據集問題。然而,在實際應用中,需要根據具體的數據情況和模型需求,仔細評估其優缺點,並可能嘗試其變體或其他採樣方法,以獲得最佳的模型性能。

沒有留言:

張貼留言