Data Imbalance

Mất cân bằng dữ liệu - làm sao để giải quyết?

Mất cân bằng dữ liệu - làm sao để giải quyết?

1. Thế nào là Data Imbalance?

Mất cân bằng dữ liệu (Data Imbalance) là một vấn đề thường xuyên gặp phải đối với các bộ dữ liệu trong thực tế. Nó xảy ra khi số lượng mẫu dữ liệu (hình ảnh, bản ghi, …) của mỗi lớp có sự khác nhau lớn. Nguyên nhân của vấn đề này thường do đặc thù từng bài toán. Trong khi các mẫu dữ liệu của lớp này rất dễ dàng thu thập được thì ngược lại, các mẫu dữ liệu của lớp kia rất khó để tập hợp, hoặc phải mất một thời gian rất dài. Ví dụ, các bài toán về dự đoán lỗi trong giao dịch ngân hàng, bài toán về phân loại bệnh nhân ung thư, …

Mất cân bằng dữ liệu ảnh hưởng rất lớn đến kết quả dự đoán của model trong bài toán phân loại. Model thường có xu hướng dự đoán kết quả nghiêng về lớp có nhiều dữ liệu hơn (bias model).

2. Giải quyết vấn đề Data Imbalance

Để giải quyết vấn đề này, cách làm triệt để và chính xác nhất, tất nhiên là thu thập thêm dữ liệu cho các lớp có lượng dữ liệu ít hơn. Tuy nhiên, như đã nói ở phần nguyên nhân, việc có đủ lượng dữ liệu cần thiết của một số lớp là rất khó, thậm chí không thể thực hiện được. Thay vào đó, chúng ta sẽ sử dụng một số phương pháp để hạn chế ảnh hưởng của vấn đề này.

Mình sẽ trình bày các phương pháp hạn chế ảnh hưởng của Data Imbalance thông qua một ví dụ cụ thể.

2.1 Chuẩn bị dữ liệu

Dữ liệu được sử dụng trong bài này là tập NIH Chest X-ray

11. Tham khảo

[1] Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2017). Imagenet classification with deep convolutional neural networks. Communications of the ACM, 60(6), 84-90.

[2] Simonyan, K., & Zisserman, A. (2014). Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556.

[3] Szegedy, C., Liu, W., Jia, Y., Sermanet, P., Reed, S., Anguelov, D., … & Rabinovich, A. (2015). Going deeper with convolutions. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 1-9).

[4] He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 770-778).

[5] Kolesnikov, A., Beyer, L., Zhai, X., Puigcerver, J., Yung, J., Gelly, S., & Houlsby, N. (2019). Big transfer (bit): General visual representation learning. arXiv preprint arXiv:1912.11370, 6(2)

[6] Huang, G., Liu, Z., Van Der Maaten, L., & Weinberger, K. Q. (2017). Densely connected convolutional networks. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 4700-4708).

[7] Tan, M., & Le, Q. V. (2019). Efficientnet: Rethinking model scaling for convolutional neural networks. arXiv preprint arXiv:1905.11946.

[8] Xie, Q., Luong, M. T., Hovy, E., & Le, Q. V. (2020). Self-training with noisy student improves imagenet classification. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 10687-10698).

[9] Pham, H., Xie, Q., Dai, Z., & Le, Q. V. (2020). Meta pseudo labels. arXiv preprint arXiv:2003.10580.

[10] Szegedy, C., Vanhoucke, V., Ioffe, S., Shlens, J., & Wojna, Z. (2016). Rethinking the inception architecture for computer vision. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 2818-2826).

[11] Nikolas Adaloglou, “Best deep CNN architectures and their principles: from AlexNet to EfficientNet”, Available online: https://theaisummer.com/cnn-architectures/ (Accessed on 02 May 2021).