اصول یادگیری ماشین - یادگیری ماشین چگونه کار می کند؟
- مهندسی ویژگی
- شرایط کلیدی
- منحنی های دقیق و ROC
- توزیع نمره
- محاسبه دقت و یادآوری
- بهبود عملکرد با قوانین و بررسی های دستی
شتاب گسترده اخیر در تجارت الکترونیک، افزایش مشابهی را در تقلب در پرداخت های آنلاین ایجاد کرده است. در سرتاسر جهان، تقلب سالانه بیش از 20 میلیارد دلار برای کسب وکارها هزینه دارد. به علاوه، به ازای هر دلاری که در اثر کلاهبرداری از دست می رود، هزینه کل کسب وکارها به دلیل افزایش هزینه های عملیاتی، هزینه های شبکه و ریزش مشتری در واقع بسیار بیشتر است.
نه تنها تقلب گران است، بلکه کلاهبرداران پیچیده دائماً در حال یافتن راه های جدیدی برای بهره برداری از نقاط ضعف هستند و مبارزه با تقلب را به چالش می کشد. به همین دلیل است که رادار Stripe را ساختیم، یک راه حل پیشگیری از کلاهبرداری مبتنی بر یادگیری ماشین، که به طور کامل در پلت فرم Stripe یکپارچه شده است. یادگیری ماشینی رادار از داده های صدها میلیارد دلاری در پرداخت های پردازش شده در سراسر شبکه Stripe هر ساله استفاده می کند تا به دقت تقلب را شناسایی کند و سریع با آخرین روندها سازگار شود و به شما امکان می دهد بدون افزایش تقلب رشد کنید.
این راهنما رادار Stripe و نحوه استفاده از شبکه Stripe برای کشف تقلب را معرفی می کند، مروری بر تکنیک های یادگیری ماشینی که استفاده می کنیم، توضیح می دهد که چگونه در مورد کارایی و عملکرد سیستم های تشخیص تقلب فکر می کنیم، و چگونگی سایر ابزارهای مجموعه رادار را توضیح می دهد. می تواند به کسب و کارها کمک کند تا عملکرد کلاهبرداری خود را بهینه کنند.
آشنایی با کلاهبرداری کارت اعتباری آنلاین
زمانی که دارنده کارت هزینه را تأیید نکند، پرداخت تقلبی تلقی می شود. به عنوان مثال، اگر یک کلاهبردار با استفاده از شماره کارت سرقت شده که گزارش نشده است، خریدی انجام دهد، ممکن است پرداخت با موفقیت انجام شود. سپس، هنگامی که دارنده کارت متوجه استفاده متقلبانه از کارت شد، با طرح اختلاف (که به عنوان «بازپرداخت وجه» نیز شناخته می شود) پرداخت را با بانک خود زیر سؤال می برد.
کسب وکارها می توانند با ارائه مدرکی که نشان می دهد پرداخت معتبر بوده است، بازپرداخت وجه را به چالش بکشند. با این حال، برای تراکنش های بدون کارت، اگر شبکه ها تشخیص دهند که پرداخت واقعاً تقلبی بوده است، دارنده کارت برنده خواهد شد و کسب وکار مسئول از دست دادن کالا و سایر هزینه ها خواهد بود.
از نظر تاریخی ، مشاغل برای پیش بینی و مسدود کردن اتهامات کلاهبرداری از قوانین بی رحمانه استفاده کرده اند. با این حال ، قوانین سخت کد-به عنوان مثال ، مسدود کردن تمام کارتهای اعتباری مورد استفاده در خارج از کشور-ممکن است منجر به مسدود کردن بسیاری از معاملات خوب شود. از طرف دیگر ، یادگیری ماشین می تواند الگوهای ظریف تری را تشخیص دهد تا به شما در حداکثر رساندن درآمد کمک کند. در مجالس یادگیری ماشین ، منفی کاذب زمانی است که سیستم چیزی را که برای تشخیص طراحی شده است از دست می دهد - در این مورد ، یک معامله کلاهبرداری. مثبت کاذب وقتی سیستم چیزی را که نباید داشته باشد ، پرچم گذاری می کند - به عنوان مثال ، یک مشتری مشروع را مسدود می کند. قبل از اینکه به جزئیات یادگیری ماشین بپردازیم ، درک مبادلات مربوط به آن مهم است.
با منفی های دروغین ، مشاغل غالباً مسئولیت مبلغ اصلی معامله به علاوه هزینه های بازپرداخت (هزینه مرتبط با بانک معکوس پرداخت کارت) ، هزینه های بالاتر شبکه در نتیجه اختلاف و هزینه های عملیاتی بالاتر از بررسی هزینه ها یا مبارزه با اختلافات را بر عهده دارند. به علاوه ، اگر اختلافات زیادی را متحمل شده اید ، می توانید در یک برنامه نظارت بر شارژ شبکه به پایان برسید ، که می تواند منجر به هزینه های بالاتر یا در برخی موارد عدم توانایی در پذیرش پرداخت کارت شود.
مبادله ای بین جلوگیری از اختلافات بیشتر (منفی های دروغین) و کاهش مسدود کردن مشتریان مشروع (مثبت کاذب) وجود دارد - تعداد کمتری که از اولی دارید ، بیشتر برای تحمل دومی (و برعکس) نیاز دارید. هنگامی که از تقلب بیشتر جلوگیری می کنید ، تعداد مشتری های خوب مسدود شده را افزایش می دهید. از طرف دیگر ، کاهش تعداد مثبت کاذب اغلب احتمال کاهش کلاهبرداری واقعی را از طریق ترک ها افزایش می دهد. مشاغل باید تصمیم بگیرند که چگونه این دو را بر اساس حاشیه ، مشخصات رشد و سایر عوامل خود متعادل کنند.
اگر حاشیه مشاغل کوچک باشد (به عنوان مثال ، اگر غذا را بصورت آنلاین بفروشید) ، ممکن است هزینه معامله کلاهبرداری با صدها معاملات خوب جبران شود - هر یک از منفی کاذب بسیار گران است. مشاغل دارای این پروفایل ممکن است هنگام تلاش برای متوقف کردن کلاهبرداری احتمالی ، به سمت ریخته گری یک شبکه گسترده تکیه دهند. از طرف دیگر ، اگر حاشیه مشاغل زیاد باشد ، برای یک تجارت SaaS بگویید ، برعکس درست است. درآمد از دست رفته از یک مشتری مسدود شده مشروع ممکن است از هزینه افزایش کلاهبرداری بیشتر باشد.
رادار نوار و شبکه راه راه
Stripe صدها میلیارد دلار پرداخت از میلیون ها مشاغل را پردازش می کند و هر سال با هزاران بانک شریک در سراسر جهان تعامل دارد. این مقیاس بدان معنی است که ما اغلب می توانیم سیگنال ها و الگوهای را خیلی زودتر از شبکه های کوچکتر ببینیم. داده های جمع آوری شده مربوط به کلاهبرداری از کلیه معاملات راه راه - که به طور خودکار از طریق جریان پرداخت جمع می شوند - برای بهبود توانایی تشخیص کلاهبرداری ما استفاده می شود. سیگنالهایی مانند کشوری که کارت در آن صادر شده است یا آدرس IP که از آن پرداخت انجام شده است ، هنگام پیش بینی اینکه آیا این پرداخت احتمالاً کلاهبرداری است ، بینش ارزشمندی ارائه می دهد.
برخوردهای قبلی با کارت در سراسر شبکه Stripe نیز مقدار قابل توجهی از داده ها را برای آگاهی از ارزیابی های ریسک ما ارائه می دهد. نود درصد کارتهای مورد استفاده در شبکه راه راه بیش از یک بار دیده شده است ، و داده های بسیار غنی تری به ما می دهد تا ارزیابی هایی را در مورد اینکه آیا از آنها به طور قانونی استفاده می شود یا کلاهبرداری می کنیم ، ارائه دهیم.
یکی دیگر از مزیت های مهم یادگیری ماشین ما این است که رادار به طور مستقیم در نوار ساخته شده و خارج از جعبه کار می کند. سایر راه حل های پیشگیری از کلاهبرداری به طور کلی نیاز به مقدار قابل توجهی از سرمایه گذاری های پیشرو و مداوم دارند. اول ، مشاغل باید با محصول کلاهبرداری ادغام شوند. این شامل کار مهندسی برای ارسال اطلاعات در مورد رویدادها و پرداخت های مربوطه است. دوم ، مشاغل باید یکپارچه سازی را برای تصویب برچسب های پرداخت - طبقه بندی اینکه آیا معامله کلاهبرداری بوده یا خیر ، از پردازنده پرداخت آنها گرفته تا ارائه دهنده کلاهبرداری خود یا پرداخت دستی خود ، که می تواند فوق العاده وقت گیر و مستعد خطا باشد ، تکمیل کنند. از طرف دیگر ، رادار اطلاعات "حقیقت زمینی" را مستقیماً از جریان معمول پرداخت نوار دریافت می کند و به طور مستقیم و دقیق مستقیماً از شبکه های کارت و صادرکنندگان به داده های به موقع و دقیق می رود - زمان مهندسی یا کدگذاری لازم نیست.
بیایید با نگاهی دقیق تر به یادگیری ماشین و نحوه استفاده از آن در Stripe شیرجه بزنیم.
اصول یادگیری ماشین
یادگیری ماشین به بدنه ای از تکنیک ها برای گرفتن مقادیر زیادی از داده ها و استفاده از آن داده ها برای تولید مدل هایی که نتایج را پیش بینی می کنند ، اشاره دارد ، مانند احتمال اینکه یک بار یک بار منجر به اختلاف تقلب شود.
یکی از برنامه های اصلی یادگیری ماشین پیش بینی است: ما می خواهیم با توجه به برخی از مقادیر ورودی ، مقدار برخی از متغیر خروجی را پیش بینی کنیم. در مورد ما ، مقدار خروجی صحیح است اگر پرداخت کلاهبرداری و نادرست باشد (چنین مقادیر باینری Booleans نامیده می شود) ، و نمونه ای از مقدار ورودی می تواند کشوری باشد که کارت در آن صادر شده یا تعداد کشورهای مجزا که در آندر روز گذشته از کارت در شبکه Stripe استفاده شده است. ما تعیین می کنیم که چگونه می توان پیش بینی را بر اساس نمونه های قبلی داده های ورودی و خروجی انجام داد.
داده های مورد استفاده برای آموزش (یا تولید) مدل ها شامل سوابق (که اغلب از داده های تاریخی بدست می آیند) با مقدار خروجی و مقادیر مختلف ورودی همانطور که در زیر (بسیار ساده) داریم) تشکیل شده است:

وقتی معامله جدیدی را مشاهده می کنیم ، به مقادیر ورودی نگاه می کنیم و درخت "سبک 20-questions" را طی می کنیم تا اینکه به یکی از برگهای آن برسیم. هر برگ از تمام نمونه های موجود در مجموعه داده ها (جدول فوق) تشکیل شده است که جفت های پاسخ به سؤال در طول مسیری را که در پایین درخت دنبال کرده ایم ، رضایت می دهد و احتمال اینکه فکر کنیم معامله جدید کلاهبرداری است ، تعداد نمونه های برگ استکه تقلب شده توسط تعداد کل نمونه های برگ تقسیم می شوند. به عبارت دیگر ، درخت به این سؤال پاسخ می دهد ، "از معاملات موجود در مجموعه داده های ما با خواصی مشابه با معامله ای که اکنون بررسی می کنیم ، چه کسری واقعاً کلاهبرداری بود؟"بخش یادگیری ماشین به ساخت درخت مربوط می شود - از چه سؤالاتی می خواهیم ، به چه ترتیب ، این شانس را برای حداکثر رساندن دقیق بین این دو کلاس به طور دقیق به حداکثر برسانیم؟درختان تصمیم گیری به ویژه در مورد تجسم و استدلال در مورد آن آسان هستند ، اما الگوریتم های مختلف یادگیری وجود دارد که هر کدام روش منحصر به فرد خود را برای نشان دادن روابطی که ما سعی در مدل سازی داریم.
مدل های یادگیری ماشین امروز شیوع دارند - قدرتمند ، در پشت صحنه ، بسیاری از محصولاتی که ما اغلب با آنها در تعامل هستیم - و به طور کلی بسیار پیچیده تر از مدل اسباب بازی فوق:
- گوگل با دقت و دقیقاً پیشنهادات املایی را با "منظور شما؟"ویژگی در جستجو با استفاده از یادگیری ماشین برای مدل سازی میلیون ها پارامتر مربوط به زبان در کمتر از سه ثانیه.
- آمازون از یادگیری ماشین برای پیش بینی خریدها با سیستم توصیه خود بر اساس نیازها ، ترجیحات و تغییر رفتارهای کاربران در کل سیستم عامل خود استفاده می کند ، حتی برای کاربران جدید و بدون اطلاعات تاریخی.
و ، مهمترین آن برای این بحث ، یادگیری ماشین پایه ای برای رادار نوار است که به دنبال پیش بینی کدام یک از پرداخت های شما کلاهبرداری است.
یادگیری ماشین چگونه کار می کند؟
دوره های یادگیری ماشین آکادمیک معمولاً روی فرآیند مدل سازی متمرکز خواهند شد - روشهای ترجمه داده ها (به عنوان مثال ، جدول فوق) به مدل ها (به عنوان مثال ، درخت تصمیم گیری) ، که الگوریتم هایی هستند که به شما می گویند چگونه مقادیر ورودی (کشور که در آن قرار دارداین کارت صادر شد ، تعداد کشورهایی که از کارت استفاده شده است و غیره) نقشه برای مقادیر خروجی (آیا این معامله کلاهبرداری بود یا نه؟). فرایندی که جدول داده های ورودی را در بالا می گیرد و درخت "بهترین" را تولید می کند ، نمونه ای از یک روش یادگیری ماشین خاص است. مدل سازی شامل چندین مرحله است که به ماهیت داده های شما و مدلهایی که برای استفاده از آنها انتخاب کرده اید بستگی دارد. در حالی که ما به جزئیات زیادی نمی رویم ، یک نمای کلی سطح بالا به شرح زیر است.
اول ، ما باید داده های آموزشی را بدست آوریم. قبل از اینکه بتوانیم به طور خودکار کلاهبرداری را شروع کنیم ، به یک مجموعه داده با نمونه هایی از آن نیاز داریم. برای هر مثال ، ما باید طیف وسیعی از خصوصیات ورودی را ضبط کرده ایم (یا قادر به محاسبه گذشته نگر) باشد که می تواند در پیش بینی های آینده در مورد مقدار خروجی مفید باشد. این خصوصیات ورودی ویژگی ها نامیده می شوند. جمع آوری ورودی ها با هم برای یک نمونه خاص یک بردار ویژگی است. در مثال ما در بالا ، بردار ویژگی طول سه (کشوری که کارت در آن صادر شده است ، تعداد کشورهایی که در آن کارت در روز گذشته استفاده شده است و مبلغ پرداخت به دلار).
با این حال ، بردارهای ویژگی با صدها یا هزاران ویژگی غیر معمول نیستند. در حقیقت ، رادار از صدها ویژگی استفاده می کند و بیشتر آنها سنگدانه هایی هستند که از سراسر شبکه راه راه محاسبه می شوند. با گسترش اندازه شبکه ما ، هر ویژگی آموزنده تر می شود زیرا داده های آموزش ما نماینده کل مجموعه داده های ویژگی ، از جمله تمام داده های غیر نوار است. مقدار خروجی - در مثال در حال اجرا ما ، بولی در مورد اینکه آیا این معامله کلاهبرداری بوده یا خیر ، اغلب به عنوان هدف یا برچسب خوانده می شود. بنابراین داده های آموزش از تعداد زیادی بردار ویژگی و مقادیر خروجی مربوطه آنها تشکیل شده است.
دوم ، ما باید یک مردل را آموزش دهیم. با توجه به داده های آموزش ، ما به روشی برای تولید مدل پیش بینی کننده خود نیاز داریم. طبقه بندی کننده های یادگیری ماشین به طور کلی فقط یک برچسب کلاس را تولید نمی کنند - آنها به طور معمول احتمالات را اختصاص می دهند که نمونه داده شده متعلق به هر کلاس ممکن است. به عنوان مثال ، خروجی طبقه بندی کلاهبرداری ممکن است ارزیابی ای باشد که پرداخت 65 ٪ شانس کلاهبرداری و 35 ٪ احتمال مشروعیت دارد.
بسیاری از تکنیک های یادگیری ماشین وجود دارد که می تواند برای آموزش مدل ها استفاده شود. برای اکثر برنامه های یادگیری ماشین صنعتی ، رویکردهای سنتی مانند رگرسیون خطی ، درختان تصمیم گیری یا جنگل های تصادفی بسیار خوب است.
با این حال ، تکنیک های پیشرفته ، یعنی شبکه های عصبی و یادگیری عمیق ، با الهام از معماری نورونها در مغز ، مسئولیت پیشرفت های بسیاری در این زمینه از جمله پیش بینی های آلفافولد برای 98 ٪ از کل پروتئین های انسانی را بر عهده دارند. مزایای واقعی شبکه های عصبی فقط زمانی حاصل می شود که در مجموعه داده های بسیار بزرگ آموزش دیده اند ، بنابراین در عمل ، بسیاری از مشاغل قادر به استفاده کامل از آنها نیستند. به دلیل اندازه شبکه ما ، Stripe قادر به استفاده از این رویکرد برجسته تر برای ارائه نتایج واقعی به کاربران ما است. مدلهای جدید ما عملکرد یادگیری ماشین رادار را بیش از 20 ٪ نسبت به سال گذشته بهبود بخشیده اند و به ما کمک می کنند تا ضمن کم نگه داشتن مثبت کاذب ، کلاهبرداری بیشتری را تشخیص دهیم.
مهندسی ویژگی
یکی از مهمترین بخش های یادگیری ماشین های صنعتی مهندسی ویژگی است. مهندسی ویژگی از دو بخش تشکیل شده است: (1) فرمولاسیون ویژگی هایی که دارای ارزش پیش بینی بر اساس دانش گسترده از دامنه مشکل و (2) مهندسی هستند تا مقادیر این ویژگی ها را هم برای آموزش مدل و هم برای ارزیابی مدل در "تولید" در دسترس قرار دهند."
در تدوین یک ویژگی ، یک دانشمند داده نوار ممکن است یک شکار داشته باشد که یک ویژگی مفید این باشد که آیا پرداخت کارت از یک آدرس IP که برای آن کارت رایج است ، محاسبه می شود. به عنوان مثال ، پرداخت کارت که از آدرس های IP که قبلاً دیده می شود (مانند خانه یا محل کار دارنده کارت) که نسبت به اینکه آدرس IP از یک کشور متفاوت باشد ، جعلی است. در این حالت ، این ایده بصری است ، اما به طور کلی این هانچ ها از بررسی هزاران مورد کلاهبرداری ناشی می شوند. به عنوان مثال ، شما ممکن است تعجب کنید که می آموزید که محاسبه تفاوت بین زمان در دستگاه کاربر و زمان جهانی هماهنگ فعلی (UTC) یا تعداد کشورهایی که در آن کارت با موفقیت مجاز بوده است به تشخیص کلاهبرداری کمک می کند.
همه ویژگی ها توسط مهندسین دست ساز نیستند. برخی از آنها می توانند قبل از استقرار ، مدل را با آزمایش های بعدی محاسبه کنند. ارزشهای طبقه بندی شده ، مانند کشور مبدا کارت یا بازرگانی که معامله را پردازش می کردند (بر خلاف ویژگی های عددی) ، خود را به خوبی به این رویکرد وام می دهند. این ویژگی ها اغلب دارای طیف گسترده ای از ارزش ها هستند و تعریف نمایش خوب برای آنها می تواند چالش برانگیز باشد.
در Stripe ، ما مدل های خود را آموزش می دهیم تا بر اساس الگوهای معامله ، تعبیه برای هر بازرگان را بیاموزیم. تعبیه را می توان به عنوان مختصات بازرگان فردی در مقایسه با دیگران تصور کرد. بازرگانان مشابه اغلب تعبیه های مشابهی دارند (همانطور که با فاصله کنجین اندازه گیری می شود) ، به مدل اجازه می دهد یادگیری ها را از یک بازرگان به دیگری منتقل کند. جدول زیر نشان می دهد که چگونه این تعبیه ها می توانند به نظر برسند ، با توجه به اینکه Uber و Lyft احتمالاً بیشتر از یکدیگر شبیه به Slack هستند. در Stripe ، ما از تعبیه برای انواع ویژگی های طبقه بندی شده مانند صدور بانک ، بازرگان و کشور کاربر ، روز هفته و موارد دیگر استفاده می کنیم.

Let’s start by supposing we’ve created a policy to block a payment if the machine leaing model assigns the transaction a probability of being fraudulent of at least 0.7. (We write this as P(fraud)>0. 7). در اینجا مقادیر مفید برای استدلال در مورد عملکرد مدل و خط مشی ما ارائه شده است:
- Precision: The precision of our policy is the fraction of transactions we block that are actually fraudulent. The higher the precision is, the fewer false positives there are. Let’s say out of 10 transactions, P(fraud)>0. 7 برای شش و از این شش ، چهار نفر در واقع کلاهبرداری هستند. دقت سپس 4/6 = 0. 66 است.
- Recall: Also known as sensitivity or the true positive rate, recall is the fraction of all fraud that is caught by our policy; that is, the fraction of fraud for which P(fraud)>0.7. The higher the recall is, the fewer false negatives there are. Let’s say out of 10 transactions, five are actually fraudulent. If four of these transactions are assigned a P(fraud)>0. 7 توسط مدل ما ، سپس یادآوری 4/5 = 0. 8 است.
- False positive rate: The false positive rate is the fraction of all legitimate payments that are incorrectly blocked by our policy. Let’s say out of 10 transactions, five are legitimate. If two of these transactions are assigned a P(fraud)>0. 7 توسط مدل ما ، سپس نرخ مثبت کاذب 2/5 = 0. 4 است.
در حالی که مقادیر دیگری نیز وجود دارد که هنگام ارزیابی طبقه بندی کننده استفاده می شود ، ما روی این سه مورد تمرکز خواهیم کرد.
منحنی های دقیق و ROC
سوال طبیعی بعدی این است که مقادیر خوبی برای دقت ، فراخوان و نرخ مثبت کاذب چیست. در یک دنیای ایده آل ، دقت 1. 0 خواهد بود (یعنی 100 ٪ از معاملات که شما به عنوان کلاهبرداری طبقه بندی می کنید در واقع کلاهبرداری هستند) ، این باعث می شود نرخ مثبت کاذب شما 0 باشد (شما به طور نادرست یک معامله مشروع را به عنوان کلاهبرداری طبقه بندی نکردید)، و فراخوان نیز 1. 0 خواهد بود (100 ٪ کلاهبرداری به این ترتیب مشخص می شود).
در واقعیت ، بین دقت و فراخوان تجارت وجود دارد - زیرا آستانه احتمال مسدود کردن را افزایش می دهید ، دقت افزایش می یابد (از آنجا که معیار مسدود کردن دقیق تر است) و فراخوان کاهش می یابد (از آنجا که کمتر معاملات با معیار احتمال زیاد مطابقت دارد). برای یک مدل معین ، یک منحنی با کیفیت دقیق ، تجارت را بین دقت و فراخوان ضبط می کند زیرا آستانه سیاست متنوع است:

همانطور که مدل ما به طور کلی بهتر می شود - به دلیل آموزش داده های بیشتر و بیشتر از سراسر شبکه Stripe، افزودن ویژگی هایی که پیش بینی کننده های خوبی برای تقلب هستند، و بهینه سازی پارامترهای دیگر مدل - منحنی فراخوانی دقیق تغییر خواهد کرد، همانطور که در مثال بالا نشان داده شده است. از آنجایی که مبادلات تجاری را در Stripe کنترل می کند، زمانی که دانشمندان داده و مهندسان یادگیری ماشین مدل ها را اصلاح می کنند، تأثیر آن بر منحنی فراخوان دقیق را از نزدیک زیر نظر داریم.
هنگام در نظر گرفتن یک نمودار فراخوان دقیق، مهم است که بین دو مفهوم "عملکرد" تمایز قائل شویم. به خودی خود، هر چه یک مدل به سمت راست بالای نمودار نزدیکتر باشد، به طور کلی بهتر است (یعنی جایی که دقت و یادآوری هر دو 1. 0 هستند). با این حال، عملیاتی کردن یک مدل معمولاً به انتخاب یک نقطه عملیاتی در منحنی فراخوان دقیق (در مورد ما، آستانه سیاست برای مسدود کردن یک تراکنش) نیاز دارد، که تأثیر مشخصی را با استفاده از مدل بر یک تجارت کنترل می کند.
به زبان ساده، دو مشکل وجود دارد:
- مشکل علم داده تولید یک مدل یادگیری ماشین خوب با افزودن ویژگی های مناسب. این مدل شکل منحنی فراخوان دقیق را کنترل می کند.
- مشکل کسب و کار انتخاب خط مشی برای تعیین میزان تقلب احتمالی برای مسدود کردن. خط مشی کنترل می کند که در کجای منحنی کار می کنیم.
منحنی دیگری که هنگام ارزیابی مدل یادگیری ماشین بررسی می شود، منحنی ROC است.(ROC مخفف «ویژگی عملکرد گیرنده» است، که یادگاری از منشاء منحنی در کاربردهای پردازش سیگنال است.) منحنی ROC نموداری از نرخ مثبت کاذب (روی محور x) و نرخ مثبت واقعی (که برابر است). همانند فراخوانی) در محور y برای مقادیر مختلف آستانه سیاست.

ROC ایده آل سمت چپ بالای نمودار را در آغوش می گیرد (که در آن فراخوان 1. 0 و نرخ مثبت کاذب 0. 0 است)، و با بهبود مدل، ROC بیشتر در آن جهت حرکت می کند. یکی از راه های دریافت کیفیت کلی مدل، محاسبه سطح زیر منحنی (یا AUC) است. در حالت ایده آل، AUC 1. 0 خواهد بود. هنگام توسعه مدل هایمان، به دنبال این هستیم که ببینیم منحنی فراخوان دقیق، منحنی ROC و AUC چگونه تغییر می کند.
توزیع نمره
تصور کنید که ما مدلی داریم که به طور تصادفی احتمال تقلب بین 0. 0 و 1. 0 را به یک تراکنش اختصاص می دهد. عملاً، این مدل هیچ تمایزی بین معاملات مشروع و جعلی انجام نمی دهد و برای ما کاربرد چندانی ندارد. این تصادفی با توزیع امتیاز مدل - کسری از تراکنش هایی که هر امتیاز ممکن را به دست می آورند، نشان داده می شود. در حالت کاملا تصادفی، توزیع امتیاز نزدیک به یکنواخت خواهد بود:

به عنوان مثال، اگر مدل فاقد ویژگی هایی باشد که حتی از راه دور تقلب را پیش بینی کند، یک مدل توزیع امتیاز یکنواختی مانند موارد بالا خواهد داشت. همانطور که یک مدل بهبود می یابد - با افزودن ویژگی های پیش بینی، آموزش داده های بیشتر و غیره - قدرت آن برای تمایز بین کلاس های متقلب و قانونی افزایش می یابد و توزیع امتیاز دووجهی تر می شود، با پیک هایی در حدود امتیازهای 0. 0 و 1. 0..

به خودی خود، یک توزیع دووجهی به شما نمی گوید که یک مدل خوب است.(یک مدل خالی که به طور تصادفی احتمالات فقط 0. 0 و 1. 0 را اختصاص می دهد، توزیع امتیاز دووجهی نیز خواهد داشت.) با این حال، با وجود شواهدی مبنی بر اینکه تراکنش های با امتیاز پایین تقلبی نیستند و تراکنش هایی با امتیاز بالا تقلبی هستند، به طور فزاینده ای دووجهی است. توزیع نشانه بهبود کارایی یک مدل است.
مدل های مختلف اغلب دارای توزیع امتیاز متفاوتی هستند. وقتی مدل های جدید را منتشر می کنیم، توزیع های قدیمی و به روز شده را با هم مقایسه می کنیم تا تغییرات مخرب ناشی از تغییر ناگهانی امتیازات را به حداقل برسانیم. به ویژه، ما سیاست های بلاک فعلی تاجران را که با آستانه مسدود کردن تراکنش ها اندازه گیری می شود، در نظر می گیریم و هدف آن این است که نسبت تراکنش هایی را که بالاتر از آستانه قرار می دهند، ثابت نگه داریم.
محاسبه دقت و یادآوری
We can compute the metrics above in two different contexts: during model training, using the historical data that drives the model development process, and after model deployment, using production data; that is, data from the world when the model is already being used to take action by, say, blocking transactions if P(fraud)>0. 7.
برای اولی، دانشمندان داده معمولاً داده های آموزشی را که در اختیار دارند (به جدول بالا مراجعه کنید) می گیرند و به طور تصادفی بخشی از رکوردها را به یک مجموعه آموزشی و بقیه رکوردها را به یک مجموعه اعتبار سنجی اختصاص می دهند. می توان تصور کرد که 80٪ اول ردیف ها به عنوان مثال اولی و 20٪ آخر به دومی می روند.
مجموعه آموزش داده هایی است که در یک روش یادگیری ماشین تغذیه می شود تا الگویی را همانطور که در بالا توضیح داده شد ، تولید کند. پس از داشتن یک مدل نامزد ، می توانیم از آن برای اختصاص هر نمونه در مجموعه اعتبار سنجی استفاده کنیم. نمرات مجموعه اعتبار سنجی همراه با مقادیر خروجی آنها برای محاسبه منحنی های ROC و دقت ، توزیع نمره و غیره استفاده می شود. دلیل استفاده از یک مجموعه اعتبار سنجی جداگانه که از مجموعه آموزش خارج شده است این است که این مدل قبلاً "پاسخ" را برای نمونه های آموزشی خود دیده و از این پاسخ ها آموخته است. یک مجموعه اعتبار سنجی به ما کمک می کند تا معیارهایی را ایجاد کنیم که یک اندازه گیری دقیق از قدرت پیش بینی کننده مدل بر روی داده های جدید باشد.
عملیات یادگیری ماشین: استقرار مدل ها با خیال راحت و مکرر
هنگامی که عملکرد یک مدل نشان داده شده است که از مدل تولید فعلی در یک مجموعه نگه داشته شده فراتر می رود ، مرحله بعدی استقرار آن به تولید است. دو چالش اساسی برای این فرآیند وجود دارد:
- محاسبات در زمان واقعی: ما باید بتوانیم ارزش هر ویژگی را برای هر پرداخت جدید در زمان واقعی محاسبه کنیم زیرا می خواهیم بتوانیم تمام معاملات را که طبقه بندی کننده ما معتقد است تقلب کند ، مسدود کنیم. این محاسبات کاملاً جدا از نمونه ای است که برای تولید داده های آموزشی استفاده می شود-ما باید یک حالت به روز را در دو آدرس IP که اغلب مورد استفاده قرار می گیرد برای هر کارت که تاکنون در Stripe دیده می شود ، حفظ کنیم ، و باید این تعداد را بدست آوریم و به روز کنیم. سریع زیرا این عملیات به عنوان بخشی از جریان API Stripe اتفاق می افتد. تیم های زیربنایی یادگیری ماشین در Stripe با مشخص کردن ویژگی ها به روش اعلامی و ساخت مقادیر فعلی ویژگی های موجود در تولید با تأخیر کم ، این کار را آسانتر کرده اند.
- کاربرد کاربر دنیای واقعی: استقرار یک مدل یادگیری ماشینی با استقرار کد متفاوت است. در حالی که تغییرات کد اغلب با موارد آزمایشی دقیق تأیید می شوند، تغییرات مدل معمولاً روی یک مجموعه داده کل بزرگ با استفاده از معیارهایی مانند مواردی که در بالا تعریف کردیم آزمایش می شوند. اما مدلی که در جمع آوری کلاهبرداری بهتر باشد، ممکن است برای هر کاربر Stripe بهتر نباشد. ممکن است بهبود عملکرد به طور نابرابر توزیع شود، به طوری که تعداد کمی از بازرگانان بزرگ شاهد سودهای بزرگ هستند در حالی که بسیاری از بازرگانان کوچک رگرسیون های کوچک را مشاهده می کنند. یک مدل ممکن است یادآوری بالاتری داشته باشد اما باعث افزایش نرخ بلوک شود که برای کسب وکارها (و مشتریان آن ها) مختل خواهد بود. قبل از اینکه یک مدل را منتشر کنیم، بررسی می کنیم که در عمل عملکرد خوبی دارد. برای انجام این کار، تغییری که هر مدل در معیارهای مختلفی ایجاد می کند، مانند نرخ مثبت کاذب، نرخ بلوک، و نرخ مجوز را به صورت انبوه و به ازای هر تاجر برای زیرمجموعه ای از کاربران Stripe اندازه گیری می کنیم. اگر متوجه شدیم که یک مدل جدید باعث تغییر نامطلوب در یکی از معیارهای حفاظ می شود، قبل از انتشار آن را برای زیرمجموعه های مختلف کاربران تنظیم می کنیم تا اختلالات را به حداقل برسانیم و از عملکرد بهینه اطمینان حاصل کنیم.
ما دریافته ایم که خودکار کردن هرچه بیشتر فرآیند آموزش و ارزیابی، مزایای ترکیبی را برای مدل سازی سرعت تکرار فراهم می کند. در سال گذشته، ما روی ابزارهایی سرمایه گذاری کرده ایم تا به طور خودکار و منظم مدل ها را با استفاده از آخرین ویژگی ها و معماری مدل خود آموزش، تنظیم و ارزیابی کنیم. به عنوان مثال، ما داشبوردهای عملکرد را به طور مداوم پس از آموزش یک مدل - قبل از انتشار آن به روز می کنیم. به این ترتیب، یک مهندس به راحتی می تواند تشخیص دهد که آیا یک کاندیدای مدل در زیرمجموعه ای از ترافیک حتی قبل از آزاد کردن آن بیات شده است یا خیر و فعالانه آن را دوباره آموزش دهد.
پس از انتشار یک مدل، عملکرد آن را زیر نظر می گیریم و شروع به کار روی نسخه بعدی می کنیم. از آنجایی که روندهای کلاهبرداری به سرعت تغییر می کند، مدل های یادگیری ماشین به سرعت شروع به تجربه انحراف می کنند: داده هایی که آنها بر روی آنها آموزش دیده اند دیگر نماینده تقلب امروزی نیستند.
با استفاده از این ابزارها ، ما سرعتی را که در آن مدل ها منتشر می کنیم سه برابر کرده ایم و به طور مستقیم به سود عملکرد زیادی در تولید ترجمه می کنیم. در حقیقت ، حتی بازآفرینی یک مدل از ماه گذشته بر روی داده های اخیر (با استفاده از همان تعاریف ویژگی و معماری) و انتشار آن به ما این امکان را می دهد تا هر ماه به اندازه نیمی از درصد امتیاز فراخوان خود را افزایش دهیم. قادر به انتشار مدلها به طور مکرر و با خیال راحت به ما این امکان را می دهد تا سودهای مهندسی و مدل سازی ویژگی ها را به دست آوریم و از آن استفاده کنیم و با تغییر الگوهای کلاهبرداری برای کاربران رادار سازگار شویم.
ما فقط چند مورد از اقدامات اثربخشی مدل را توصیف کرده ایم که دانشمندان و مهندسان یادگیری ماشین هنگام توسعه مدلهای یادگیری ماشین به آنها نگاه می کنند. در مرحله بعد ، ما در مورد چگونگی فکر کردن مشاغل در مورد پیشگیری از کلاهبرداری صحبت خواهیم کرد.
چگونه نوار می تواند کمک کند
تثبیت فقط یک شماره برای گرفتن عملکرد کلاهبرداری شما ممکن است منجر به انتخاب هایی شود که برای تجارت شما بهینه نباشد. ما دریافتیم که مشاغل غالباً بر منفی های دروغین تأکید می کنند - آنها بسیار نگران کلاهبرداری هستند که از دست رفته است - و بر مثبت های کاذب تأکید می کنند. این طرز فکر اغلب منجر به اقدامات بی اثر و پر هزینه برای نیروی بی رحمانه مانند مسدود کردن کارتهای بین المللی می شود. به طور کلی ، شما باید به این فکر کنید که چگونه همه اقدامات مختلف عملکرد ارتباط دارند و تجارت مناسب به شرایط خاص شما داده می شود. در اینجا نمونه ای از چگونگی ارتباط این معیارها برای کمک به شما در تعیین اثربخشی سیستم پیشگیری از کلاهبرداری خود وجود دارد:
مدل تقریبی برای دقت شکستن
اگر متوسط فروش شما 26 دلار با حاشیه 8 ٪ باشد ، سود شما در هر فروش 26. 00 × 8. 00 ٪ = 2. 08 دلار است. به طور متوسط ، اگر محصول شما 26. 00 دلار هزینه داشته باشد - 2. 08 دلار = 23. 92 دلار برای تولید و هزینه هزینه 15 دلار به شما تعلق می گیرد ، کل ضرر شما برای فروش کلاهبرداری 23. 92 دلار + 15. 00 دلار = 38. 92 دلار است. بنابراین ، یک فروش کلاهبرداری برای شما سود 38. 92 دلار / 2. 08 $ = 18. 71 فروش قانونی برای شما دارد ، و دقت یکنواخت شما 1 / (1 + 18. 71) = 5. 07 ٪ است.
آستانه یادگیری ماشین رادار بهینه سازی را برای حاشیه بازرگانان و پایدار نگه داشتن نرخ بلوک در پایگاه کاربر ما انجام می دهد. در صورت استفاده از رادار برای تیم های کلاهبرداری ، می توانید به داشبورد دسترسی پیدا کنید تا ببینید که چگونه یادگیری ماشین رادار برای تجارت شما و همچنین عملکرد قوانین سفارشی خود را انجام می دهد. این ابزارها به شما این امکان را می دهند تا به راحتی نرخ اختلافات تقلب ، نرخ مثبت کاذب و نرخ بلوک را با سایر مشاغل مشابه بر اساس گروههای سفارشی و سفارشی مشاغل که در عمودی یا اندازه های مشابه با شما قرار دارند ، به راحتی مقایسه کنید.

