تراکنش های کلاهبرداری را با استفاده از داده های مصنوعی در Amazon SageMaker PlatoBlockchain Data Intelligence افزایش دهید. جستجوی عمودی Ai.

تراکنش های کلاهبرداری را با استفاده از داده های مصنوعی در Amazon SageMaker افزایش دهید

توسعه و آموزش مدل‌های کلاهبرداری موفق یادگیری ماشینی (ML) مستلزم دسترسی به مقادیر زیادی از داده‌های با کیفیت بالا است. منبع یابی این داده ها چالش برانگیز است زیرا مجموعه داده های موجود گاهی به اندازه کافی بزرگ نیستند یا به اندازه کافی بی طرف نیستند که بتوانند مدل ML را به طور مفید آموزش دهند و ممکن است به هزینه و زمان قابل توجهی نیاز داشته باشند. مقررات و الزامات حفظ حریم خصوصی بیشتر از استفاده یا به اشتراک گذاری داده ها حتی در یک سازمان سازمانی جلوگیری می کند. فرآیند مجوز استفاده و دسترسی به داده های حساس اغلب پروژه های ML را به تاخیر می اندازد یا از مسیر خارج می کند. از طرف دیگر، می‌توانیم با تولید و استفاده از داده‌های مصنوعی با این چالش‌ها مقابله کنیم.

داده‌های مصنوعی مجموعه‌های داده مصنوعی ایجاد شده را توصیف می‌کنند که از محتوا و الگوهای موجود در مجموعه داده اصلی تقلید می‌کنند تا به ریسک‌های نظارتی و انطباق، زمان و هزینه‌های منبع‌یابی بپردازند. تولیدکننده‌های داده مصنوعی از داده‌های واقعی برای یادگیری ویژگی‌ها، همبستگی‌ها و الگوهای مربوطه استفاده می‌کنند تا مقادیر موردنیاز داده‌های مصنوعی را با کیفیت‌های آماری مجموعه داده‌های دریافت شده اولیه تولید کنند.

Synthetic Data در محیط های آزمایشگاهی مورد استفاده قرار گرفته است بیش از دو دهه; بازار شواهدی از کاربرد دارد که در حال تسریع پذیرش در بخش های تجاری و عمومی است. گارتنر پیش بینی تا سال 2024، 60 درصد از داده های مورد استفاده برای توسعه ML و راه حل های تجزیه و تحلیل به صورت مصنوعی تولید می شود و استفاده از داده های مصنوعی به طور قابل توجهی افزایش می یابد.

اداره رفتار مالی، یک نهاد نظارتی بریتانیا، اذعان می کند «دسترسی به داده‌ها کاتالیزور نوآوری است و داده‌های مالی ترکیبی می‌تواند نقشی در حمایت از نوآوری داشته باشد و شرکت‌های جدید را قادر به توسعه، آزمایش و نشان دادن ارزش راه‌حل‌های جدید کند».

Amazon SageMaker GroundTruth در حال حاضر پشتیبانی می کند تولید داده های مصنوعی داده های تصویر مصنوعی برچسب گذاری شده این پست وبلاگ به بررسی تولید داده های مصنوعی جدولی می پردازد. داده های ساختاریافته، مانند جداول منفرد و رابطه ای، و داده های سری زمانی، انواعی هستند که اغلب در تجزیه و تحلیل سازمانی با آن مواجه می شوند.

این یک پست وبلاگ دو قسمتی است. ما داده های مصنوعی را در قسمت اول ایجاد می کنیم و کیفیت آن را در آن ارزیابی می کنیم بخش دوم.

در این پست وبلاگ، نحوه استفاده از کتابخانه منبع باز را خواهید آموخت ydata-synthetic و نوت بوک های AWS SageMaker برای ترکیب داده های جدولی برای یک مورد استفاده از کلاهبرداری، که در آن تراکنش های جعلی کافی برای آموزش یک مدل کلاهبرداری با دقت بالا نداریم. روند کلی آموزش مدل تقلب در این مورد پوشش داده شده است پست.

بررسی اجمالی راه حل

