تشخیص ناهنجاری در یادگیری ماشین: الگوریتم های طبقه بندی در مقابل تشخیص ناهنجاری

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

اما ناهنجاری ها چیست؟

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

تشخیص ناهنجاری چیست؟

مجموعه داده های دنیای واقعی مطمئناً حاوی ناهنجاری هایی هستند که به عنوان نقاط داده غیرعادی نیز شناخته می شوند. دلیل این امر می تواند هر چیزی باشد. گاهی اوقات، ناهنجاری هایی به دلیل داده های خراب یا خطای انسانی وجود دارد. با این حال، مهم است که توجه داشته باشید که ناهنجاری‌ها می‌توانند عملکرد کسب و کار را مختل کنند، و این امر ضروری است که مجموعه داده‌های شما را از هرگونه ناهنجاری رها کنید.

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

دسته های مختلف ناهنجاری ها:

این ناهنجاری را می توان به سه دسته کلی تقسیم کرد:

ناهنجاری نقطه ای:این زمانی اتفاق می افتد که یک نقطه داده به طور قابل توجهی با بقیه مجموعه داده ها متفاوت باشد.

ناهنجاری متنیاین زمانی تشخیص داده می شود که یک مشاهده به دلیل زمینه خاصی که در آن رخ می دهد غیر طبیعی به نظر برسد.

ناهنجاری جمعی:این نوع ناهنجاری زمانی شناسایی می شود که گروهی از نمونه های داده با هم الگوی غیرعادی را نشان دهند.

دو تکنیک قدرتمند تشخیص ناهنجاری

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

1. تشخیص ناهنجاری بدون نظارت

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

2. تشخیص ناهنجاری تحت نظارت

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

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

الگوریتم های طبقه بندی در مقابل تشخیص ناهنجاری:

یادگیری ماشین تکنیک‌های زیادی را برای طبقه‌بندی اشیا در اختیار ما قرار می‌دهد، به عنوان مثال، ما الگوریتم‌هایی مانند رگرسیون لجستیک و ماشین‌های برداری پشتیبانی برای مسائل طبقه‌بندی داریم. با این حال، این الگوریتم ها در طبقه بندی مسائل غیرعادی و غیرعادی شکست می خورند. در یک مسئله طبقه بندی معمولی، تعداد تقریباً مساوی یا قابل مقایسه ای از مثال های مثبت و منفی داریم. اگر مشکل رده بندی داریم باید تصمیم بگیریم که خودرو ماشینی است یا خیر. سپس در مجموعه داده ما، سهم خودروها ممکن است 40-60٪ باشد و به طور مشابه، سهم نمونه های غیرخودرویی ممکن است 40-60٪ باشد. بنابراین، ما معمولاً مقدار متعادلی از مثال‌های مثبت و منفی داریم و الگوی خود را بر روی مقدار خوبی از مثال‌های مثبت و منفی آموزش می‌دهیم. از طرفی در مسائل تشخیص ناهنجاری، نمونه های مثبت (ناهنجار) بسیار کمتری نسبت به نمونه های منفی (غیرعادی) داریم. نمونه های مثبت ممکن است کمتر از 5٪ یا حتی 1٪ باشند (بدیهی است که به همین دلیل غیرعادی است). در چنین مواردی، الگوریتم طبقه بندی را نمی توان به خوبی بر روی مثال های مثبت آموزش داد. اینجاست که الگوریتم تشخیص ناهنجاری به کمک ما می آید.

الگوریتم تشخیص ناهنجاری:

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

Ɲ (µ, σ2)

µ = متوسط

بد2= کنتراست

σ = انحراف معیار

اگر احتمال χ گاوسی با میانگین μ و واریانس σ باشد2 سپس

χ ~ Ɲ (µ, σ2 )

~‘ tilde نامیده می شود که به صورت زیر خوانده می شود:χ به صورت “ توزیع می شود.

µ یا میانگین، مرکز منحنی را توصیف می کند.

σ یا انحراف معیار عرض منحنی را توصیف می کند.

عملکرد کامل به شرح زیر است

p(x، μ، سیگما2) = (1/ (σ*ریشه مربع(2π)))* E– (1/2)*(مربع(x-µ)/σ2)

منبع تصویر: ویکی پدیامنبع تصویر: ویکی پدیا
منبع تصویر: ویکی پدیا

فرض کنید یک مجموعه داده داریم

x = ( (x11 س12 س13 ….. س1n )

(s21 س22 س23 ….. س2n )

:

:

:

(sM1 سمتر مربع سm3 ….. ساز جانب ))

اینجا xآی جی به معنای سیy اولین مزیتy مثال.

برای یافتن میانگین میکرو:

هر ستون را به صورت جداگانه جمع آوری می کنیم و به چندین نمونه تقسیم می کنیم. ما یک ماتریس ردیف با ابعاد (1x n) دریافت می کنیم.

