DS

[DS Blog #44] Xử Lý Dữ Liệu Mất Cân Bằng Cực Đoan (Imbalanced Data Masterclass): Từ SMOTE, Tomek Links Đến Focal Loss & Kỹ Thuật Hiệu Chuẩn Xác Suất

0 views
[DS Blog #44] Xử Lý Dữ Liệu Mất Cân Bằng Cực Đoan (Imbalanced Data Masterclass): Từ SMOTE, Tomek Links Đến Focal Loss & Kỹ Thuật Hiệu Chuẩn Xác Suất

1. Bối cảnh thực tế (Context & Problem Statement)

Trong sách giáo khoa và các bài tập học thuật, dữ liệu thường được chia đều 50/5050/50 hoặc 60/4060/40. Nhưng trong thế giới doanh nghiệp thực tế, dữ liệu mất cân bằng cực đoan (Extreme Class Imbalance) mới là trạng thái tự nhiên:

  • Gian lận thẻ tín dụng (Credit Card Fraud): Chỉ có khoảng 0.01%−0.1%0.01\% - 0.1\% giao dịch là gian lận trong số hàng trăm triệu giao dịch bình thường.
  • Tỷ lệ Click quảng cáo (Ad CTR): Chỉ có 0.1%0.1\% người dùng bấm vào banner quảng cáo.
  • Lỗi dây chuyền sản xuất bán dẫn (Manufacturing Defect): Chỉ có 11 chip bị lỗi trong số 10,00010,000 chip xuất xưởng (0.01%0.01\%).

Hai cạm bẫy chết người mà người làm Data Science thường mắc phải:

  1. Nghịch lý độ chính xác (The Accuracy Paradox): Một mô hình "ngây thơ" luôn dự đoán mọi giao dịch là Hợp lệ sẽ đạt độ chính xác 99.9%99.9\% nhưng hoàn toàn vô dụng vì để lọt 100%100\% các vụ gian lận!
  2. Ảo tưởng do Resampling sai cách (The Resampling Trap): Áp dụng kỹ thuật sinh mẫu nhân tạo (như SMOTE) trước khi chia tập Train/Test, dẫn đến rò rỉ dữ liệu (Data Leakage) khiến kết quả kiểm thử đạt điểm ảo, hoặc làm méo mó phân phối xác suất dự đoán thực tế trên Production.

Để xây dựng một hệ thống học máy vững chắc trên dữ liệu hiếm, ta cần tiếp cận toàn diện ở 3 cấp độ: Dữ liệu →\rightarrow Thuật toán →\rightarrow Hậu xử lý.


2. Các Khái Niệm & Cơ Chế Cốt Lõi

+-----------------------------------------------------------------------------------+
|               3 CẤP ĐỘ XỬ LÝ DỮ LIỆU MẤT CÂN BẰNG CHUYÊN SÂU                     |
+-----------------------------------------------------------------------------------+
                                         |
         +-------------------------------+-------------------------------+
         |                               |                               |
         v                               v                               v
[1. DATA-LEVEL RESAMPLING]      [2. ALGORITHM & LOSS]           [3. POST-PROCESSING]
- SMOTE (Nội suy K-NN)          - Cost-Sensitive Learning       - Cost-Utility Threshold
- Borderline-SMOTE (Vùng biên)  - Focal Loss: (1 - p_t)^gamma   - Probability Calibration
- Tomek Links (Tỉa mẫu nhiễu)   - Class-weighted Cross Entropy   (Platt Scaling / Isotonic)

2.1. Cấp Độ 1: Can Thiệp Dữ Liệu (Resampling Techniques)

1. Thuật toán SMOTE (Synthetic Minority Over-sampling Technique - Chawla et al., 2002)

  • Sai lầm của Random Oversampling: Nhân bản các mẫu thiểu số có sẵn →\rightarrow Làm mô hình học vẹt chính xác các điểm đó (Overfitting nghiêm trọng).
  • Cơ chế toán học của SMOTE (Nội suy tuyến tính):
    1. Với mỗi điểm dữ liệu thiểu số xix_i, tìm KK điểm lân cận gần nhất (KK-Nearest Neighbors) cũng thuộc lớp thiểu số.
    2. Chọn ngẫu nhiên một điểm lân cận xzix_{zi}.
    3. Sinh một điểm nhân tạo mới xnewx_{\text{new}} nằm trên đoạn thẳng nối giữa xix_i và xzix_{zi}: xnew=xi+λ⋅(xzi−xi)với λ∼Uniform(0,1)x_{\text{new}} = x_i + \lambda \cdot (x_{zi} - x_i) \quad \text{với } \lambda \sim \text{Uniform}(0, 1)

2. Borderline-SMOTE (Sinh mẫu tập trung tại biên giới quyết định)

  • Nhược điểm của SMOTE gốc: Nếu một điểm thiểu số nằm sâu trong vùng của lớp đa số (thực chất là điểm nhiễu Outlier), SMOTE vẫn nối điểm đó với các điểm khác →\rightarrow Sinh ra hàng loạt điểm nhân tạo rác, làm mờ ranh giới quyết định (Decision Boundary).
  • Phân loại 3 vùng trong Borderline-SMOTE:
    • Xét mm điểm lân cận của mỗi điểm thiểu số xix_i:
      • SAFE Zone: Đa số lân cận (>m/2> m/2) là lớp thiểu số →\rightarrow Dễ học, không cần sinh thêm.
      • NOISE Zone: Toàn bộ mm lân cận đều là lớp đa số →\rightarrow Đây là điểm nhiễu, bỏ qua không sinh mẫu.
      • DANGER Zone: Một nửa lân cận là lớp đa số →\rightarrow Nằm ngay trên ranh giới quyết định! Borderline-SMOTE CHỈ sinh mẫu nhân tạo từ các điểm thuộc vùng DANGER này.

3. Tomek Links (Tỉa bỏ cặp đối nghịch ở biên giới)

  • Một cặp điểm (xi,xj)(x_i, x_j) được gọi là Tomek Link nếu:
    • xix_i thuộc lớp thiểu số, xjx_j thuộc lớp đa số.
    • xix_i là lân cận gần nhất của xjx_j VÀ xjx_j là lân cận gần nhất của xix_i.
  • Kỹ thuật SMOTE-Tomek (Kết hợp Oversampling + Undersampling):
    • Dùng SMOTE để tăng số lượng mẫu thiểu số.
    • Dùng Tomek Links để xóa bỏ các cặp điểm đối nghịch nằm quá sát nhau →\rightarrow Làm sạch và nới rộng khoảng cách giữa 2 lớp (Clear Margin).

2.2. Cấp Độ 2: Can Thiệp Hàm Mất Mát (Focal Loss & Cost-Sensitive Learning)

Thay vì làm biến đổi dữ liệu, ta can thiệp trực tiếp vào cách mô hình "bị phạt" khi dự đoán sai.

1. Cost-Sensitive Learning (Trọng số lớp)

  • Gán trọng số phạt cao hơn khi mô hình đoán sai lớp thiểu số: scale_pos_weight=Soˆˊ maˆ˜u lớp Đa soˆˊ (Negative)Soˆˊ maˆ˜u lớp Thiểu soˆˊ (Positive)\text{scale\_pos\_weight} = \frac{\text{Số mẫu lớp Đa số (Negative)}}{\text{Số mẫu lớp Thiểu số (Positive)}} (Trong XGBoost / LightGBM, tham số này buộc mô hình phải chú ý gấp NN lần vào lớp hiếm).

2. Focal Loss (Lin et al., 2017 - Đột phá từ RetinaNet)

Hàm mất mát Cross-Entropy truyền thống: CE(pt)=−log⁡(pt)\text{CE}(p_t) = -\log(p_t) (trong đó ptp_t là xác suất dự đoán đúng của mô hình).

  • Vấn đề của Cross-Entropy: Khi có hàng triệu mẫu dễ phân loại (Easy Negatives, ví dụ pt=0.99p_t = 0.99), dù mỗi mẫu chỉ đóng góp một lượng loss rất nhỏ (−log⁡(0.99)≈0.01-\log(0.99) \approx 0.01), nhưng tổng của hàng triệu mẫu này sẽ hoàn toàn áp đảo gradient của vài mẫu hiếm khó phân loại!
  • Công thức toán học của Focal Loss: FL(pt)=−αt⋅(1−pt)γ⋅log⁡(pt)\text{FL}(p_t) = -\alpha_t \cdot (1 - p_t)^\gamma \cdot \log(p_t)
    • Hệ số điều biến (Modulating Factor) (1−pt)γ(1 - p_t)^\gamma với γ≥0\gamma \ge 0:
      • Khi một mẫu được phân loại dễ dàng (pt→1p_t \to 1): (1−pt)γ→0(1 - p_t)^\gamma \to 0 →\rightarrow Đóng góp của mẫu này vào hàm mất mát bị triệt tiêu gần như bằng 00!
      • Khi một mẫu bị phân loại sai hoặc khó (pt→0p_t \to 0): (1−pt)γ→1(1 - p_t)^\gamma \to 1 →\rightarrow Giữ nguyên toàn bộ trọng số phạt.
    • →\rightarrow Tự động hướng mô hình tập trung 100%100\% năng lực vào các trường hợp hiếm và khó mà không cần lấy mẫu lại dữ liệu!
Loss
 ^
 |   Cross-Entropy (gamma = 0)
 |      \
 |       \       Focal Loss (gamma = 2):
 |        \      Triệt tiêu loss của các mẫu dễ (p_t > 0.6)
 |         \         \
 |          \         \_________
 +-----------+---------+---------> Xác suất dự đoán đúng (p_t)
            0.5       1.0

2.3. Cấp Độ 3: Hậu Xử Lý & Hiệu Chuẩn Xác Suất (Probability Calibration)

Một sự thật ít người biết: Sau khi áp dụng SMOTE hoặc chỉnh scale_pos_weight, xác suất dự đoán đầu ra của mô hình (P(Y^=1)P(\hat{Y}=1)) KHÔNG CÒN phản ánh xác suất thực tế trong đời thực!

  • Ví dụ: Một giao dịch có rủi ro thực tế là 1%1\%, nhưng do mô hình được train trên tập đã cân bằng 50/5050/50, nó sẽ xuất ra xác suất dự đoán là 45%45\%.
  • Đo lường độ lệch xác suất bằng Brier Score & Đồ thị Hiệu chuẩn (Reliability Diagram): Brier Score=1N∑i=1N(fi−yi)2(Caˋng gaˆˋn 0 caˋng chuẩn)\text{Brier Score} = \frac{1}{N} \sum_{i=1}^{N} (f_i - y_i)^2 \quad (\text{Càng gần 0 càng chuẩn})
  • 2 Phương pháp Hiệu chuẩn Xác suất (Calibration Methods):
    1. Platt Scaling (Logistic Calibration): Huấn luyện một mô hình hồi quy Logistic một biến P(Y=1∣f)=11+eAf+BP(Y=1|f) = \frac{1}{1 + e^{A f + B}} trên điểm số đầu ra của mô hình (Hiệu quả cao khi hàm mất mát có dạng Sigmoid/SVM).
    2. Isotonic Regression (Hồi quy đơn điệu): Phép khớp đường gấp khúc không tham số (Non-parametric piecewise constant). Cực kỳ mạnh mẽ và linh hoạt nhưng cần nhiều dữ liệu hơn để tránh Overfitting.

2.4. Tối Ưu Hóa Ngưỡng Quyết Định Theo Ma Trận Chi Phí (Cost-Utility Matrix)

Ngưỡng mặc định 0.50.5 của hàm predict() hoàn toàn vô nghĩa trong thực tế!

  • Trong y tế: Bỏ sót 1 ca ung thư (False Negative - FN) phải trả giá bằng tính mạng; trong khi chẩn đoán nhầm 1 người khỏe mạnh là có bệnh (False Positive - FP) chỉ tốn tiền làm thêm xét nghiệm.
  • Giả sử: undefined1,000,, \text{Chi phí}(\text{FP}) = $10$.
  • Công thức tìm ngưỡng cắt xác suất tối ưu T∗T^*: T∗=Cost(FP)Cost(FP)+Cost(FN)=1010+1000≈0.0099T^* = \frac{\text{Cost}(\text{FP})}{\text{Cost}(\text{FP}) + \text{Cost}(\text{FN})} = \frac{10}{10 + 1000} \approx 0.0099 →\rightarrow Chỉ cần mô hình dự đoán xác suất ung thư >0.99%> 0.99\%, ta lập tức gán nhãn là Dương tính để đưa đi xét nghiệm chuyên sâu!

3. Các Bảng Markdown So Sánh Chi Tiết

📊 Bảng 1: So Sánh Toàn Diện Các Kỹ Thuật Can Thiệp Dữ Liệu (Resampling)

Phương phápBản chất kỹ thuậtƯu điểmNhược điểm / Rủi roMức độ Overfitting
Random OversamplingNhân bản ngẫu nhiên các mẫu thiểu sốĐơn giản, không làm mất dữ liệuMô hình học vẹt các điểm nhân bảnRất cao
Random UndersamplingXóa bớt ngẫu nhiên các mẫu đa sốHuấn luyện cực nhanhLàm mất đi phần lớn thông tin hữu ích của lớp đa sốThấp (Dễ Underfitting)
SMOTENội suy tuyến tính giữa KK lân cận thiểu sốTạo ra các điểm mới đa dạng hơnSinh ra điểm nhiễu nếu mẫu nằm sâu trong vùng đa sốTrung bình
Borderline-SMOTEChỉ sinh mẫu từ các điểm nằm ở vùng biên (DANGER)Ranh giới phân loại sắc nét, chính xác hơn SMOTECần tinh chỉnh thêm tham số lân cận mmThấp
SMOTE-TomekChạy SMOTE rồi xóa các cặp điểm đối nghịch quá sát nhauTạo khoảng cách phân tách rõ ràng nhất giữa 2 lớpTốn chi phí tính toán khoảng cách hơnThấp nhất (Khuyên dùng)

📊 Bảng 2: So Sánh Các Dạng Hàm Mất Mát (Loss Functions)

Hàm mất mátCông thức toán họcCách xử lý mẫu khó vs. mẫu dễKhi nào nên sử dụng?
Standard Cross-Entropy−log⁡(pt)-\log(p_t)Đối xử với mọi mẫu như nhauDữ liệu cân bằng hoặc mất cân bằng nhẹ (>20%> 20\% minority)
Weighted Cross-Entropy−wtlog⁡(pt)-w_t \log(p_t)Phạt nặng hơn cố định trên toàn bộ lớp thiểu sốMất cân bằng vừa phải (1%−10%1\% - 10\% minority)
Focal Loss−(1−pt)γlog⁡(pt)-(1 - p_t)^\gamma \log(p_t)Tự động triệt tiêu gradient của các mẫu dễ, dồn toàn lực vào mẫu khóMất cân bằng cực đoan (<0.1%< 0.1\% minority: Fraud, Detection) (Chuẩn phỏng vấn)

📊 Bảng 3: So Sánh Hai Phương Pháp Hiệu Chuẩn Xác Suất (Probability Calibration)

Tiêu chíPlatt Scaling (Logistic)Isotonic Regression
Bản chất toán họcMô hình tham số (Hàm Logistic Sigmoid 1/(1+eAf+B)1 / (1 + e^{Af+B}))Mô hình phi tham số (Hàm bậc thang tăng đơn điệu)
Yêu cầu kích thước dữ liệuHoạt động rất tốt ngay cả trên tập dữ liệu nhỏ (<1,000< 1,000 mẫu)Cần tập dữ liệu lớn (>2,000−5,000> 2,000 - 5,000 mẫu) để tránh Overfit
Mức độ linh hoạtKém linh hoạt (Giả định sai lệch có dạng hình chữ S)Rất linh hoạt, khớp được mọi dạng méo mó xác suất
Thuật toán phù hợpSupport Vector Machines (SVM), Logistic RegressionGradient Boosted Trees (XGBoost, LightGBM), Random Forest

4. Best Practices & Kỹ Thuật Triển Khai Thực Chiến (Pro-Tips)

💡 Quy Tắc Sống Còn: Tuyệt Đối KHÔNG Áp Dụng SMOTE Trên Tập Test / Validation!

  • Sai lầm chí mạng: Chạy SMOTE trên toàn bộ tập dữ liệu trước khi dùng train_test_split().
    →\rightarrow Các điểm nhân tạo trên tập Test được sinh ra từ tập Train (Data Leakage nghiêm trọng), khiến độ chính xác trên báo cáo đạt 99%99\% nhưng triển khai thực tế thất bại hoàn toàn!
  • Giải pháp chuẩn mực: Sử dụng imblearn.pipeline.Pipeline:
from imblearn.over_sampling import BorderlineSMOTE
from imblearn.pipeline import Pipeline
from lightgbm import LGBMClassifier
from sklearn.model_selection import StratifiedKFold, cross_val_score

# Pipeline của imblearn CHỈ áp dụng SMOTE trên tập Train của từng Fold,
# tập Validation hoàn toàn giữ nguyên phân phối thực tế:
pipeline = Pipeline([
    ('resample', BorderlineSMOTE(random_state=42)),
    ('classifier', LGBMClassifier(n_estimators=100, random_state=42))
])

cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)
scores = cross_val_score(pipeline, X, y, cv=cv, scoring='average_precision') # PR-AUC
print(f"Mean PR-AUC: {scores.mean():.4f}")

💡 Công Thức Toán Học Hiệu Chỉnh Lại Xác Suất Sau Khi Undersampling

Nếu bạn giảm mẫu lớp đa số từ tỷ lệ thực tế pp xuống tỷ lệ cân bằng β=0.5\beta = 0.5 trong tập Train, mô hình sẽ dự đoán ra xác suất psp_s. Để đưa psp_s về xác suất thực tế khách quan pcalibratedp_{\text{calibrated}}: pcalibrated=psps+1−psαvới α=Soˆˊ maˆ˜u Đa soˆˊ sau UndersampleSoˆˊ maˆ˜u Đa soˆˊ ban đaˆˋup_{\text{calibrated}} = \frac{p_s}{p_s + \frac{1 - p_s}{\alpha}} \quad \text{với } \alpha = \frac{\text{Số mẫu Đa số sau Undersample}}{\text{Số mẫu Đa số ban đầu}}


5. Góc Ôn Luyện Phỏng Vấn (Interview Corner)

❓ Câu hỏi 1: Giải thích nguyên lý hoạt động của thuật toán SMOTE và Borderline-SMOTE. Tại sao việc áp dụng SMOTE trên toàn bộ tập dữ liệu thiểu số lại có thể làm tăng độ nhiễu, và Borderline-SMOTE khắc phục điều này như thế nào?

  • Gợi ý trả lời:
    • Nguyên lý SMOTE: Tìm KK lân cận gần nhất của từng mẫu thiểu số và sinh mẫu nhân tạo bằng cách nội suy tuyến tính: xnew=xi+λ(xzi−xi)x_{\text{new}} = x_i + \lambda(x_{zi} - x_i).
    • Tại sao SMOTE gốc gây nhiễu:
      • SMOTE đối xử với mọi điểm thiểu số như nhau. Nếu một điểm thiểu số nằm lạc lõng sâu bên trong cụm dữ liệu của lớp đa số (thực chất là điểm nhiễu do lỗi nhập liệu hoặc bất thường ngẫu nhiên), SMOTE vẫn nối điểm nhiễu này với các điểm thiểu số khác.
      • Hệ quả: Tạo ra một "cây cầu nhân tạo" bắc ngang qua không gian của lớp đa số, làm mờ ranh giới quyết định và khiến mô hình dự đoán sai nhiều trường hợp Dương tính giả (False Positive tăng cao).
    • Giải pháp của Borderline-SMOTE:
      • Kiểm tra mm lân cận của từng điểm thiểu số:
        1. Nếu toàn bộ lân cận đều là lớp đa số →\rightarrow Coi là Nhiễu (Noise) và không sinh mẫu.
        2. Nếu phần lớn lân cận là lớp thiểu số →\rightarrow Coi là An toàn (Safe) và không cần sinh mẫu.
        3. Chỉ khi số lượng lân cận lớp đa số nằm trong khoảng [m/2,m][m/2, m] →\rightarrow Coi là Vùng biên (DANGER).
      • Borderline-SMOTE chỉ tập trung sinh mẫu nhân tạo tại vùng DANGER này, giúp củng cố và làm sắc nét ranh giới phân tách giữa hai lớp mà không lan truyền nhiễu ra toàn bộ không gian.

❓ Câu hỏi 2: Focal Loss hoạt động như thế nào? Hãy phân tích công thức toán học và giải thích tại sao tham số γ\gamma (Gamma) lại có thể giải quyết triệt để bài toán mất cân bằng cực đoan (ví dụ tỷ lệ 1:1000) mà không cần can thiệp lấy mẫu lại dữ liệu.

  • Gợi ý trả lời:
    • Công thức toán học: FL(pt)=−(1−pt)γlog⁡(pt)\text{FL}(p_t) = -(1 - p_t)^\gamma \log(p_t) (trong đó pt∈[0,1]p_t \in [0, 1] là xác suất mô hình dự đoán đúng nhãn thực tế).
    • Vai trò của hệ số điều biến (1−pt)γ(1 - p_t)^\gamma:
      • Giả sử đặt γ=2\gamma = 2:
        • Với mẫu dễ phân loại (Easy Negatives): Mô hình dự đoán tự tin đúng với pt=0.99p_t = 0.99. Hệ số điều biến sẽ là: (1−0.99)2=0.012=0.0001(1 - 0.99)^2 = 0.01^2 = \mathbf{0.0001}. Mức phạt loss của mẫu này bị giảm đi 10,000 lần!
        • Với mẫu khó hoặc mẫu thiểu số bị đoán sai (Hard / Misclassified): Mô hình dự đoán kém với pt=0.1p_t = 0.1. Hệ số điều biến là: (1−0.1)2=0.92=0.81(1 - 0.1)^2 = 0.9^2 = \mathbf{0.81} (gần như giữ nguyên toàn bộ mức phạt).
    • Giải quyết bài toán 1:1000:
      • Trong tập dữ liệu mất cân bằng 1:10001:1000, 99.9%99.9\% mẫu là các ca âm tính dễ phân loại. Dưới hàm Cross-Entropy thông thường, tổng loss của 1,000 mẫu dễ này sẽ đè bẹp hoàn toàn 1 mẫu hiếm.
      • Focal Loss triệt tiêu đạo hàm của toàn bộ các mẫu dễ về gần bằng 00, buộc gradient của mạng nơ-ron chỉ được tạo ra từ các mẫu khó và các mẫu hiếm →\rightarrow Mô hình tự động học xuất sắc lớp thiểu số mà không cần nhân bản dữ liệu hay xóa bớt mẫu.

❓ Câu hỏi 3: Khi bạn áp dụng kỹ thuật Resampling (như SMOTE hay Undersampling) hoặc tinh chỉnh scale_pos_weight để huấn luyện mô hình, tại sao xác suất dự đoán đầu ra (Predicted Probabilities) lại bị sai lệch nghiêm trọng so với thực tế? Làm thế nào để hiệu chuẩn lại xác suất (Probability Calibration) bằng Platt Scaling hoặc Isotonic Regression?

  • Gợi ý trả lời:
    • Nguyên nhân sai lệch xác suất:
      • Các kỹ thuật Resampling đã làm thay đổi tỷ lệ tiên nghiệm gốc (Prior Probability P(Y=1)P(Y=1)) của dữ liệu.
      • Nếu trong thực tế rủi ro gian lận là 0.1%0.1\%, nhưng ta dùng SMOTE để cân bằng tập Train thành 50%50\%, mô hình sẽ tối ưu hóa theo thế giới 50/5050/50 đó. Đầu ra của hàm predict_proba() sẽ phóng đại xác suất lên gấp hàng chục lần (ví dụ đoán 35%35\% thay vì 0.5%0.5\%).
      • Điều này khiến điểm số xác suất không thể dùng trực tiếp cho các bài toán tính toán rủi ro tài chính kỳ vọng: Expected Loss=P(Default)×Exposure\text{Expected Loss} = P(\text{Default}) \times \text{Exposure}.
    • Quy trình Hiệu chuẩn lại xác suất (Calibration Workflow):
      1. Giữ lại một tập dữ liệu kiểm chuẩn độc lập (Calibration Set) có phân phối gốc chưa qua Resampling.
      2. Nạp điểm số thô f(x)f(x) của mô hình trên tập Calibration Set vào mô hình hiệu chuẩn:
        • Platt Scaling: Huấn luyện hàm hồi quy Logistic đơn biến: P(Y=1∣f)=11+exp⁡(A⋅f(x)+B)P(Y=1 \mid f) = \frac{1}{1 + \exp(A \cdot f(x) + B)} để tìm 2 tham số A,BA, B.
        • Isotonic Regression: Tìm hàm tăng đơn điệu dạng bậc thang khớp với dữ liệu thực tế bằng thuật toán Pairwise Adjacent Violators (PAV).
      3. Điểm số xác suất sau khi đi qua bộ hiệu chuẩn sẽ phản ánh chính xác: Nếu mô hình đưa ra xác suất 5%5\%, thì trong 100 giao dịch tương tự sẽ có đúng 5 giao dịch thực tế là gian lận.

6. Tóm Tắt Ghi Nhớ Nhanh (Key Takeaways)

  1. Accuracy Paradox: Tuyệt đối không dùng Accuracy cho dữ liệu mất cân bằng; luôn đánh giá bằng PR-AUC, Recall, và F1-Score.
  2. Borderline-SMOTE + Tomek Links vượt trội hơn SMOTE truyền thống nhờ chỉ tập trung sinh mẫu tại Vùng biên (DANGER Zone) và dọn sạch điểm nhiễu.
  3. Focal Loss với hệ số (1−pt)γ(1 - p_t)^\gamma là giải pháp thanh lịch nhất ở cấp độ thuật toán, tự động triệt tiêu gradient của các mẫu dễ.
  4. Resampling làm sai lệch xác suất thực tế →\rightarrow Bắt buộc phải áp dụng Hiệu chuẩn xác suất (Platt Scaling / Isotonic Regression) trước khi đưa vào ứng dụng tài chính.
  5. Luôn điều chỉnh Ngưỡng quyết định (Decision Threshold T∗T^*) dựa trên tỷ lệ đánh đổi chi phí thực tế giữa False Negatives và False Positives.
0Claps