هدف این آموزش ترکیب کلاس اقلیت یک مجموعه داده کلاهبرداری کارت اعتباری بسیار نامتعادل با استفاده از یک بهینه سازی شده است. شبکه متخاصم مولد (GAN) نام WGAN-GP برای یادگیری الگوها و ویژگی های آماری داده های اصلی و سپس ایجاد نمونه های بی پایان از داده های مصنوعی که شبیه داده های اصلی است. این فرآیند همچنین می‌تواند برای بهبود داده‌های اصلی با نمونه‌برداری از رویدادهای نادر مانند تقلب یا ایجاد موارد لبه‌ای که در نسخه اصلی وجود ندارد، استفاده شود.

ما از یک مجموعه داده کلاهبرداری کارت اعتباری استفاده می کنیم که توسط ULB، که قابل دانلود است کجگل. تولید داده های مصنوعی برای طبقه اقلیت به رفع مشکلات مربوط به مجموعه داده های نامتعادل کمک می کند، که می تواند به توسعه مدل های دقیق تر کمک کند.

ما از خدمات AWS از جمله Amazon SageMaker و Amazon S3 استفاده می‌کنیم که هزینه‌هایی را برای استفاده از منابع ابری متحمل می‌شوند.

محیط توسعه را تنظیم کنید

SageMaker یک نمونه نوت بوک مدیریت شده Jupyter را برای ساخت مدل، آموزش و استقرار ارائه می دهد.

پیش نیازها:

برای اجرای SageMaker باید یک حساب AWS داشته باشید. میتونی به دستش بیاری آغاز شده با SageMaker و امتحان کنید آموزش های عملی.

برای دستورالعمل‌های مربوط به تنظیم محیط کاری Jupyter Notebook، رجوع کنید به با نمونه های نوت بوک Amazon SageMaker شروع کنید.

مرحله 1: نمونه Amazon SageMaker خود را تنظیم کنید

  1. به کنسول AWS وارد شوید و «SageMaker» را جستجو کنید.
  2. انتخاب کنید استودیو.
  3. انتخاب کنید نمونه های نوت بوک در نوار سمت چپ، و انتخاب کنید ایجاد نمونه نوت بوک.
  4. از صفحه بعد (مطابق تصویر زیر) تنظیمات ماشین مجازی (VM) را با توجه به نیاز خود انتخاب کرده و ایجاد نمونه نوت بوک. توجه داشته باشید که ما از یک VM بهینه شده ML بدون GPU و 5 گیگابایت داده، ml.t3.medium با آمازون Linux 2 و Jupyter Lab 3 هسته استفاده کردیم.
    ایجاد نمونه نوت بوک
  5. یک نمونه نوت بوک در عرض چند دقیقه برای استفاده شما آماده می شود.
  6. انتخاب کنید JupyterLab را باز کنید راه انداختن.
    تراکنش های کلاهبرداری را با استفاده از داده های مصنوعی در Amazon SageMaker PlatoBlockchain Data Intelligence افزایش دهید. جستجوی عمودی Ai.
  7. اکنون که یک JupyterLab با مشخصات مورد نیاز خود داریم، کتابخانه مصنوعی را نصب می کنیم.
pip install ydata-synthetic

مرحله 2: مجموعه داده واقعی را دانلود یا استخراج کنید تا داده های مصنوعی ایجاد کنید

داده های مرجع را دانلود کنید از Kaggle یا به صورت دستی، همانطور که در اینجا انجام می دهیم، یا به صورت برنامه نویسی از طریق Kaggle API اگر یک حساب Kaggle دارید. اگر این مجموعه داده را کاوش کنید، متوجه خواهید شد که کلاس “fraud” حاوی داده های بسیار کمتری نسبت به کلاس “not fraud” است.

اگر از این داده‌ها مستقیماً برای پیش‌بینی‌های یادگیری ماشین استفاده کنید، ممکن است مدل‌ها همیشه یاد بگیرند که «نه تقلب» را پیش‌بینی کنند. یک مدل به راحتی در موارد غیر تقلبی از دقت بالاتری برخوردار است زیرا موارد تقلب نادر است. با این حال، از آنجایی که شناسایی موارد تقلب هدف ما در این تمرین است، اعداد کلاس تقلب را با داده های مصنوعی مدل سازی شده بر اساس داده های واقعی افزایش خواهیم داد.

یک پوشه داده در JupyterLab ایجاد کنید و فایل داده Kaggle را در آن آپلود کنید. این به شما امکان می دهد از داده های موجود در نوت بوک از SageMaker استفاده کنید همراه با ذخیره سازی زمانی که نوت بوک را نمونه برداری می کردید مشخص می کردید.

تراکنش های کلاهبرداری را با استفاده از داده های مصنوعی در Amazon SageMaker PlatoBlockchain Data Intelligence افزایش دهید. جستجوی عمودی Ai.

این مجموعه داده 144 مگابایت است

تراکنش های کلاهبرداری را با استفاده از داده های مصنوعی در Amazon SageMaker PlatoBlockchain Data Intelligence افزایش دهید. جستجوی عمودی Ai.

سپس می توانید داده ها را با استفاده از کد استاندارد از طریق کتابخانه pandas بخوانید:

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

داده‌های کشف تقلب دارای ویژگی‌های خاصی هستند که عبارتند از:

  • عدم تعادل طبقاتی بزرگ (معمولاً نسبت به نقاط داده غیر تقلبی).
  • نگرانی های مربوط به حریم خصوصی (به دلیل وجود داده های حساس).
  • درجه ای از پویایی، به این صورت که یک کاربر مخرب همیشه در تلاش است تا از شناسایی تراکنش های جعلی توسط سیستم های نظارتی جلوگیری کند.
  • مجموعه داده های موجود بسیار بزرگ و اغلب بدون برچسب هستند.

اکنون که مجموعه داده را بررسی کرده اید، بیایید کلاس اقلیت (کلاس «تقلب» از مجموعه داده کارت اعتباری) را فیلتر کرده و در صورت نیاز، تبدیل ها را انجام دهیم. شما می توانید تغییرات داده را از این بررسی کنید دفتر یادداشت.

هنگامی که این مجموعه داده کلاس اقلیت سنتز می شود و به مجموعه داده اصلی اضافه می شود، امکان تولید یک مجموعه داده سنتز شده بزرگتر را فراهم می کند که عدم تعادل در داده ها را برطرف می کند. ما می توانیم به دقت پیش بینی بیشتری دست یابیم آموزش مدل کشف تقلب با استفاده از مجموعه داده جدید

بیایید مجموعه داده های کلاهبرداری جدید را ترکیب کنیم.

مرحله 3: سینت سایزرها را آموزش دهید و مدل را ایجاد کنید

از آنجایی که داده‌ها را به راحتی در SageMaker در دسترس دارید، زمان آن رسیده که مدل‌های GAN مصنوعی خود را به کار ببندید.

یک شبکه متخاصم مولد (GAN) دارای دو بخش است:

La ژنراتور می آموزد که داده های قابل قبولی تولید کند. نمونه های ایجاد شده به نمونه های آموزشی منفی برای ممیز تبدیل می شوند.

La تبعیض کننده یاد می گیرد که داده های جعلی تولید کننده را از داده های واقعی تشخیص دهد. متمایز کننده، مولد را به دلیل تولید نتایج غیرقابل قبول جریمه می کند.

هنگامی که آموزش شروع می شود، مولد داده های آشکارا جعلی تولید می کند و متمایز کننده به سرعت یاد می گیرد که بگوید جعلی است. با پیشرفت آموزش، مولد به تولید خروجی نزدیک‌تر می‌شود که می‌تواند تمایزکننده را فریب دهد. در نهایت، اگر آموزش ژنراتور به خوبی پیش برود، تمایزکننده در تشخیص تفاوت بین واقعی و جعلی بدتر می شود. شروع به طبقه بندی داده های جعلی به عنوان واقعی می کند و دقت آن کاهش می یابد.

هم مولد و هم متمایز کننده شبکه های عصبی هستند. خروجی ژنراتور مستقیماً به ورودی تفکیک کننده متصل می شود. از طریق پس انتشار، طبقه بندی تشخیص دهنده سیگنالی را ارائه می دهد که ژنراتور برای به روز رسانی وزن های خود استفاده می کند.

مرحله 4: نمونه داده های مصنوعی از سینت سایزر

اکنون که مدل خود را ساخته و آموزش داده اید، وقت آن است که داده های مورد نیاز را با تغذیه نویز به مدل نمونه برداری کنید. این به شما امکان می دهد تا به اندازه دلخواه داده مصنوعی تولید کنید.

در این مورد، شما مقدار برابری از داده های مصنوعی را با مقدار داده های واقعی تولید می کنید زیرا این کار مقایسه اندازه های نمونه مشابه در مرحله 5 را آسان تر می کند.

