بخشی از مقاله
خلاصه
در مسائل طبقهبندی باینری، مسالهی عدمتوازن هنگامی رخ میدهد که یک کلاس تعداد نمونههای بسیاری دارد، درحالی که کلاس دیگر توسط تعداد نمونههای کمی نمایش داده میشود. سیستمهای طبقهبندی مبتنی بر قوانین فازی یکی از رایجترین سیستمهای مدلسازی فازیِ استفاده شده، برای حل مسائل طبقهبندی میباشند. در این مقاله یک سیستم طبقهبندی با استفاده از الگوریتم تکامل تفاضلی برای مسائل نامتوازن ایجاد میکنیم که طول هر کروموزوم برابر با تعداد ویژگیهای مجموعهداده در نظر گرفته میشود. به منظور ارزیابی هر کروموزوم از معیار اطمینان استفاده میکنیم و درنهایت کروموزومهایی با بهترین شایستگی (بهترین مقدار اطمینان) پایگاه قوانین را تشکیل میدهند. پایگاه قوانین ساخته شده برای طبقهبندی مجموعهدادههای نامتوازن استفاده میشود. آزمایش را بر روی 15 مجموعهداده از مجموعهدادههای KEEL اجرا و سپس نتایج بدستآمده را با استفاده از تستهای آماری تحلیل میکنیم. نتایج حاصل نشان میدهد که کارایی سیستم طبقهبندی با استفاده از روش پیشنهادی بهبود مییابد.
کلمات کلیدی: طبقهبندی نامتوازن، سیستم طبقهبندی مبتنی بر قوانین فازی، الگوریتم تکامل تفاضلی
1
1. مقدمه
تکنیکهای یادگیری ماشین در بسیاری از حوزه های جهان واقعی کاربرد دارند مانند اینترنت، مطالعات تجاری و علمی ، کاربردهای صنعتی و غیره. در اغلب موارد زمانیکه تلاش میکنیم تا یک طبقهبند را از مجموعهدادهها یاد بگیریم، دادههای آموزشی توزیعکلاسنامتوازنی دارند. مسألهی دادهی نامتوازن زمانی رخ میدهد که نمونهای یک یا چند کلاس ذاتاً نادرند و یا به سختی جمعآوری میشوند. بنابراین مسألهی کلاس نامتوازن بسیار حائز اهمیت میباشد زیرا به طور ضمنی در اکثر کاربردهای واقعی مشاهده میشود مانند تشخیص کلاهبرداری، مدیریت ریسک، تحقیقات پزشکی، تشخیص تولد زودرس وغیره .[3-1]
مسألهی طبقهبندی نامتوازنِ باینری بدین صورت تعریف میشود: یک مسألهی طبقهبندی است که در آن تفاوت قابل توجهی میان میزان نمونههای دو کلاس وجود دارد. کلاس مثبت یا کلاس اقلیت به کلاسی گفته میشود که معمولاً از دیدگاه یادگیری بیشترین علاقه و توجه را دارد و در صورتی که نادرست طبقهبندی شود، منجر به هزینه ی بیشتری میشود. کلاسی که دارای تعداد نمونههای بیشتری است، کلاس اکثریت یا کلاس منفی نامیده میشود .[5,4] بهدلیل عدم کارایی الگوریتمهای یادگیری استاندارد در مواجهه با مسائل نامتوازن، روشهای متفاوتی برای حل این نوع مسائل ارائه شده است که به دو دستهی اصلی تقسیم میشوند: نمونهگیری از دادهها و اصلاح الگوریتم های موجود. در حالیکه هدف روشهای نمونهگیری، توازندرتوزیعداده ها به وسیله ی متناسب نمودن نمونه های موجود درکلاسها میباشد، روشهای سطح الگوریتم سعی دارند با استفاده از بهبود الگوریتمهای موجود و یا با ارائهی روشهای جدید، مسائل طبقهبندی نامتوازن را حل کنند که سبب میشوند الگوریتمهای یادگیری پایه با موضوع عدم توازن کلاس ها هماهنگی بیشتری پیدا کنند .[8-6] در اینجا بر روی دستهی دوم تمرکز میکنیم و الگوریتمی ارائه میدهیم که با این نوع از مسائل سازگار باشد. برای دستیابی به این هدف از سیستمهای طبقهبندی مبتنی بر قوانین فازی و الگوریتم تکامل تفاضلی استفاده میکنیم و با بهکارگیری الگوریتم تکامل تفاضلی، یک طبقهبند مبتنی بر قانون ایجاد کرده و آنرا برای طبقهبندی مجموعهدادههای نامتوازن بکار میبریم.
در این مقاله، بر روی مسائل طبقه بندی باینری تمرکز کرده و از مجموعه دادهای KEEL برای انجام آزمایشات استفاده میکنیم .[9] برای بررسی نتایج نیز معیار AUC را بکار میبریم که کارایی الگوریتم یادگیری را اندازهگیری میکند. سپس نتایج بدست آمده را با استفاده از تستهای آماری تحلیل میکنیم. نتایج حاصل نشان میدهد که کارایی طبقهبندی با استفاده از روش پیشنهادی بهبود مییابد.
2. سیستم طبقهبندی مبتنی بر قوانین فازی
سیستمهای طبقهبندی مبتنی بر قوانین فازی از تعدادی قوانین اگر-آنگاه تشکیل شده است که این قوانین برای مدل کردن رفتار ورودی-خروجی سیستم و طبقهبندی الگوها بهکار میرود. به طور کلی میتوان چنین بیان کرد که :[10]
هر مسألهی طبقهبندی شامل m الگوی آموزشی xp (xp1 ,...,xpn ), p 1,2,...,m از M کلاس است که xpi ، مقدار i امین ویژگی (i 1,2,...,n) از p امین الگوی آموزشی است.
Rule Rj : If x1 is Aj1 and ... and xn is Ajn then Class Cj with RWj (1)
که Rj برچسب j امین قانون و x x1 ,...,xn یک بردار الگوی n بعدی است، Aji یک مجموعهی فازی مقدم، Cj برچسب کلاس و RWj وزن قانون است. بهعبارت دیگر، ورودی این سیستمها، همانند بسیاری از الگوریتم های طبقهبندی، یک مجموعهدادهی آموزشی است که بیانگر رفتار وردی-خروجی سیستم میباشد و در آن، الگوها بهطور پیشفرض در طبقههای مختلفی قرار دارند و برچسب طبقهی هر الگو (کلاس) مشخص است. خروجی این سیستمها مقداری گسسته است که برچسبِ کلاس الگویی را که برای طبقهبندی به سیستم طبقهبند داده شده است، مشخص می کند. برای طبقهبندی یک الگو، مقدار ویژگیهای آن با قسمت مقدم قانون مطابقت داده میشود و در صورت تطبیق، برچسب کلاس الگو با توجه به قسمت تالی قانون تعیین میشود. سه جز سازنده در یک سیستم طبقهبندی مبتنی بر قوانین فازی عبارتند از: پایگاه داده، پایگاه قوانین و روش استنتاج.
3. الگوریتم تکامل تفاضلی
الگوریتم تکامل تفاضلی در سال 1995 توسط استورن و پرایس معرفی گردید و نام خود را از عملگر جهش تفاضلی خویش گرفته است. نسخهی ابتدایی این الگوریتم برای حل مسائل پیوسته بوده است .[11] این الگوریتم همانند سایر الگوریتمهای تکاملی با جمعیتی از افراد سروکار دارد و عملگر جهش
2
در این الگوریتم نقش اساسی را ایفا میکند و این یکی از دلایل تفاوت این الگوریتم با سایر الگوریتمهای تکاملی مثل الگوریتم ژنتیک است که در آنها عملگر ادغام از اهمیت بیشتری برخوردار است.این الگوریتم با یک جمعیت اولیه شروع به کار میکند [12]؛ سپس این جمعیت جهش مییابد و یک جمعیت آزمایشی با تعداد عضوی برابر با جمعیت اولیه تولید میشود. برای تولید جمعیت آزمایشی به صورت زیر عمل میکنیم:
vi,g cr1 ,g F *(cr2 ,g cr3 ,g ) (2)
در معادلهی فوق vi بردار آزمایشی iام و cj (j = r1, r2, r3)، jامین بردار در جمعیت را نشان میدهد. r1، r2 و r3 اعداد طبیعی تصادفی هستند که باید با یکدیگر متفاوت و همچنین مخالف مقدار i باشند. فاکتور جهش در الگوریتم که همان F است عددی بزرگ تر از صفر و نزدیک به یک میباشد که نسبتِ سهم بردار تفاضلی در تولید نسل آزمایشی را کنترل میکند. هرچه اندازه جمعیتِ بزرگ تری انتخاب شود و مقدار پارامتر جهش کوچکتر باشد، الگوریتم جواب بهتری خواهد داد. در مرحلهی بعد عملگر ادغام بر روی این جمعیت اعمال شده و جمعیت فرزند تولید میشود. عمل ادغام در واقع تنوع جمعیت را که پس از عملیات جهش بوجود آمده است، کنترل میکند. این عملگر شامل یکسری آزمایشهای مستقل برنولی است که طی آن جمعیت فرزند از جمعیت آزمایشی به وجود میآید: