首頁教材庫 / 機器學習基礎 / SMOTE 資料不平衡處理

iPAS AI初級 機器學習基礎 ⏱ 約 4 分鐘讀完
iPAS AI 初級・漫畫式小白教材

SMOTE

Synthetic Minority Over-sampling Technique|「幫少數派增加新夥伴!」

🎬 第一幕:銀行的詐欺偵探出事了!

🏦 正常交易
👥👥👥👥👥

100,000 筆正常交易。

「人太多了!」

🚨 詐欺交易
🕵️‍♂️🚨

只有 500 筆詐欺交易。

「我們是少數派……」

🤖 模型
🤖⚖️
「大部分都是正常,那我全部猜正常好了!」

模型可能偏向多數類別。

🧠 一句話先背起來

SMOTE=「利用少數類別的鄰近樣本,合成新的少數類別樣本。」

SMOTE 的目的,是處理類別不平衡(Class Imbalance)。它不是直接複製少數樣本,而是利用少數類別樣本之間的特徵差異,產生位於它們之間的新樣本。

少數類別過度取樣合成新資料Class Imbalance

🎭 第二幕:SMOTE 到底怎麼「生小孩」?

① 找到少數派鄰居
🔴 ↔ 🔴

假設兩筆詐欺樣本:

A:交易金額高、深夜交易
B:交易金額中高、深夜交易
② 找兩者之間
🔴 ➡️ 🟣 ➡️ 🔴

SMOTE 不只是複製 A。

而是在 A 與鄰居 B 的特徵空間連線上取點

③ 生出新樣本
🔴🟣🔴
「我是一筆新的合成詐欺樣本!」

🟣 是人工合成的少數類別樣本。

A + 鄰近少數樣本的「差異 × 隨機比例」 → 新少數類別樣本

🔄 第三幕:SMOTE 的流程

⚖️
① 發現失衡
少數類太少
🔴
② 選少數樣本
挑一個 minority sample
🔎
③ 找鄰居
找附近少數樣本
🟣
④ 合成
在特徵空間插值
⚖️
⑤ 平衡資料
再交給模型訓練
原始資料 → 找少數類 → 找鄰近少數樣本 → 合成新樣本 → 平衡訓練資料 → 模型訓練

🥊 第四幕:SMOTE 最容易跟什麼搞混?

方法漫畫到底改了什麼?
SMOTE🟣「生新少數派」在少數類樣本的特徵空間中合成新樣本。
Random Over-sampling📋「複製少數派」直接重複抽取/複製少數類樣本。
Random Under-sampling✂️「刪多數派」刪除部分多數類樣本,降低資料不平衡。
Class Weight⚖️「少數派加分」調整模型訓練時不同類別的損失權重,不直接新增資料。
Cross-validation🔄「切資料考試」用不同資料切分評估模型泛化能力;不是 SMOTE 本身。

💡 第五幕:最重要的「資料 vs 模型」判斷

📊 SMOTE 改的是「資料」

原本:

正常 ⚪⚪⚪⚪⚪⚪⚪
詐欺 🔴

SMOTE:

正常 ⚪⚪⚪⚪⚪⚪⚪
詐欺 🔴🟣🟣🟣

👉 增加的是少數類別訓練樣本

⚖️ Class Weight 改的是「損失」

不是新增交易資料,而是告訴模型:

「錯判詐欺,罰重一點!」

👉 改變模型學習時的Loss 權重

🎯 考試超重要:SMOTE 是資料層面的重採樣技術,不是修改 Loss Function 的方法。

⚠️ 第六幕:SMOTE 不是「隨便製造假資料」

❌ 錯誤理解
📋➡️📋

「把詐欺資料複製 1,000 次。」

這比較接近Random Over-sampling

✅ SMOTE
🔴➡️🟣⬅️🔴

根據少數類樣本的鄰近關係,在特徵空間中進行插值。

產生新的合成少數樣本。

⚠️ 注意
🤔

如果少數類資料本身有噪聲或類別邊界複雜,合成資料也可能帶來問題。

所以不是「SMOTE 越多越好」。

🏦 第七幕:套進銀行詐欺偵測

原本的資料

正常交易:99.5%
詐欺交易:0.5%

模型容易學成:

「全部預測正常,好像也很準?」

加入 SMOTE

正常交易:⚪⚪⚪⚪⚪
詐欺交易:🔴🟣🟣🟣

讓訓練資料中的少數類別有更多代表性。

⚠️ 實務上 SMOTE 通常應只在訓練資料上執行,避免把合成資料帶進測試/驗證資料而造成資料洩漏(Data Leakage)。

🎯 第八幕:你的四個選項逐一拆解

❌ A. 隨機刪除部分正常交易——這是 Random Under-sampling 的概念,不是 SMOTE。

✅ B. 正確答案
依據少數類別樣本的特徵空間與鄰近樣本,合成產生新的少數類別樣本。這就是 SMOTE。

❌ C. 調整 Loss Function 權重——這是 Class Weight/Cost-sensitive Learning 類方法,不是 SMOTE。

❌ D. Cross-validation 是模型評估/資料切分方法,不是用來合成少數類樣本的技術。

🧠 iPAS 考前超強口訣

SMOTE=「少數派太少 → 找鄰居 → 在中間生新朋友」

看到「類別不平衡」+「少數類別」+「合成新樣本」→ SMOTE

⭐ SMOTE 改資料,不改 Loss;不是刪資料,也不是單純複製資料。

🎯 最後來做你提供的例題

題目:某銀行建立 AI 詐欺交易偵測模型,詐欺樣本比例極低。資料科學團隊評估採用 SMOTE 改善訓練資料分佈。何者最符合 SMOTE 的主要功能?

A. 隨機刪除部分正常交易
B. 依據少數類別樣本的特徵空間,合成新的少數類別樣本
C. 調整 Loss Function 權重
D. 以 Cross-validation 重新分割資料

🎯 正確答案:B ✅

SMOTE 的全名是 Synthetic Minority Over-sampling Technique

核心就是:
🔴 找少數類別樣本

🔎 找它附近的少數類別鄰居

🟣 在特徵空間中插值

🟣 產生新的少數類別樣本

因此 B 最準確。
⭐ 少數類太少?SMOTE:「我來幫你在附近生一些新朋友!」

📌 考前最後一張小抄

題目關鍵字立刻想到
類別不平衡⚖️ Imbalanced Data
少數類別太少🔴 Minority Class
合成新的少數類別樣本🟣 SMOTE
直接複製少數樣本📋 Random Over-sampling
刪除多數類別✂️ Random Under-sampling
提高少數類錯誤的懲罰⚖️ Class Weight
切資料評估模型🔄 Cross-validation

⭐ 最終口訣:
SMOTE 不刪、不單純複製;它在少數類鄰居之間『生新樣本』。