ما این گزینه را داریم که ردیف‌های حاوی تراکنش‌های جعلی را نمونه‌برداری کنیم - که وقتی با داده‌های کلاهبرداری غیر ترکیبی ترکیب می‌شوند، به توزیع مساوی کلاس‌های «تقلب» و «غیر تقلب» منجر می‌شوند. اصلی مجموعه داده Kaggle شامل 492 تقلب از 284,807 تراکنش است، بنابراین نمونه مشابهی را از سینت سایزر ایجاد می کنیم.

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

ما این گزینه را داریم که ردیف‌های حاوی تراکنش‌های جعلی را در فرآیندی به نام افزایش داده‌ها نمونه برداری کنیم - که وقتی با داده‌های کلاهبرداری غیر ترکیبی ترکیب می‌شود، منجر به توزیع برابر کلاس‌های «تقلب» و «غیر تقلب» می‌شود.

مرحله 5: داده های مصنوعی را با داده های واقعی مقایسه و ارزیابی کنید

اگرچه این مرحله اختیاری است، اما می‌توانید با استفاده از نمودار پراکندگی، داده‌های مصنوعی تولید شده را با داده‌های واقعی تجسم و ارزیابی کنید.

این به ما کمک می کند تا مدل خود را با تغییر پارامترها، تغییر اندازه نمونه، و ایجاد تغییرات دیگر برای تولید دقیق ترین داده های مصنوعی تکرار کنیم. این ماهیت دقت همیشه به هدف سنتز بستگی دارد

تصویر زیر نشان می دهد که تقلب واقعی و نقاط داده تقلب مصنوعی در مراحل آموزشی چقدر شبیه هستند. این یک بازرسی کیفی خوب از شباهت بین داده های مصنوعی و واقعی و چگونگی بهبود آن با اجرای آن در دوره های بیشتر (انتقال کل مجموعه داده آموزشی از طریق الگوریتم) ارائه می دهد. توجه داشته باشید که هرچه دوره‌های بیشتری را اجرا می‌کنیم، مجموعه الگوی داده مصنوعی به داده‌های اصلی نزدیک‌تر می‌شود.

تراکنش های کلاهبرداری را با استفاده از داده های مصنوعی در Amazon SageMaker PlatoBlockchain Data Intelligence افزایش دهید. جستجوی عمودی Ai.

مرحله 6: تمیز کردن

در نهایت، برای جلوگیری از هزینه‌های غیرمنتظره، پس از اتمام ساخت، نمونه نوت‌بوک خود را متوقف کنید.

نتیجه

به عنوان الگوریتم های یادگیری ماشین و چارچوب های کدگذاری به سرعت تکامل یابد، داده های با کیفیت بالا در مقیاس کمیاب ترین منبع در ML است. مجموعه داده های مصنوعی با کیفیت خوب را می توان در کارهای مختلف استفاده کرد.

در این پست وبلاگ، اهمیت ترکیب مجموعه داده را با استفاده از یک کتابخانه منبع باز که از آن استفاده می کند، یاد گرفتید WGAN-GP. این یک منطقه تحقیقاتی فعال است که هزاران مقاله در مورد GAN منتشر شده است و صدها GAN نامگذاری شده برای آزمایش در دسترس شماست. انواعی وجود دارد که برای موارد استفاده خاص مانند جداول رابطه ای و داده های سری زمانی بهینه شده اند.

شما می توانید تمام کدهای استفاده شده برای این مقاله را در این مطلب پیدا کنید دفتر یادداشتو البته آموزش های بیشتری از این دست در SageMaker موجود است صفحه اسناد رسمی

در بخش دوم از این مجموعه پست وبلاگ دو قسمتی، ما به بررسی نحوه ارزیابی کیفیت داده های مصنوعی از منظر وفاداری، سودمندی و حریم خصوصی خواهیم پرداخت.


درباره نویسنده

تراکنش های کلاهبرداری را با استفاده از داده های مصنوعی در Amazon SageMaker PlatoBlockchain Data Intelligence افزایش دهید. جستجوی عمودی Ai.فارس حداد رهبر داده ها و بینش ها در تیم پیگیری های استراتژیک AABG است. او به شرکت ها کمک می کند تا با موفقیت به داده محور تبدیل شوند.

تمبر زمان:

بیشتر از آموزش ماشین AWS