SMOTE 過採樣(SMOTE)是什麼?

SMOTE 是一種處理資料不平衡問題的過採樣技術,透過合成少數類別樣本來平衡資料分佈,提升模型學習效果。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

英文
SMOTE
主題標籤
機器學習、資料處理、模型訓練
考點定位
非 iPAS 核心術語
最後更新
2026/06/22
SMOTE 過採樣(SMOTE)是什麼? 機器學習資料處理
術語快查

搜尋意圖: 如果你在找「SMOTE 過採樣 是什麼」或「SMOTE 過採樣 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。

TL;DR: SMOTE 是一種處理資料不平衡問題的過採樣技術,透過合成少數類別樣本來平衡資料分佈,提升模型學習效果。

實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。

下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。

SMOTE 是一種處理資料不平衡問題的過採樣技術,透過合成少數類別樣本來平衡資料分佈,提升模型學習效果。

核心概念

SMOTE (Synthetic Minority Over-sampling Technique),即合成少數過採樣技術,是機器學習中處理資料集類別不平衡問題的常用方法。在許多分類任務中,不同類別的樣本數量差異巨大,例如詐欺交易或罕見疾病病例。當模型在這種不平衡資料集上訓練時,往往偏向多數類別,導致對少數類別的識別能力差。

SMOTE 的核心是透過「合成」而非簡單重複現有樣本來擴充少數類別資料集。簡單重複採樣會導致模型過度擬合且不提供新資訊。SMOTE 則透過在現有少數類別樣本的特徵空間中,基於其鄰近樣本生成新的、略有不同的合成樣本。這擴展了少數類別的決策邊界,使模型能學習到更泛化、穩健的少數類別模式,避免過擬合,並提升對少數類別的識別能力和整體分類性能。

運作原理

SMOTE 的運作原理基於 K-近鄰 (K-Nearest Neighbors, KNN) 演算法,主要步驟如下:

  1. 識別少數類別樣本:從資料集中找出所有少數類別樣本。
  2. 選擇基準樣本:對於每個少數類別樣本 x_i,作為基準點。
  3. 尋找 K 個最近鄰居:計算 x_i 與所有其他少數類別樣本的距離(通常為歐幾里得距離),找出其 k 個最近鄰居。k 是重要超參數,通常設為 5 或 10。
  4. 隨機選擇鄰居:從這 k 個最近鄰居中,隨機選擇一個鄰居 x_nn
  5. 合成新樣本:在 x_ix_nn 之間的特徵空間中,沿著連接兩者的直線段,隨機生成一個新樣本 x_new。公式為: x_new = x_i + rand(0, 1) * (x_nn - x_i) 其中 rand(0, 1) 是介於 0 和 1 之間的隨機數。新樣本 x_new 的特徵值是兩者特徵值的線性插值。
  6. 重複步驟:重複步驟 2-5,直到達到預設的過採樣比例。

透過此方式,SMOTE 在少數類別樣本周圍創建人造資料點,這些點基於現有模式的合理擴展,有助於擴大少數類別的決策區域,使分類器更好地捕捉少數類別特徵。

實際應用

SMOTE 在資料不平衡問題突出的多個領域中廣泛應用:

  • 金融詐欺偵測:詐欺交易遠少於正常交易。SMOTE 合成更多詐欺樣本,幫助模型更有效學習詐欺模式,提高偵測準確性和召回率。
  • 醫療疾病診斷:罕見疾病病例資料稀少。SMOTE 平衡醫療資料集,使模型能更好識別和預測罕見疾病,提高診斷敏感性。
  • 工業缺陷檢測:產品缺陷率低。SMOTE 增加缺陷樣本,訓練出更精確的缺陷檢測模型。
  • 網路入侵偵測:惡意入侵行為是少數。SMOTE 幫助模型學習入侵模式,提高對新型攻擊的偵測能力。

SMOTE 的價值在於,它能在不引入過多重複資訊的情況下,有效提升模型對關鍵少數事件的學習能力,改善決策品質。

常見誤區

