Skip to content

Phát hiện gian lận trong giao dịch và sự mất cân bằng dữ liệu trong bài toán phân loại

Phát hiện gian lận trong giao dịch và sự mất cân bằng dữ liệu trong bài toán phân loại

  • Song song với sự phát triển của ngân hàng số và sự tiện lợi của thẻ tín dụng là sự gia tăng của vấn đề lừa đảo qua giao dịch ngân hàng. Chúng ta có thể áp dụng Trí tuệ nhân tạo vào vấn đề này như cách giải quyết một bài toán phân loại, nhưng vấn đề lớn nhất trong bài toán này đó là sự mất cân bằng dữ liệu.

  • Gian lận trong giao dịch được thực hiện bằng nhiều phương pháp khác nhau nhưng đích đến cuối cùng của một giao dịch gian lận là có thể hoàn thành được giao dịch với ngân hàng nhằm chiếm đoạt tài sản. Ngoài những nghiệp vụ tăng tính bảo mật cho tài khoản ngân hàng hoặc thẻ ngân hàng như xác thực nhiều lớp hoặc nhiều yếu tố, chúng ta cũng có thể ngăn chặn những giao dịch gian lận bằng cách phân tích các thuộc tính của giao dịch, từ đó phát hiện ra dấu hiệu bất thường so với các giao dịch trước kia của chủ sở hữu thật sự. Để có thể thực hiện được việc này, cần phải có rất nhiều phân tích từ các chuyên gia để có thể xác định được giao dịch đó có hợp lệ hay không. Nhưng như vậy sẽ rất mất thời gian khiến cho chất lượng dịch vụ bị suy giảm. Và với sự phát triển của Trí tuệ nhân tạo hiện nay, chúng ta có thể làm được việc đó mà không cần đến sự can thiệp của con người nhưng vẫn đạt được hiệu quả mà vẫn đảm bảo được chất lượng dịch vụ.

  • Chúng ta sẽ dùng thông tin của các giao dịch trong quá khứ đã được phân loại thành giao dịch bình thường và giao dịch gian lận, từ đó huấn luyện mô hình cho việc dự đoán các giao dịch trong tương lai. Nhưng chúng ta sẽ gặp phải một vấn đề khi huấn luyện đó là sự mất cân bằng về số lượng giữa các lớp. Và điều này ảnh hưởng trực tiếp tới hiệu quả của mô hình.

  • Một bài toán Machine Learning thường có 3 giai đoạn cơ bản:

    • Chuẩn bị dữ liệu

    • Huấn luyện mô hình

    • Đánh giá mô hình

Chuẩn bị dữ liệu

  • Cũng giống như những bài toán phân loại khác, đầu tiên chúng ta cần một bộ dữ liệu về giao dịch ngân hàng đã được phân loại giao dịch thành các lớp Gian lận (Fraud)Bình thường (Regular) để có thể huấn luyện mô hình Machine Learning (ML) phân loại được các giao dịch trong tương lai. Đặc điểm của bộ dữ liệu này là rất mất cân bằng giữa số lượng giao dịch gian lận và giao dịch bình thường, vì giao dịch gian lận xuất hiện rất ít so với giao dịch bình thường, chưa kể việc đánh dấu các giao dịch gian lận ban đầu là do con người phân tích nên chúng ta chỉ có thể phát hiện được rất ít giao dịch gian lận. Vì tính chất bảo mật của dịch vụ ngân hàng nên có rất ít bộ dữ liệu về giao dịch ngân hàng được chia sẻ và đây cũng là một trong những vấn đề của bài toán này.

  • Creditcard là một bộ dữ liệu về giao dịch thẻ ngân hàng hiếm hoi được công bố để hỗ trợ cho việc nghiên cứu. Bộ dữ liệu bao gồm 284.807 giao dịch, trong đó chỉ có 492 giao dịch gian lận (chiếm 0.172%). Vì tính chất bảo mật nên các đặc trưng của giao dịch đã được mã hóa thành dạng V1, V2,…​V28 trừ 2 đặc trưng là AmountTime.

data
Hình 1. Một phần của tập dữ liệu Creditcard

Huấn luyện mô hình