بهبود عملکرد با قوانین و بررسی های دستی
چنین قوانینی را می توان به عنوان "مدلهای" ساده دانست (می توان آنها را به عنوان درختان تصمیم گیری نشان داد!) ، و باید آنها را ارزیابی کرد - با توجه کامل به تجارت بین دقت و فراخوان - به همان روش مدل. هنگامی که شما با رادار یک قانون ایجاد می کنید ، ما آمار تاریخی را در مورد تعداد معاملات تطبیق یافته که در واقع مورد اختلاف ، بازپرداخت یا پذیرفته شده قرار گرفته اند ، ارائه خواهیم داد تا قبل از اجرای قانون ، به کمک این محاسبات کمک کند. پس از زندگی ، می توانید تأثیر بر نرخ مثبت و اختلاف نظر را طبق قانون مشاهده کنید.
به همان اندازه مهم ، قوانین ، مداخلات و بررسی های دستی به کاربران این امکان را می دهد تا با افزودن منطق اختصاصی و تجاری خاص (قوانین) یا با صرف برخی از تلاشهای اضافی (بررسی دستی) ، شکل منحنی ضبط دقیق را به نفع خود تغییر دهند.
اگر می فهمید که الگوریتم های یادگیری ماشین اغلب نوع خاصی از کلاهبرداری را به ویژه برای تجارت شما از دست می دهند (و اینکه کلاهبرداری به راحتی برای شما قابل شناسایی است) ، می توانید یک قانون را برای مسدود کردن آن تنظیم کنید. این مداخله خاص به طور معمول فراخوان را با هزینه کمی به دقت افزایش می دهد ، در واقع حرکت نقطه عملیاتی را در امتداد منحنی با دقت و دقیق تر و مطلوب تر حرکت می دهد.
با ارسال برخی از کلاس های معاملات به مرور دستی به جای مسدود کردن آنها به طور کامل ، می توانید بدون ضربه ای برای یادآوری ، دقت خود را بدست آورید. به همین ترتیب ، با ارسال برخی از معاملات به مرور دستی به جای اجازه دادن به آنها ، می توانید بدون توجه به دقت ، فراخوان را بدست آورید. البته ، در این موارد ، شما این دستاوردها را با کارهای اضافی انسانی (و قرار دادن خود در مورد صحت ارزیابی های تیم خود) پرداخت می کنید ، اما داشتن بررسی دستی ، قوانین و مداخلات برای تأیید اعتبار مشتریان پرخطر به عنوان ابزارهای اضافی به شما می دهدیک اهرم دیگر برای بهینه سازی نتایج کلاهبرداری.