سلام به همه دوستان
من کاربر فعال سابق انجمن هستم و امروز بعد از چندین سال مجددا اومدم و سری به اینجا زدم
مطلب ارسالی توسط دوست خوب سابقم که امروز مدیرکل این انجمن هست (و از این بابت واقعا خوشحالم و بهش تبریک میگم) اینجا مطرح شده درباره
تشخیص تقلب و ناهمگونی با الگوریتمهای ردهبندی. واقعیتش این موضوع کلی پیچیدگی پشتش هست، چون ما وقتی میخوایم تقلب رو تشخیص بدیم، فقط به یه مدل ساده فکر نمیکنیم، بلکه چند مرحله کار میکنیم که هم دادهها تمیز بشن هم الگوهای مخفی دیده بشن.
برای شروع، الگوریتمهای ردهبندی مثل درخت تصمیم، جنگل تصادفی، SVM یا حتی الگوریتمهای بردار پشتیبان، کارشون اینه که نمونههای عادی و غیرعادی رو از هم تفکیک کنن. این مدلها وقتی همراه با
ویژگیهای خوب استخراجشده از رفتار کاربر باشن، میتونن رفتارهای مشکوک رو بهتر از قبل شناسایی کنن. مثلاً در معاملات بانکی یا رفتار ورود به سیستم، الگوهایی هست که معمولاً انسان انجام میده، و هر چیزی که خارج از اون الگو باشه میتونه تقلب حساب بشه.
با این حال، چند تا نکته هست که من همیشه توی این مسئله تجربه کردم و به نظرم مهمه:
1.
پیشپردازش دادهها: دادههای خام معمولاً پر از مقادیر گمشده و نویز هستن. اگر درست تمیز نشن، مدلهای ردهبندی خیلی خطا میدن.
2.
تعادل کلاسها: توی تشخیص تقلب معمولاً نمونههای تقلب خیلی کمتر از نمونههای سالم هستن. این باعث میشه مدلها سمت دستهی اکثریت برن، پس باید از روشهای تعادل مثل SMOTE یا وزندهی استفاده کنیم.
3.
ارزیابی درست: فقط دقت (accuracy) مهم نیست. معیارهایی مثل F1-Score، Precision و Recall بهخصوص برای دادههای نامتوازن خیلی مهمترن.
اگه بخواید عمیقتر به این موضوع نگاه کنید مقالهای مرتبط با بحث
سامانههای هوشمند تشخیص تقلب هست که مطالعهاش بیش از چند دقیقه وقت نمیگیره ولی اون رو به شما توصیه میکنم. با مطالعه این مقاله که کلی ایده و مدل ازش برداشت میشه، میتونی به سطح بعدی در درک این حوزه برسی.
در این مقاله درباره معماریهای هوشمندتر، یادگیری عمیق، ترکیب قوانین با مدلهای یادگیری ماشین و چالشهایی مثل دادههای زیاد و تغییر الگوها هم صحبت شده.
راستی، تجربه دوستان تو این زمینه چیه؟ چه روشهایی واقعاً برای شما جواب داده؟