Tingkatkan transaksi penipuan menggunakan data sintetis di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Tingkatkan transaksi penipuan menggunakan data sintetis di Amazon SageMaker

Mengembangkan dan melatih model penipuan machine learning (ML) yang berhasil membutuhkan akses ke sejumlah besar data berkualitas tinggi. Sumber data ini menantang karena kumpulan data yang tersedia terkadang tidak cukup besar atau cukup tidak bias untuk melatih model ML secara berguna dan mungkin memerlukan biaya dan waktu yang signifikan. Persyaratan peraturan dan privasi selanjutnya mencegah penggunaan atau berbagi data bahkan di dalam organisasi perusahaan. Proses otorisasi penggunaan, dan akses ke, data sensitif sering kali menunda atau menggagalkan proyek ML. Alternatifnya, kita dapat mengatasi tantangan ini dengan membuat dan menggunakan data sintetik.

Data sintetis mendeskripsikan kumpulan data yang dibuat secara artifisial yang meniru konten dan pola dalam kumpulan data asli untuk mengatasi risiko dan kepatuhan peraturan, waktu, dan biaya pengadaan. Generator data sintetik menggunakan data nyata untuk mempelajari fitur, korelasi, dan pola yang relevan untuk menghasilkan jumlah data sintetik yang diperlukan yang cocok dengan kualitas statistik dari kumpulan data yang awalnya diserap.

Data Sintetis telah digunakan di lingkungan lab untuk lebih dari dua dekade; pasar memiliki bukti utilitas yang mempercepat adopsi di sektor komersial dan publik. Gartner memprediksi bahwa pada tahun 2024, 60 persen data yang digunakan untuk pengembangan ML dan solusi analitik akan dibuat secara sintetis dan penggunaan data sintetis akan terus meningkat secara substansial.

Financial Conduct Authority, badan pengawas Inggris, mengakui bahwa โ€œAkses ke data adalah katalis untuk inovasi, dan data keuangan sintetik dapat berperan dalam mendukung inovasi dan memungkinkan pendatang baru untuk mengembangkan, menguji, dan mendemonstrasikan nilai dari solusi baru.โ€

GroundTruth Amazon SageMaker saat ini mendukung pembuatan data sintetis dari data gambar sintetik berlabel. Posting blog ini mengeksplorasi pembuatan data sintetik tabular. Data terstruktur, seperti tabel tunggal dan relasional, serta data deret waktu adalah jenis yang paling sering ditemui dalam analitik perusahaan.

Ini adalah posting blog dua bagian; kami membuat data sintetis di bagian satu dan mengevaluasi kualitasnya di bagian kedua.

Dalam postingan blog ini, Anda akan mempelajari cara menggunakan pustaka sumber terbuka ydata-sintetis dan notebook AWS SageMaker untuk mensintesis data tabular untuk kasus penggunaan penipuan, di mana kami tidak memiliki cukup transaksi penipuan untuk melatih model penipuan dengan akurasi tinggi. Proses umum pelatihan model penipuan tercakup dalam hal ini pos.

Gambaran umum solusinya

Tujuan dari tutorial ini adalah untuk mensintesis kelas minoritas dari kumpulan data penipuan kartu kredit yang sangat tidak seimbang menggunakan yang dioptimalkan jaringan permusuhan generatif (GAN) bernama WGAN-GP untuk mempelajari pola dan properti statistik dari data asli dan kemudian membuat sampel data sintetik tanpa akhir yang menyerupai data asli. Proses ini juga dapat digunakan untuk menyempurnakan data asli dengan mengambil sampel kejadian langka seperti penipuan atau untuk menghasilkan kasus tepi yang tidak ada di aslinya.

Kami menggunakan kumpulan data penipuan kartu kredit yang diterbitkan oleh ULB, yang dapat diunduh dari Kaggle. Menghasilkan data sintetik untuk kelas minoritas membantu mengatasi masalah yang terkait dengan kumpulan data yang tidak seimbang, yang dapat membantu mengembangkan model yang lebih akurat.

Kami menggunakan layanan AWS, termasuk Amazon SageMaker dan Amazon S3, yang dikenakan biaya untuk menggunakan sumber daya cloud.

Siapkan lingkungan pengembangan

SageMaker menyediakan instans notebook Jupyter terkelola untuk pembangunan model, pelatihan, dan penerapan.

Prasyarat:

Anda harus memiliki akun AWS untuk menjalankan SageMaker. Kamu bisa mendapatkan mulai dengan SageMaker dan coba tutorial langsung.

Untuk instruksi tentang pengaturan lingkungan kerja Jupyter Notebook Anda, lihat Memulai dengan Instans Notebook Amazon SageMaker.

Langkah 1: Siapkan instans Amazon SageMaker Anda

  1. Masuk ke konsol AWS dan cari โ€œSageMaker.โ€
  2. Pilih studio.
  3. Pilih Contoh notebook di bilah kiri, lalu pilih Buat instance notebook.
  4. Dari halaman berikutnya (seperti yang ditunjukkan pada gambar berikut), pilih konfigurasi mesin virtual (VM) sesuai kebutuhan Anda, lalu pilih Buat instance notebook. Perhatikan bahwa kami menggunakan VM yang dioptimalkan untuk ML tanpa GPU dan data sebesar 5 GB, ml.t3.medium yang menjalankan Amazon Linux 2, dan kernel Jupyter Lab 3.
    Buat instance notebook
  5. Instance notebook akan siap untuk Anda gunakan dalam beberapa menit.
  6. Pilih Buka JupyterLab peluncuran.
    Tingkatkan transaksi penipuan menggunakan data sintetis di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.
  7. Sekarang kami memiliki JupyterLab dengan spesifikasi yang kami butuhkan, kami akan menginstal perpustakaan sintetis.
pip install ydata-synthetic

Langkah 2: Unduh atau ekstrak kumpulan data asli untuk membuat data sintetik

Unduh data referensi dari Kaggle baik secara manual, seperti yang kami lakukan di sini, atau secara terprogram melalui Kaggle API jika Anda memiliki akun Kaggle. Jika Anda menjelajahi kumpulan data ini, Anda akan melihat bahwa kelas "penipuan" berisi lebih sedikit data daripada kelas "bukan penipuan".

Jika Anda menggunakan data ini secara langsung untuk prediksi pembelajaran mesin, model mungkin selalu belajar memprediksi "bukan penipuan". Sebuah model akan dengan mudah memiliki akurasi yang lebih tinggi dalam kasus nonfraud karena kasus penipuan jarang terjadi. Namun, karena mendeteksi kasus penipuan adalah tujuan kami dalam latihan ini, kami akan meningkatkan jumlah kelas penipuan dengan data sintetik yang dimodelkan pada data nyata.

Buat folder data di JupyterLab dan unggah file data Kaggle ke dalamnya. Ini akan memungkinkan Anda menggunakan data di dalam notebook sejak SageMaker dilengkapi dengan penyimpanan yang akan Anda tentukan saat membuat instance notebook.

Tingkatkan transaksi penipuan menggunakan data sintetis di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Kumpulan data ini adalah 144 MB

Tingkatkan transaksi penipuan menggunakan data sintetis di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Anda kemudian dapat membaca data menggunakan kode standar melalui perpustakaan panda:

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

Data deteksi penipuan memiliki karakteristik tertentu, yaitu:

  • Ketidakseimbangan kelas besar (biasanya menuju titik data nonfraud).
  • Masalah terkait privasi (karena adanya data sensitif).
  • Tingkat dinamisme, di mana pengguna jahat selalu berusaha menghindari deteksi oleh pemantauan sistem untuk transaksi penipuan.
  • Kumpulan data yang tersedia sangat besar dan seringkali tidak berlabel.

Sekarang setelah Anda memeriksa kumpulan data, mari memfilter kelas minoritas (kelas "penipuan" dari kumpulan data kartu kredit) dan melakukan transformasi sesuai kebutuhan. Anda dapat memeriksa transformasi data dari sini buku catatan.

Saat kumpulan data kelas minoritas ini disintesis dan ditambahkan kembali ke kumpulan data asli, ini memungkinkan pembuatan kumpulan data tersintesis yang lebih besar yang mengatasi ketidakseimbangan dalam data. Kami dapat mencapai akurasi prediksi yang lebih besar dengan pelatihan model deteksi penipuan menggunakan kumpulan data baru.

Mari kita sintesiskan kumpulan data penipuan baru.

Langkah 3: Latih penyintesis dan buat modelnya

Karena Anda memiliki data yang tersedia dalam SageMaker, inilah waktunya untuk menggunakan model GAN โ€‹โ€‹sintetis kami.

Jaringan permusuhan generatif (GAN) memiliki dua bagian:

Grafik generator belajar untuk menghasilkan data yang masuk akal. Instance yang dihasilkan menjadi contoh pelatihan negatif untuk diskriminator.

Grafik pembeda belajar membedakan data palsu generator dari data asli. Diskriminator menghukum generator karena menghasilkan hasil yang tidak masuk akal.

Saat pelatihan dimulai, generator menghasilkan data yang jelas palsu, dan pembeda dengan cepat mengetahui bahwa itu palsu. Saat pelatihan berlangsung, generator semakin dekat untuk menghasilkan output yang dapat mengelabui diskriminator. Akhirnya, jika pelatihan generator berjalan dengan baik, pembeda semakin buruk dalam membedakan antara yang asli dan yang palsu. Itu mulai mengklasifikasikan data palsu sebagai nyata, dan akurasinya menurun.

Baik generator dan diskriminator adalah jaringan saraf. Output generator terhubung langsung ke input diskriminator. Melalui propagasi mundur, klasifikasi diskriminator memberikan sinyal yang digunakan generator untuk memperbarui bobotnya.

Langkah 4: Contoh data sintetik dari penyintesis

Sekarang setelah Anda membuat dan melatih model, saatnya mengambil sampel data yang diperlukan dengan memasukkan noise ke model. Ini memungkinkan Anda menghasilkan data sintetik sebanyak yang Anda inginkan.

Dalam hal ini, Anda menghasilkan jumlah data sintetik yang sama dengan jumlah data aktual karena hal ini memudahkan untuk membandingkan ukuran sampel yang serupa di Langkah 5.

Kami memiliki opsi untuk mengambil sampel baris yang berisi transaksi penipuanโ€”yang, jika digabungkan dengan data penipuan nonsintetik, akan menghasilkan distribusi kelas "penipuan" dan "bukan penipuan" yang setara. Asli Kumpulan data Kaggle berisi 492 penipuan dari 284,807 transaksi, jadi kami membuat sampel yang sama dari penyintesis.

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

Kami memiliki opsi untuk mengambil sampel baris yang berisi transaksi penipuan dalam proses yang disebut augmentasi dataโ€”yang, jika digabungkan dengan data penipuan nonsintetik, akan menghasilkan distribusi kelas "penipuan" dan "bukan penipuan" yang setara.

Langkah 5: Bandingkan dan evaluasi data sintetik dengan data sebenarnya

Meskipun langkah ini bersifat opsional, Anda dapat secara kualitatif memvisualisasikan dan menilai data sintetik yang dihasilkan terhadap data sebenarnya menggunakan sebar plot.

Ini membantu kami mengulang model kami dengan mengutak-atik parameter, mengubah ukuran sampel, dan melakukan transformasi lain untuk menghasilkan data sintetik yang paling akurat. Sifat akurasi ini selalu tergantung pada tujuan sintesis

Gambar di bawah menggambarkan betapa miripnya poin data penipuan aktual dan penipuan sintetik di seluruh langkah pelatihan. Ini memberikan inspeksi kualitatif yang baik tentang kesamaan antara data sintetik dan aktual dan bagaimana hal itu meningkat saat kami menjalankannya melalui lebih banyak zaman (transit seluruh kumpulan data pelatihan melalui algoritme). Perhatikan bahwa saat kita menjalankan lebih banyak epoch, set pola data sintetik semakin mendekati data aslinya.

Tingkatkan transaksi penipuan menggunakan data sintetis di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Langkah 6: Bersihkan

Terakhir, hentikan instans notebook Anda setelah selesai dengan sintesis untuk menghindari biaya tak terduga.

Kesimpulan

Sebagai algoritma pembelajaran mesin dan kerangka kerja pengkodean berkembang pesat, data berkualitas tinggi dalam skala besar adalah sumber daya paling langka di ML. Kumpulan data sintetis berkualitas baik dapat digunakan dalam berbagai tugas.

Dalam postingan blog ini, Anda mempelajari pentingnya mensintesis kumpulan data dengan menggunakan pustaka sumber terbuka yang menggunakan WGAN-GP. Ini adalah area penelitian aktif dengan ribuan makalah tentang GAN yang diterbitkan dan ratusan nama GAN tersedia untuk Anda coba. Ada varian yang dioptimalkan untuk kasus penggunaan tertentu seperti tabel relasional dan data deret waktu.

Anda dapat menemukan semua kode yang digunakan untuk artikel ini di sini buku catatan, dan tentu saja, lebih banyak tutorial seperti ini tersedia dari SageMaker halaman dokumentasi resmi.

Dalam majalah bagian kedua dari rangkaian entri blog dua bagian ini, kami akan mendalami cara mengevaluasi kualitas data sintetik dari perspektif kesetiaan, utilitas, dan privasi.


tentang Penulis

Tingkatkan transaksi penipuan menggunakan data sintetis di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Faris Haddad adalah Pemimpin Data & Wawasan di tim Pengejaran Strategis AABG. Dia membantu perusahaan berhasil menjadi berbasis data.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS