Dữ liệu mất cân bằng, nơi một lớp chiếm số lượng lớn hơn đáng kể so với (các) lớp khác, là một thách thức phổ biến trong học máy. Tình trạng này có thể dẫn đến các mô hình hoạt động tốt trên lớp đa số nhưng lại kém hiệu quả trên lớp thiểu số, vốn thường là lớp mà chúng ta quan tâm (ví dụ: phát hiện gian lận, chẩn đoán bệnh hiếm gặp).
Dưới đây là các phương pháp khác nhau để học từ dữ liệu mất cân bằng, được phân loại để dễ hiểu. Các bạn có thể bấm vào link để tìm hiểu sâu hơn về mỗi phương pháp:
1. Kỹ Thuật Lấy Mẫu Lại (Tiếp Cận Cấp Độ Dữ Liệu)
Các phương pháp này điều chỉnh phân phối của tập dữ liệu để làm cho nó cân bằng hơn trước khi huấn luyện mô hình.
- Lấy Mẫu Quá Mức (Oversampling) Lớp Thiểu Số:
- Lấy Mẫu Quá Mức Ngẫu Nhiên (Random Oversampling): Sao chép các trường hợp ngẫu nhiên từ lớp thiểu số. Đơn giản nhưng có thể dẫn đến quá khớp (overfitting) vì mô hình có thể ghi nhớ các ví dụ trùng lặp.
- SMOTE (Synthetic Minority Over-sampling Technique): Tạo ra các mẫu tổng hợp cho lớp thiểu số. Nó hoạt động bằng cách chọn một trường hợp của lớp thiểu số và tìm k láng giềng gần nhất của nó. Các trường hợp tổng hợp mới sau đó được tạo ra dọc theo các đoạn thẳng nối trường hợp đã chọn với các láng giềng của nó. Điều này giúp giảm quá khớp so với lấy mẫu quá mức ngẫu nhiên đơn giản.
- ADASYN (Adaptive Synthetic Sampling): Tương tự như SMOTE, nhưng nó tập trung vào việc tạo ra các mẫu tổng hợp cho các trường hợp lớp thiểu số khó học hơn (tức là những trường hợp được bao quanh bởi các trường hợp lớp đa số).
- Lấy Mẫu Thiếu (Undersampling) Lớp Đa Số:
- Lấy Mẫu Thiếu Ngẫu Nhiên (Random Undersampling): Loại bỏ ngẫu nhiên các trường hợp từ lớp đa số. Điều này có thể dẫn đến mất thông tin có giá trị nếu quá nhiều trường hợp bị loại bỏ.
- Tomek Links: Xác định các cặp trường hợp từ các lớp khác nhau nằm gần nhau nhưng thuộc các lớp khác nhau (liên kết Tomek). Sau đó, nó loại bỏ trường hợp lớp đa số từ mỗi liên kết Tomek, giúp làm sạch ranh giới quyết định.
- Edited Nearest Neighbors (ENN): Loại bỏ các trường hợp từ lớp đa số nếu k láng giềng gần nhất của chúng chủ yếu thuộc lớp thiểu số.
- NearMiss: Chọn các mẫu từ lớp đa số dựa trên khoảng cách của chúng đến các mẫu lớp thiểu số, nhằm mục đích giữ lại các trường hợp lớp đa số đại diện.
2. Các Tiếp Cận Thuật Toán
Các phương pháp này điều chỉnh bản thân thuật toán học để xử lý dữ liệu mất cân bằng tốt hơn, mà không nhất thiết phải thay đổi phân phối dữ liệu.
- Học Tối Ưu Chi Phí (Cost-Sensitive Learning):
- Trọng Số Lớp (Class Weighting): Nhiều thuật toán học máy (ví dụ: Hồi quy Logistic, Máy Vectơ Hỗ trợ, Cây Quyết định, Rừng Ngẫu nhiên, Tăng cường Gradient) cho phép gán các chi phí hoặc trọng số phân loại sai khác nhau cho các lớp. Bằng cách gán trọng số cao hơn cho lớp thiểu số, mô hình sẽ bị phạt nặng hơn khi phân loại sai lớp này, khuyến khích nó chú ý hơn đến lớp thiểu số.
- Hàm Mất Mát Tùy Chỉnh (Custom Loss Functions): Đối với mạng nơ-ron, các hàm mất mát tùy chỉnh như Focal Loss có thể được sử dụng. Focal Loss giảm trọng số đóng góp của các ví dụ dễ phân loại (thường là từ lớp đa số) và tập trung huấn luyện vào các ví dụ khó phân loại (thường là từ lớp thiểu số).
- Phương Pháp Tập Hợp (Ensemble Methods):
- Bagging (ví dụ: Balanced Bagging Classifier): Xây dựng nhiều mô hình trên các tập con khác nhau của dữ liệu. Đối với dữ liệu mất cân bằng, các biến thể như
BalancedBaggingClassifier
trongimblearn
có thể được sử dụng, trong đó mỗi trình ước tính cơ sở được huấn luyện trên một mẫu bootstrap được lấy mẫu lại để cân bằng các lớp. - Boosting (ví dụ: AdaBoost, XGBoost, LightGBM): Các thuật toán này xây dựng các mô hình tuần tự, với mỗi mô hình mới cố gắng sửa chữa các lỗi của các mô hình trước đó. Chúng có thể mạnh mẽ đối với dữ liệu mất cân bằng, đặc biệt khi kết hợp với trọng số lớp.
- Stacking: Kết hợp các dự đoán từ nhiều mô hình khác nhau. Điều này có thể hiệu quả vì các mô hình khác nhau có thể nắm bắt các khía cạnh khác nhau của dữ liệu.
- Bagging (ví dụ: Balanced Bagging Classifier): Xây dựng nhiều mô hình trên các tập con khác nhau của dữ liệu. Đối với dữ liệu mất cân bằng, các biến thể như
- Phân Loại Một Lớp/Phát Hiện Bất Thường (One-Class Classification/Anomaly Detection):
- Trong các trường hợp mất cân bằng cực đoan (ví dụ: phát hiện gian lận mà gian lận là cực kỳ hiếm), vấn đề có thể được đóng khung thành một nhiệm vụ phát hiện bất thường. Các thuật toán như One-Class SVM hoặc Isolation Forest được thiết kế để xác định các ngoại lệ hoặc bất thường, có thể tương ứng với lớp thiểu số.
3. Các Chỉ Số Đánh Giá
Khi xử lý dữ liệu mất cân bằng, độ chính xác (accuracy) truyền thống có thể gây hiểu lầm. Điều quan trọng là sử dụng các chỉ số đánh giá thích hợp cung cấp cái nhìn tốt hơn về hiệu suất của mô hình trên lớp thiểu số.
- Ma Trận Nhầm Lẫn (Confusion Matrix): Cung cấp phân tích chi tiết về số lượng dương tính đúng (TP), âm tính đúng (TN), dương tính giả (FP) và âm tính giả (FN).
- Độ Chính Xác (Precision):
– đo lường tỷ lệ các nhận dạng dương tính thực sự đúng.
- Độ Nhạy (Recall hay True Positive Rate):
– đo lường tỷ lệ các dương tính thực tế được xác định đúng.
- Điểm F1 (F1-Score): Trung bình điều hòa của độ chính xác và độ nhạy:
. Nó cung cấp một thước đo cân bằng khi cả độ chính xác và độ nhạy đều quan trọng.
- AUC-ROC (Area Under the Receiver Operating Characteristic Curve): Vẽ biểu đồ Tỷ lệ Dương tính Đúng so với Tỷ lệ Dương tính Sai ở các cài đặt ngưỡng khác nhau. Nó đo lường khả năng của một bộ phân loại trong việc phân biệt giữa các lớp.
- AUC-PR (Area Under the Precision-Recall Curve): Đặc biệt hữu ích cho các tập dữ liệu cực kỳ mất cân bằng, vì nó tập trung vào hiệu suất của lớp thiểu số.
4. Các Tiếp Cận Lai
Thông thường, kết quả tốt nhất đạt được bằng cách kết hợp nhiều kỹ thuật. Ví dụ:
- Sử dụng SMOTE để lấy mẫu quá mức lớp thiểu số, sau đó là kỹ thuật lấy mẫu thiếu như Tomek Links để làm sạch tập dữ liệu.
- Áp dụng các kỹ thuật lấy mẫu lại, sau đó huấn luyện một mô hình tập hợp với trọng số lớp.
Các Lưu Ý Quan Trọng:
- Hiểu Rõ Vấn Đề: Trước khi áp dụng bất kỳ kỹ thuật nào, hãy hiểu kỹ bản chất của sự mất cân bằng và hậu quả của việc phân loại sai từng lớp trong lĩnh vực cụ thể của bạn. Liệu dương tính giả hay âm tính giả gây tốn kém hơn?
- Kiểm Định Chéo (Cross-Validation): Khi sử dụng các kỹ thuật lấy mẫu lại, điều quan trọng là phải thực hiện kiểm định chéo một cách chính xác. Lấy mẫu lại lý tưởng nên được áp dụng trong mỗi lần kiểm định chéo để ngăn chặn rò rỉ dữ liệu và đảm bảo mô hình tổng quát hóa tốt trên dữ liệu mất cân bằng chưa thấy.
- Kỹ Thuật Đặc Trưng (Feature Engineering): Các đặc trưng mạnh mẽ, có khả năng phân biệt có thể cải thiện đáng kể hiệu suất mô hình, đặc biệt với dữ liệu mất cân bằng.
- Tăng Cường Dữ Liệu (Data Augmentation): Đối với một số loại dữ liệu như hình ảnh hoặc văn bản, tăng cường dữ liệu có thể tạo ra các mẫu đa dạng mới cho lớp thiểu số, tương tự như SMOTE nhưng được điều chỉnh cụ thể cho loại dữ liệu.
Việc lựa chọn phương pháp (hoặc sự kết hợp các phương pháp) phụ thuộc vào tập dữ liệu cụ thể, mức độ mất cân bằng, đặc điểm của dữ liệu và mục tiêu của bài toán. Thử nghiệm và đánh giá cẩn thận bằng cách sử dụng các chỉ số thích hợp là chìa khóa để tìm ra giải pháp hiệu quả nhất.