-Lựa chọn thuật toán để huấn luyện cũng là một công đoạn rất quan trọng trong Machine Learning. Chúng ta có rất nhiều thuật toán để lựa chọn cho bài toán phân loại như RandomForest, LGBM, XGBoost, ANNs,.. Việc làm tiếp theo của chúng ta trong giai đoạn này là thử nghiệm dữ liệu với những mô hình tiêu biểu của từng thuật toán đó đến khi đạt được kết quả khả thi nhất.

lgbm
Hình 2. LGBM
anns
Hình 3. ANNs
random forest
Hình 4. Random Forest
xgboost
Hình 5. XGBoost
  • Qua quá trình thử nghiệm một vài mô hình, chúng ta có thể thấy rằng thuật toán LGBMRandomForest có tốc độ học rất nhanh nhưng hiệu quả nó mang lại chưa cao, số lượng lớp bắt sai từ Fraud thành Regular vẫn còn khá nhiều. Lý do bởi vì dữ liệu của ta đang dùng để huấn luyện rất mất cân bằng nên điều này xảy ra cũng không quá lạ. Tương tự với ANNs, vì quá ít dữ liệu ở lớp Fraud nên mô hình gần như không thể nhận biết được lớp này. Ở đây chúng ta sẽ chọn thuật toán XGBoost, vì theo như kết quả thì đây là mô hình ổn định nhất trong 4 mô hình được thử nghiệm. Chỉ sử dụng những thông số (parameter) mặc định của XGBoost và dùng Google Colab để huấn luyện, ta chỉ mất khoảng 2 phút hơn để hoàn thành huấn luyện cho mô hình mà vẫn đạt được kết quả dự đoán khá tốt đối với bộ dữ liệu mất cân bằng mà ta dùng để huấn luyện.

Đánh giá mô hình

  • Để kiểm tra được độ hiệu quả của mô hình chúng ta có rất nhiều cách và rất nhiều công thức để giúp ta có cái nhìn trực quan hơn về tính khả thi mô hình từ đó xem xét đưa vào sử dụng hoặc cải thiện mô hình.

  • Trong một bài toán phân loại thông thường, chỉ số Độ chính xác (Accuracy) là một chỉ số thể hiện khá rõ ràng hiệu quả của một mô hình phân loại. Nhưng, với bài toán phân loại giao dịch gian lận này, chỉ số này có vẻ không thể hiện đúng độ hiệu quả của mô hình.

results
Hình 6. Những chỉ số thể hiện độ hiệu quả của mô hình
  • Nhìn vào bảng đánh giá ta có thể thấy độ chính xác của mô hình đạt đến 99%. Nhưng khi biểu thị kết quả dự đoán bằng Confusion Matrix ta có thể thấy được độ chính xác của mô hình chịu ảnh hưởng rất lớn đến từ lớp 0 (Regular), vì lớp có rất nhiều dữ liệu trong quá trình huấn luyện nên việc mô hình có thể phân loại rất tốt lớp này, và thậm chí còn phân loại nhầm 20 lớp 1 (Fraud) thành lớp 0. Và cũng vì rất ít dữ liệu về lớp 1 nên ta cũng không thể đánh giá chính xác được độ hiệu quả của mô hình khi thực hiện phân loại lớp này.

Kết luận

  • Qua bài toán Phát hiện giao dịch gian lận, chúng ta đã có cái nhìn trực quan hơn về khả năng của Trí tuệ nhân tạo trong lĩnh vực này cũng như biết được sự ảnh hưởng của bộ dữ liệu mất cân bằng đối với độ hiệu quả mô hình. Để khắc phục vấn đề này chúng ta cũng có khá nhiều cách như: thu thập thêm dữ liệu thiểu số, sử dụng thuật toán tạo thêm dữ liệu (SMOTE và các biến thể, GANs, …​), hiệu chỉnh lại cách học của mô hình,…​ Khi đã khắc phục được vấn đề về dữ liệu ta hoàn toàn có thể tự tin về khả năng phát hiện giao dịch gian lận và áp dụng vào các dịch vụ ngân hàng nhằm giảm thiểu khả năng bị mất mát tài sản khi sử dụng dịch vụ.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *