Tăng cường các giao dịch gian lận bằng cách sử dụng dữ liệu tổng hợp trong Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Gia tăng các giao dịch gian lận bằng cách sử dụng dữ liệu tổng hợp trong Amazon SageMaker

Việc phát triển và đào tạo các mô hình gian lận học máy (ML) thành công đòi hỏi quyền truy cập vào lượng lớn dữ liệu chất lượng cao. Việc tìm nguồn dữ liệu này là một thách thức vì các bộ dữ liệu có sẵn đôi khi không đủ lớn hoặc không đủ khách quan để huấn luyện mô hình ML một cách hữu ích và có thể yêu cầu chi phí và thời gian đáng kể. Các yêu cầu về quy định và quyền riêng tư còn ngăn cản việc sử dụng hoặc chia sẻ dữ liệu ngay cả trong một tổ chức doanh nghiệp. Quá trình cho phép sử dụng và truy cập vào dữ liệu nhạy cảm thường làm chậm trễ hoặc làm hỏng các dự án ML. Ngoài ra, chúng ta có thể giải quyết những thách thức này bằng cách tạo và sử dụng dữ liệu tổng hợp.

Dữ liệu tổng hợp mô tả các tập dữ liệu được tạo nhân tạo bắt chước nội dung và mẫu trong tập dữ liệu gốc nhằm giải quyết rủi ro và tuân thủ quy định, thời gian và chi phí tìm nguồn cung ứng. Trình tạo dữ liệu tổng hợp sử dụng dữ liệu thực để tìm hiểu các tính năng, mối tương quan và mẫu có liên quan nhằm tạo ra lượng dữ liệu tổng hợp cần thiết phù hợp với chất lượng thống kê của tập dữ liệu được nhập ban đầu.

Dữ liệu tổng hợp đã được sử dụng trong môi trường phòng thí nghiệm hơn hai thập kỷ; thị trường có bằng chứng về tiện ích đang thúc đẩy việc áp dụng trong các lĩnh vực thương mại và công cộng. Gartner dự đoán rằng đến năm 2024, 60% dữ liệu được sử dụng để phát triển các giải pháp ML và phân tích sẽ được tạo tổng hợp và việc sử dụng dữ liệu tổng hợp sẽ tiếp tục tăng đáng kể.

Cơ quan quản lý tài chính, cơ quan quản lý của Vương quốc Anh, thừa nhận rằng “Quyền truy cập dữ liệu là chất xúc tác cho sự đổi mới và dữ liệu tài chính tổng hợp có thể đóng vai trò hỗ trợ đổi mới và cho phép những người mới tham gia phát triển, thử nghiệm và chứng minh giá trị của các giải pháp mới.”

Amazon SageMaker GroundTruth hiện đang hỗ trợ tạo dữ liệu tổng hợp dữ liệu hình ảnh tổng hợp được dán nhãn. Bài đăng trên blog này khám phá việc tạo dữ liệu tổng hợp dạng bảng. Dữ liệu có cấu trúc, chẳng hạn như bảng đơn và bảng quan hệ cũng như dữ liệu chuỗi thời gian là những loại thường gặp nhất trong phân tích doanh nghiệp.

Đây là một bài viết blog gồm hai phần; chúng tôi tạo dữ liệu tổng hợp trong phần một và đánh giá chất lượng của nó trong phần hai.

Trong bài đăng trên blog này, bạn sẽ tìm hiểu cách sử dụng thư viện nguồn mở tổng hợp ydataSổ ghi chép AWS SageMaker để tổng hợp dữ liệu dạng bảng cho trường hợp sử dụng gian lận, trong đó chúng tôi không có đủ giao dịch gian lận để đào tạo mô hình gian lận có độ chính xác cao. Quy trình chung để đào tạo một mô hình gian lận được đề cập trong phần này. gửi.

Tổng quan về giải pháp

Mục đích của hướng dẫn này là tổng hợp nhóm thiểu số của tập dữ liệu gian lận thẻ tín dụng mất cân bằng cao bằng cách sử dụng một bộ dữ liệu được tối ưu hóa. mạng đối thủ chung (GAN) gọi là WGAN-GP để tìm hiểu các mẫu và thuộc tính thống kê của dữ liệu gốc, sau đó tạo ra vô số mẫu dữ liệu tổng hợp giống với dữ liệu gốc. Quá trình này cũng có thể được sử dụng để nâng cao dữ liệu gốc bằng cách lấy mẫu lại các sự kiện hiếm gặp như gian lận hoặc để tạo ra các trường hợp đặc biệt không có trong dữ liệu gốc.

Chúng tôi sử dụng bộ dữ liệu gian lận thẻ tín dụng được xuất bản bởi ULB, có thể được tải xuống từ Kaggle. Việc tạo dữ liệu tổng hợp cho tầng lớp thiểu số giúp giải quyết các vấn đề liên quan đến bộ dữ liệu mất cân bằng, từ đó có thể giúp phát triển các mô hình chính xác hơn.

Chúng tôi sử dụng các dịch vụ AWS, bao gồm Amazon SageMaker và Amazon S3, những dịch vụ này sẽ phát sinh chi phí khi sử dụng tài nguyên đám mây.

Thiết lập môi trường phát triển

SageMaker cung cấp phiên bản sổ ghi chép Jupyter được quản lý để xây dựng, đào tạo và triển khai mô hình.

Điều kiện tiên quyết:

Bạn phải có tài khoản AWS để chạy SageMaker. Bạn có thể làm được bắt đầu với SageMaker và thử hướng dẫn thực hành.

Để biết hướng dẫn thiết lập môi trường làm việc Jupyter Notebook của bạn, hãy xem Bắt đầu với Amazon SageMaker Notebook Instances.

Bước 1: Thiết lập phiên bản Amazon SageMaker của bạn

  1. Đăng nhập vào bảng điều khiển AWS và tìm kiếm “SageMaker”.
  2. Chọn Studio.
  3. Chọn Trường hợp máy tính xách tay trên thanh bên trái và chọn Tạo ví dụ máy tính xách tay.
  4. Từ trang tiếp theo (như minh họa trong hình ảnh sau), chọn cấu hình của máy ảo (VM) theo nhu cầu của bạn và chọn Tạo ví dụ máy tính xách tay. Lưu ý rằng chúng tôi đã sử dụng máy ảo được tối ưu hóa ML không có GPU và 5 GB dữ liệu, ml.t3.medium chạy Amazon Linux 2 và nhân Jupyter Lab 3.
    Tạo ví dụ máy tính xách tay
  5. Phiên bản sổ ghi chép sẽ sẵn sàng để bạn sử dụng trong vòng vài phút.
  6. Chọn Mở JupyterLab để khởi chạy.
    Tăng cường các giao dịch gian lận bằng cách sử dụng dữ liệu tổng hợp trong Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  7. Bây giờ chúng ta đã có JupyterLab với các thông số kỹ thuật cần thiết, chúng ta sẽ cài đặt thư viện tổng hợp.
pip install ydata-synthetic

Bước 2: Tải xuống hoặc trích xuất tập dữ liệu thực để tạo dữ liệu tổng hợp

Tải dữ liệu tham khảo từ Kaggle theo cách thủ công, như chúng tôi thực hiện ở đây hoặc theo chương trình thông qua API Kaggle nếu bạn có tài khoản Kaggle. Nếu khám phá tập dữ liệu này, bạn sẽ nhận thấy rằng lớp “lừa đảo” chứa ít dữ liệu hơn nhiều so với lớp “không gian lận”.

Nếu bạn sử dụng trực tiếp dữ liệu này để dự đoán học máy, các mô hình có thể luôn học cách dự đoán “không gian lận”. Một mô hình sẽ dễ dàng có độ chính xác cao hơn trong các trường hợp không gian lận vì các trường hợp gian lận rất hiếm. Tuy nhiên, vì việc phát hiện các trường hợp gian lận là mục tiêu của chúng tôi trong bài tập này nên chúng tôi sẽ tăng số lượng loại gian lận bằng dữ liệu tổng hợp được mô hình hóa trên dữ liệu thực.

Tạo một thư mục dữ liệu trong JupyterLab và tải tệp dữ liệu Kaggle lên đó. Điều này sẽ cho phép bạn sử dụng dữ liệu trong sổ ghi chép vì SageMaker đi kèm với lưu trữ mà bạn đã chỉ định khi khởi tạo sổ ghi chép.

Tăng cường các giao dịch gian lận bằng cách sử dụng dữ liệu tổng hợp trong Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Tập dữ liệu này là 144 MB

Tăng cường các giao dịch gian lận bằng cách sử dụng dữ liệu tổng hợp trong Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Sau đó, bạn có thể đọc dữ liệu bằng mã tiêu chuẩn thông qua thư viện pandas:

import pandas as pd
data = pd.read_csv('./data/creditcard.csv')

Dữ liệu phát hiện gian lận có một số đặc điểm nhất định, cụ thể là:

  • Sự mất cân bằng giai cấp lớn (thường hướng tới các điểm dữ liệu không lừa đảo).
  • Những lo ngại liên quan đến quyền riêng tư (do sự hiện diện của dữ liệu nhạy cảm).
  • Một mức độ năng động, trong đó người dùng độc hại luôn cố gắng tránh bị phát hiện bởi hệ thống giám sát các giao dịch gian lận.
  • Các tập dữ liệu có sẵn rất lớn và thường không được gắn nhãn.

Bây giờ bạn đã kiểm tra tập dữ liệu, hãy lọc lớp thiểu số (lớp “lừa đảo” từ tập dữ liệu thẻ tín dụng) và thực hiện các phép biến đổi theo yêu cầu. Bạn có thể kiểm tra các chuyển đổi dữ liệu từ đây máy tính xách tay.

Khi tập dữ liệu lớp thiểu số này được tổng hợp và thêm lại vào tập dữ liệu gốc, nó cho phép tạo ra tập dữ liệu tổng hợp lớn hơn để giải quyết sự mất cân bằng trong dữ liệu. Chúng ta có thể đạt được độ chính xác dự đoán cao hơn bằng cách đào tạo mô hình phát hiện gian lận bằng cách sử dụng tập dữ liệu mới.

Hãy tổng hợp bộ dữ liệu gian lận mới.

Bước 3: Huấn luyện bộ tổng hợp và tạo mô hình

Vì bạn có sẵn dữ liệu trong SageMaker nên đã đến lúc đưa các mô hình GAN tổng hợp của chúng tôi vào hoạt động.

Mạng đối thủ tổng quát (GAN) có hai phần:

Sản phẩm máy phát điện học cách tạo ra dữ liệu hợp lý. Các phiên bản được tạo sẽ trở thành ví dụ huấn luyện tiêu cực cho người phân biệt đối xử.

Sản phẩm người phân biệt đối xử học cách phân biệt dữ liệu giả của máy phát điện với dữ liệu thực. Người phân biệt đối xử phạt người tạo ra kết quả không hợp lý.

Khi quá trình đào tạo bắt đầu, trình tạo tạo ra dữ liệu rõ ràng là giả và trình phân biệt đối xử nhanh chóng học cách nhận biết rằng đó là dữ liệu giả. Khi quá trình đào tạo tiến triển, trình tạo sẽ tiến gần hơn đến việc tạo ra đầu ra có thể đánh lừa người phân biệt đối xử. Cuối cùng, nếu quá trình đào tạo trình tạo diễn ra tốt đẹp, thì người phân biệt sẽ kém hơn trong việc phân biệt sự khác biệt giữa thật và giả. Nó bắt đầu phân loại dữ liệu giả thành dữ liệu thật và độ chính xác của nó giảm đi.

Cả bộ tạo và bộ phân biệt đều là mạng lưới thần kinh. Đầu ra của bộ tạo được kết nối trực tiếp với đầu vào của bộ phân biệt. Bởi vì Lan truyền ngược, sự phân loại của bộ phân biệt sẽ cung cấp một tín hiệu mà bộ tạo sử dụng để cập nhật các trọng số của nó.

Bước 4: Lấy mẫu dữ liệu tổng hợp từ bộ tổng hợp

Bây giờ bạn đã xây dựng và huấn luyện mô hình của mình, đã đến lúc lấy mẫu dữ liệu cần thiết bằng cách cung cấp nhiễu cho mô hình. Điều này cho phép bạn tạo ra nhiều dữ liệu tổng hợp như bạn muốn.

Trong trường hợp này, bạn tạo một lượng dữ liệu tổng hợp bằng với lượng dữ liệu thực tế vì điều này giúp dễ dàng so sánh các cỡ mẫu tương tự ở Bước 5.

Chúng tôi có tùy chọn lấy mẫu các hàng chứa giao dịch gian lận—khi kết hợp với dữ liệu gian lận không tổng hợp, sẽ dẫn đến sự phân bổ đồng đều giữa các loại “lừa đảo” và “không gian lận”. Bản gốc Bộ dữ liệu Kaggle chứa 492 gian lận trong số 284,807 giao dịch, vì vậy chúng tôi tạo một mẫu tương tự từ bộ tổng hợp.

# use the same shape as the real data
synthetic_fraud = synthesizer.sample(492)

Chúng tôi có tùy chọn lấy mẫu các hàng chứa giao dịch gian lận trong một quy trình được gọi là tăng cường dữ liệu—khi kết hợp với dữ liệu gian lận không tổng hợp, sẽ dẫn đến sự phân bổ đồng đều giữa các loại “lừa đảo” và “không gian lận”.

Bước 5: So sánh và đánh giá dữ liệu tổng hợp với dữ liệu thực

Mặc dù bước này là tùy chọn nhưng bạn có thể trực quan hóa và đánh giá dữ liệu tổng hợp được tạo ra một cách định tính so với dữ liệu thực tế bằng cách sử dụng biểu đồ phân tán.

Điều này giúp chúng tôi lặp lại mô hình của mình bằng cách điều chỉnh các tham số, thay đổi kích thước mẫu và thực hiện các phép biến đổi khác để tạo ra dữ liệu tổng hợp chính xác nhất. Bản chất chính xác này luôn phụ thuộc vào mục đích tổng hợp

Hình ảnh bên dưới mô tả mức độ giống nhau giữa gian lận thực tế và điểm dữ liệu gian lận tổng hợp qua các bước đào tạo. Điều này giúp kiểm tra định tính tốt về sự giống nhau giữa dữ liệu tổng hợp và dữ liệu thực tế cũng như cách cải thiện dữ liệu đó khi chúng tôi chạy nó qua nhiều kỷ nguyên hơn (chuyển toàn bộ tập dữ liệu huấn luyện thông qua thuật toán). Lưu ý rằng khi chúng tôi chạy nhiều kỷ nguyên hơn, tập mẫu dữ liệu tổng hợp sẽ gần với dữ liệu gốc hơn.

Tăng cường các giao dịch gian lận bằng cách sử dụng dữ liệu tổng hợp trong Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Bước 6: Dọn dẹp

Cuối cùng, hãy dừng phiên bản sổ ghi chép của bạn khi bạn hoàn tất quá trình tổng hợp để tránh những chi phí không mong muốn.

Kết luận

Là các thuật toán học máy và khung mã hóa phát triển nhanh chóng, dữ liệu chất lượng cao trên quy mô lớn là tài nguyên khan hiếm nhất trong ML. Bộ dữ liệu tổng hợp chất lượng tốt có thể được sử dụng trong nhiều nhiệm vụ khác nhau.

Trong bài đăng blog này, bạn đã biết được tầm quan trọng của việc tổng hợp tập dữ liệu bằng cách sử dụng thư viện nguồn mở sử dụng WGAN-GP. Đây là một lĩnh vực nghiên cứu tích cực với hàng nghìn bài báo về GAN được xuất bản và hàng trăm GAN được đặt tên có sẵn để bạn thử nghiệm. Có các biến thể được tối ưu hóa cho các trường hợp sử dụng cụ thể như bảng quan hệ và dữ liệu chuỗi thời gian.

Bạn có thể tìm thấy tất cả mã được sử dụng cho bài viết này trong máy tính xách tayvà tất nhiên, có thêm nhiều hướng dẫn như thế này từ SageMaker trang tài liệu chính thức.

Trong tạp chí phần thứ hai Trong loạt bài đăng blog gồm hai phần này, chúng tôi sẽ đi sâu vào cách đánh giá chất lượng của dữ liệu tổng hợp từ góc độ độ trung thực, tiện ích và quyền riêng tư.


Lưu ý

Tăng cường các giao dịch gian lận bằng cách sử dụng dữ liệu tổng hợp trong Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Faris Haddad là Trưởng nhóm Dữ liệu & Thông tin chuyên sâu trong nhóm Theo đuổi Chiến lược AABG. Anh ấy giúp các doanh nghiệp thành công trong việc định hướng dữ liệu.

Dấu thời gian:

Thêm từ Học máy AWS