تشخیص ناهنجاری به معنای یافتن الگوهایی در داده ها است که با نرمال متفاوت است. این الگوهای غیرمعمول، ناهنجاری یا پرت نامیده می شوند. در مجموعه داده های بزرگ، یافتن ناهنجاری ها دشوارتر است. داده ها بزرگ هستند و مدل ها می توانند پیچیده باشند. روش های مرسوم ممکن است به خوبی کار نکنند زیرا داده های زیادی برای بررسی وجود دارد. برای یافتن سریع و آسان این مدل های کمیاب به تکنیک های خاصی نیاز است. این روش ها در بسیاری از زمینه ها مانند بانکداری، مراقبت های بهداشتی و امنیتی مفید هستند.
بیایید نگاهی مختصر به تکنیکهای تشخیص ناهنجاری برای استفاده در مجموعه دادههای مقیاس بزرگ بیندازیم. این کار بیهوده و مستقیماً سر اصل مطلب خواهد بود، بنابراین می توانید در صورت صلاحدید اسناد اضافی را دنبال کنید.
انواع ناهنجاری ها
ناهنجاری ها را می توان بسته به ماهیت و زمینه آنها به انواع مختلفی طبقه بندی کرد.
- ناهنجاری های گاه به گاه: یک نقطه داده واحد متفاوت از نقاط دیگر. به عنوان مثال، افزایش ناگهانی دما در طول یک روز عادی. اینها اغلب ساده ترین انواع برای تشخیص هستند.
- ناهنجاری های زمینه ای: نقطه داده ای که طبیعی به نظر می رسد اما در یک موقعیت خاص غیرعادی است. برای مثال، دمای بالا ممکن است در تابستان طبیعی باشد اما در زمستان غیرعادی باشد. ناهنجاری های متنی با در نظر گرفتن شرایط خاصی که در آن داده ها رخ می دهد، شناسایی می شوند.
- ناهنجاری های جمعی: گروهی از نقاط داده که با هم یک الگوی غیر معمول را تشکیل می دهند. برای مثال، چندین تراکنش غیرمنتظره که در این نزدیکی اتفاق میافتد ممکن است نشانه تقلب باشد. این ناهنجاری ها با بررسی الگوها در گروه های داده شناسایی می شوند.
اقدامات آماری
معیارهای آماری با تجزیه و تحلیل توزیع داده ها و انحراف از مقادیر مورد انتظار، ناهنجاری ها را تشخیص می دهند.
تجزیه و تحلیل امتیاز Z
تجزیه و تحلیل Z-Score به یافتن نقاط داده یا ناهنجاری های غیر معمول کمک می کند. فاصله بین یک نقطه و مقدار متوسط داده ها را اندازه گیری می کند. برای پیدا کردن Z-Score، نقطه داده را بگیرید و میانگین را از آن کم کنید. سپس این عدد را بر انحراف معیار تقسیم کنید. تجزیه و تحلیل Z-Score با داده های معمولی توزیع شده بهترین کار را دارد.
تست گرابس
آزمون گرابس برای شناسایی نقاط پرت در یک مجموعه داده استفاده می شود. بر روی شدیدترین نقاط داده، چه بالا و چه پایین تمرکز می کند. آزمون این مقدار شدید را با بقیه داده ها مقایسه می کند. برای انجام تست گرابز، ابتدا امتیاز Z را برای نقطه افراطی محاسبه می کنید. سپس بررسی می کنید که آیا این Z-Score بالاتر از یک آستانه خاص است. اگر چنین است، نقطه به عنوان نقطه پرت علامت گذاری می شود.
تست کای دو
آزمون خی دو می تواند ناهنجاری ها را در داده های طبقه بندی شده تشخیص دهد. آنچه را که در داده های خود مشاهده می کنید با آنچه انتظار دارید ببینید مقایسه می کند. برای انجام تست ابتدا فرکانس های هر دسته را می شمارید. سپس فرکانس های مورد انتظار را بر اساس یک فرض محاسبه می کنید. این تست برای تشخیص الگوهای غیر معمول در داده های طبقه بندی شده مفید است.
تکنیک های یادگیری ماشینی
روشهای یادگیری ماشینی میتوانند با یادگیری الگوها از دادهها به شناسایی ناهنجاریها کمک کنند.
جنگل انزوا
این روش با انتخاب تصادفی ویژگی ها و تقسیم مقادیر در داده ها، ناهنجاری ها را جدا می کند. درخت های تصادفی زیادی ایجاد می کند که هر کدام نقاط را به روش های مختلفی جدا می کنند. نقاطی که به سرعت در تقسیمات کمتر جدا می شوند احتمالاً ناهنجاری هستند. این روش برای مجموعه داده های بزرگ موثر است. این از مقایسه مستقیم هر نقطه داده جلوگیری می کند.
SVM یک کلاس
این تکنیک با یادگیری یک محدودیت در اطراف نقاط داده معمولی کار می کند. سعی میکند ابر صفحهای را پیدا کند که دادههای عادی را از نقاط پرت جدا کند. هر چیزی خارج از این حد به عنوان یک ناهنجاری گزارش می شود. این تکنیک به ویژه زمانی مفید است که ناهنجاری ها در مقایسه با داده های عادی نادر باشند.
روش های مبتنی بر مجاورت
روشهای مبتنی بر مجاورت، ناهنجاریها را بر اساس فاصله آنها از سایر نقاط داده شناسایی میکنند:
k-نزدیکترین همسایهها (k-NN)
روش k-Nearest Neighbors به شناسایی ناهنجاری ها بر اساس فاصله کمک می کند. به فواصل بین یک نقطه داده و k نزدیکترین همسایه آن نگاه می کند. اگر یک نقطه داده از همسایگان خود دور باشد، یک ناهنجاری در نظر گرفته می شود. این روش ساده و قابل درک است. با این حال، این می تواند با مجموعه داده های بزرگ کند شود زیرا نیاز به محاسبه فواصل بسیاری از نقاط دارد.
عامل دورافتاده محلی (LOF)
LOF درجه ایزوله شدن یک نقطه داده از همسایگانش را اندازه گیری می کند. چگالی یک نقطه داده را با چگالی همسایگان آن مقایسه می کند. نقاطی که چگالی آنها بسیار کمتر از همسایگانشان است به عنوان ناهنجاری علامت گذاری می شوند. LOF در تشخیص ناهنجاری هایی که در مناطق محلی داده ها رخ می دهد موثر است.
روش های یادگیری عمیق
روش های یادگیری عمیق برای مجموعه داده های پیچیده مفید هستند:
رمزگذارهای خودکار
این یک نوع شبکه عصبی است که برای تشخیص ناهنجاری با یادگیری فشرده سازی و بازسازی داده ها استفاده می شود. شبکه یاد می گیرد که داده ها را به شکل ابعاد پایین تر رمزگذاری کند. سپس می تواند آن را به اندازه اصلی خود برگرداند. ناهنجاری ها با دشواری داده ها برای مطابقت با این بازسازی شناسایی می شوند. اگر خطای بازسازی زیاد باشد، نقطه داده یک ناهنجاری در نظر گرفته می شود.
شبکه های متخاصم مولد (GAN)
GAN ها از یک مولد و یک تفکیک کننده تشکیل شده اند. مولد داده های مصنوعی ایجاد می کند و تشخیص دهنده بررسی می کند که آیا داده ها واقعی یا جعلی هستند. ناهنجاری ها با توانایی مولد برای تولید داده های مشابه داده های واقعی شناسایی می شوند. اگر ژنراتور در ایجاد داده های واقعی مشکل داشته باشد، این نشان دهنده ناهنجاری است.
شبکه های عصبی مکرر (RNN)
RNN ها برای تجزیه و تحلیل داده های سری زمانی و تشخیص ناهنجاری ها در طول زمان استفاده می شوند. RNN ها الگوها و وابستگی ها را در داده های متوالی یاد می گیرند. آنها می توانند با شناسایی انحرافات قابل توجه از الگوهای مورد انتظار، ناهنجاری ها را مشخص کنند. این روش برای مجموعه داده هایی که در آن نقاط داده مرتب شده و دارای روابط زمانی هستند مفید است.
کاربردهای تشخیص ناهنجاری
تشخیص ناهنجاری به طور گسترده در زمینه های مختلف برای شناسایی الگوهای غیر معمول استفاده می شود. برخی از برنامه های کاربردی رایج عبارتند از:
- کشف تقلب: در بانکداری و مالی، تشخیص ناهنجاری امکان شناسایی فعالیت های متقلبانه را فراهم می کند. برای مثال، تراکنشهای غیرمعمول کارت اعتباری ممکن است به عنوان تقلب بالقوه علامتگذاری شوند. این به جلوگیری از ضررهای مالی و محافظت از حساب ها کمک می کند.
- امنیت شبکه: تشخیص ناهنجاری به شناسایی فعالیت های عجیب در ترافیک شبکه کمک می کند. به عنوان مثال، اگر یک شبکه داده های بسیار بیشتری از حد معمول دریافت می کند، می تواند به این معنی باشد که یک حمله سایبری در حال انجام است. شناسایی این ناهنجاری ها به جلوگیری از نقض امنیت کمک می کند.
- تولید: در تولید، تشخیص ناهنجاری می تواند عیوب محصول را شناسایی کند. به عنوان مثال، اگر ماشینی شروع به تولید اقلام خارج از مشخصات معمولی کند، ممکن است علامت نقص باشد. تشخیص زودهنگام به حفظ کیفیت محصول و کاهش ضایعات کمک می کند.
- مراقبت های بهداشتی: تشخیص ناهنجاری برای یافتن الگوهای غیرعادی در داده های پزشکی استفاده می شود. به عنوان مثال، تغییرات ناگهانی در علائم حیاتی بیمار ممکن است نشان دهنده یک مشکل پزشکی باشد. این به پزشکان کمک می کند تا به مشکلات سلامتی بالقوه سریع پاسخ دهند.
بهترین روش ها برای اجرای تشخیص ناهنجاری
در اینجا چند نکته برای استفاده از تشخیص ناهنجاری آورده شده است:
- درک داده های شما: قبل از شروع، داده های خود را درک کنید. الگوها و رفتار عادی آنها را بیاموزید. این به شما کمک می کند تا راه های مناسب برای یافتن ناهنجاری ها را انتخاب کنید.
- روش صحیح را انتخاب کنید: روش های مختلف برای انواع مختلف داده ها بهتر عمل می کنند. از روش های آماری ساده برای داده های پایه و یادگیری عمیق برای داده های پیچیده استفاده کنید. آنچه را که به بهترین وجه با داده های شما مطابقت دارد انتخاب کنید.
- داده های خود را پاک کنید: قبل از تجزیه و تحلیل داده های خود مطمئن شوید که آن ها تمیز هستند. نویز و اطلاعات نامربوط را حذف کنید. تمیز کردن به بهبود قابلیت تشخیص ناهنجاری کمک می کند.
- تنظیم پارامترها: بسیاری از تکنیک ها دارای پارامترهایی هستند که باید تنظیم شوند. این تنظیمات را بر اساس داده ها و اهداف خود تغییر دهید. تنظیم دقیق به شما کمک می کند تا ناهنجاری ها را با دقت بیشتری تشخیص دهید.
- به طور منظم نظارت و به روز رسانی کنید: به طور منظم عملکرد سیستم تشخیص ناهنجاری خود را بررسی کنید. در صورت لزوم آن را به روز کنید تا تغییرات داده ها را ردیابی کنید. بررسی های مستمر اثربخشی آن را تضمین می کند.
نتیجه گیری
در نتیجه، تشخیص ناهنجاری برای تشخیص الگوهای غیر معمول در مجموعه داده های بزرگ مهم است. در بسیاری از زمینه ها مانند مالی، بهداشت و امنیت مفید است. روش های مختلفی برای تشخیص ناهنجاری ها وجود دارد، از جمله روش های آماری، یادگیری ماشینی و یادگیری عمیق. هر روش نقاط قوت خود را دارد و با انواع مختلف داده ها به خوبی کار می کند.