使用 SMOTE 時需注意以下誤區:

  1. 在資料分割前應用 SMOTE:最常見錯誤。應先將資料分割為訓練集和測試集,然後僅在訓練集上應用 SMOTE,避免資料洩漏和高估模型泛化能力。
  2. 對高維度資料處理不當:高維度特徵空間中,距離度量可能失真(維度災難)。SMOTE 在高維資料上可能效果不佳,合成樣本缺乏代表性或引入噪音。
  3. 不考慮特徵類型:SMOTE 預設所有特徵為數值型。對於類別型特徵,直接應用會產生無意義的浮點數。需使用 SMOTE-NC 或 SMOTE-N 等變體。
  4. 過度採樣導致過擬合:過度採樣(如少數類別數量遠超多數類別)仍可能使模型過度擬合於合成樣本,降低泛化能力。需謹慎選擇過採樣比例。
  5. 將 SMOTE 視為萬靈丹:SMOTE 非唯一或最佳方案。應結合資料品質、特徵工程、模型選擇等綜合考慮。
  6. 引入噪音:若少數類別樣本本身含噪音或離群值,SMOTE 可能放大噪音,生成不具代表性樣本,降低模型性能。

與相關技術的比較

SMOTE 只是處理資料不平衡問題的策略之一:

  1. 與欠採樣 (Undersampling) 的比較

    • 欠採樣:減少多數類別樣本。優點是訓練快,缺點是可能丟失重要資訊。
    • SMOTE:增加少數類別樣本,保留所有多數類別資訊。
    • 選擇:多數類別極龐大時可考慮欠採樣;否則 SMOTE 或兩者結合更優。
  2. 與其他過採樣技術

    • 簡單重複採樣:直接複製,易過擬合。
    • ADASYN:自適應生成,更關注難分類的少數樣本。
    • Borderline-SMOTE:只對決策邊界附近的少數樣本過採樣。
  3. 與成本敏感學習 (Cost-Sensitive Learning)

    • 不改變資料分佈,透過賦予不同錯誤分類不同的成本權重。優點是直接解決業務影響,缺點是需定義成本矩陣。
    • 選擇:成本差異明確時強大,SMOTE 則改善資料分佈,兩者可互補。
  4. 與集成方法 (Ensemble Methods)

    • 如 EasyEnsemble、SMOTEBoost 等,透過訓練多個基學習器並採樣或加權來處理不平衡。
    • 優點:性能更穩健。缺點:模型複雜度高。
    • 選擇:當單一模型不足時,集成方法是進階策略。SMOTE 可作為其前處理。
  5. 與生成模型 (Generative Models)

    • 如 GANs,能生成高度逼真的新樣本。
    • 優點:生成更複雜真實的樣本。缺點:訓練複雜,需大量資源。
    • 選擇:對高真實感和複雜模式需求高時考慮,但複雜性遠超 SMOTE。

SMOTE 是一種相對簡單、高效且廣泛使用的不平衡資料處理技術。在應用時,應結合具體問題、資料複雜性及其他技術,綜合評估選擇最合適策略。

常見問題

SMOTE 應在什麼情況下使用?

SMOTE 主要應用於分類任務中,當資料集存在嚴重的類別不平衡問題時。例如,一個類別的樣本數量遠少於另一個類別,導致模型在訓練時偏向多數類別,對少數類別的預測性能不佳。常見場景包括金融詐欺偵測、醫療疾病診斷、工業缺陷檢測、網路入侵偵測等,這些領域的關鍵事件往往屬於少數類別。使用 SMOTE 可以透過合成少數類別樣本來平衡資料分佈,提升模型對少數類別的識別能力和預測準確性,尤其是在需要高召回率的應用中,SMOTE 能有效降低少數類別的漏報率。

使用 SMOTE 可能會遇到哪些限制或潛在缺點?

SMOTE 雖有效,但也有其局限。首先,它可能在少數類別樣本分佈密集且與多數類別重疊的區域生成噪音樣本,因為合成過程是基於線性插值。其次,對於高維度資料,距離度量可能失去意義,導致合成樣本缺乏代表性。再者,SMOTE 預設特徵為數值型,對類別型特徵直接應用會產生無意義的值,需要專門的變體。此外,過度採樣可能導致模型過度擬合於合成樣本,降低泛化能力。最後,如果少數類別本身包含大量噪音或離群值,SMOTE 可能會放大這些問題。

SMOTE 與簡單的重複採樣有何不同?為何 SMOTE 更優?

SMOTE 與簡單重複採樣的核心區別在於樣本生成方式。簡單重複採樣是直接複製現有的少數類別樣本,這雖然增加了數量,但沒有為模型提供任何新的資訊。模型會反覆看到完全相同的樣本,容易導致過度擬合,且無法學習到少數類別更廣泛的模式。SMOTE 則透過在少數類別樣本及其最近鄰居之間進行線性插值,生成「合成」的新樣本。這些新樣本雖然基於原始資料,但並非完全相同,它們在特徵空間中略有不同,從而擴展了少數類別的決策邊界,提供了更多樣化的學習資訊,有效降低了過度擬合的風險,並提升了模型的泛化能力。