μ = (1/m) * ( Σمi=1 ایکسمن ; (در اینجا زیرنویس i نشان دهنده شماره ستون است.)

= ( (μ1 μ2 μ3 ………. μn ))

برای یافتن واریانس σ2 :

بد2 = (1/m) * ( Σمi=1 (ایکسمن – μ)2 ; (در اینجا زیرنویس i نشان دهنده شماره ستون است.)

در فرمت Octave/MATLAB عبارت فوق را می توان به صورت زیر نوشت

بد2 = مجموع ((X- µ).^2) * (1/m)

= (سیگما21 بد22 بد23 …. بد2n )

در اینجا ما σ را دریافت می کنیم2 به عنوان یک ماتریس ردیف با ابعاد (1x n).

الگوریتم:

الگوریتم آموزشی

  1. ویژگی های x را انتخاب کنیدمن که فکر می کنید نشان دهنده ناهنجاری هاست.
  2. نمونه های غیرعادی را به 60% برای مجموعه آموزشی، 20% برای اعتبارسنجی متقاطع و 20% برای مجموعه تست تقسیم کنید.
  3. نقاط پرت را به 50% برای مجموعه اعتبارسنجی متقاطع و 50% برای مجموعه تست تقسیم کنید.
  4. μ و σ را محاسبه کنید2 در گروه آموزشی
    4. یک مقدار تصادفی را به عنوان حداقل ɛ در نظر بگیرید.
  5. هر مثال x را از مجموعه اعتبارسنجی بررسی کنید که آیا غیرعادی است یا خیر، و P(x) را به صورت زیر محاسبه کنید.

Y(x)=ΠnC=1 p(x)سی ; μج بدسی2 )

nC=1{(1/(σ*ریشه مربع(2π)))* exp(- (1/2)*((xسیسی)2 /بدسی2))}

= y (x)1 ; μ1 بد12 ) * p(x)2 ; μ2 بد22 ) *r(x)3 ; μ3; بد32 )*…

…*r(s)n ; μn بدn2 )

  1. اگر مقدار P(x) کمتر از آستانه ɛ باشد، یک ناهنجاری در نظر گرفته می‌شود وگرنه اینطور نیست.
  2. F را محاسبه کنید1 امتیاز فعلی ɛ.
  3. مراحل 4، 5 و 6 را برای مقادیر مختلف ɛ تکرار کنید و ɛ را که بالاترین مقدار F را دارد انتخاب کنید.1نتیجه

بعد از آموزش، μ، σ داریم2 و ɛ.

الگوریتمی برای بررسی غیرعادی بودن یا نبودن یک نمونه جدید

  1. P(x) را برای مثال های جدید x به صورت زیر محاسبه کنید:

Y(x)=ΠnC=1 p(x)سی ; μج بدسی2 )

nC=1{(1/(σ*ریشه مربع(2π)))* exp(- (1/2)*((xسیسی)2 /بدسی2))}

= y (x)1 ; μ1 بد12 ) * p(x)2 ; μ2 بد22 ) *r(x)3 ; μ3; بد32 )*…

…*r(s)n ; μn بدn2 )

  1. اگر مقدار P(x) کمتر از آستانه ɛ باشد، یک ناهنجاری در نظر گرفته می‌شود وگرنه اینطور نیست.

اف1 نتیجه:

اف1 امتیاز یک معیار خطا برای داده های کج است. داده های کج داده داده هایی هستند که در آنها یک مثال مثبت یا منفی به طور قابل توجهی بزرگتر از دیگری است (بیش از 90٪).

اف1 نتیجه را می توان به صورت زیر ارائه کرد:

اف1 = 2*{(دقت * فراخوان)/(دقت + فراخوان) }

جایی که،

دقت = مثبت واقعی / (مثبت واقعی + مثبت کاذب)

یادآوری = مثبت واقعی / (مثبت واقعی + منفی کاذب)

مثبت واقعی => زمانی که نتیجه واقعی مثبت باشد و الگوریتم شما منفی را پیش بینی کند

مثبت کاذب => زمانی که نتیجه واقعی منفی است و الگوریتم شما +ve را پیش بینی می کند

منفی واقعی => زمانی که خروجی واقعی -ve است و الگوریتم شما -ve را پیش‌بینی می‌کند

منفی کاذب => زمانی که خروجی واقعی مثبت است و الگوریتم شما منفی را پیش بینی می کند

یک الگوریتم خوب دقت و یادآوری بالایی دارد.1 به ما می گوید که الگوریتم ما چقدر خوب کار می کند. هرچه امتیاز F1 بالاتر باشد بهتر است

شکل: حساسیت و ویژگی - منبع تصویر: ویکی پدیاشکل: حساسیت و ویژگی - منبع تصویر: ویکی پدیا
شکل: حساسیت و ویژگی – منبع تصویر: ویکی پدیا

واژه نامه اصطلاحات

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

حساس:

حساسیت یا نرخ مثبت واقعی، این احتمال را می سنجد که یک آزمایش بتواند به درستی یک مورد مثبت را زمانی که یک فرد مبتلا به این بیماری است، شناسایی کند.

کیفیت:

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

زمان استفاده از تشخیص ناهنجاری:

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

زمان استفاده از یادگیری تحت نظارت:

  • وقتی مثال های مثبت و منفی زیادی داریم
  • وقتی به اندازه کافی مثال مثبت داشته باشیم تا حس کنیم یک مثال مثبت جدید چگونه خواهد بود

ویژگی هایی را که می خواهید استفاده کنید انتخاب کنید:

انتخاب ویژگی ها بر میزان موفقیت یک الگوریتم تشخیص ناهنجاری تأثیر می گذارد. ویژگی هایی که نشان دهنده ناهنجاری ها هستند را شناسایی کنید. ویژگی هایی که انتخاب می کنید باید گاوسی باشند. برای بررسی اینکه آیا ویژگی های شما گوسی هستند یا نه، آنها را بکشید. نمودار ترسیم شده باید به شکل زنگ باشد.

اگر ویژگی های شما گاوسی نیستند، با استفاده از هر یک از توابع آنها را به گاوسی تبدیل کنید

  • ورود به سیستم (x)
  • log (x+1)
  • log (x+c)
  • ریشه مربع (x)
  • س1/3

ضربه نهایی

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

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

منبع: https://www.calsoftinc.com/blogs/machine-learning-classification-algorithms-vs-anomaly-detection.html

منتشر شده در
دسته‌بندی شده در اخبار