- t++;
- Constructing a fuzzy system based on global best;
- Computing the quality of fuzzy classifier by Test Set;
- J++;
- Until (J<= MaxIter or Stopping Conditions are satisfied) // End Repeat loop
- Rule Num++;
Return fuzzy classifier with best performance most compact rule set;
End
افزایش همکاری بین ذرات برای بهبود کیفیت توابع عضویت فازی ایجاد شده و مجموعه قوانین کشف شده ضروری به نظر میرسد. چرا که در الگوریتم PSO، ذرات در هر مرحله با هم رقابت میکنند که بهترین توابع عضویت و قوانین ممکن را ایجاد کنند. افزایش رقابت سبب میشد تا بعضی ذرات توابع عضویت و قوانین با کیفیت بسیار بالا کشف کنند در حالی که تعدادی دیگر نمیتوانند مقدارهای مناسب را انتخاب کنند. دلیل اصلی به وجود آمدن این مشکل وجود رقابت زیاد و کمبود همکاری لازم بین ذرات میباشد.
پس از آن که مکان هر ذره در هر دور مشخص شد برای افزایش تنوع ذرات و بیشتر شدن قابلیت اکتشاف از آموزش بر مبنای ذره مخالف و الگوریتم تکامل تفاضلی استفاده میکنیم. همچنین برای بالا بردن قابلیت بهره کشی در هر مرحله بهترین ذره را به امید یافتن بهینه سراسری به سمت نزدیکترین همسایگانش سوق میدهیم. این الگوریتم با اضافه کردن یک قانون به تعداد قانونهای بکاربرده شده در سیستم فازی از ابتدا به کار خود ادامه میدهد. سرانجام سیستم فازی با بهترین کیفیت دستهبندی و کمترین تعداد قوانین به عنوان دستهبند خروجی در نظر گرفته میشود. شکل (۳-۷) فلوچارتی برای نشان دادن نحوه کار دستهبند فازی مبتنی بر PSO بیان میکند.
۳-۳-۵- توابع برازش کیفیت قوانین
در الگوریتم پیشنهادی برای استخراج قوانین نکتهی بسیار مهم در این بین تعریف یک تابع برازش کیفیت مناسب برای انتخاب قوانین مناسب است.
مهمترین توابعی که برای اندازهگیری کیفیت قوانین استفاده شدهاند عبارتند از:
۱٫ رابطه (۲-۳۷): این تابع در مواردی که تعداد نمونههای کلاسهای مختلف تقریباً برابر باشد کارایی مناسبی دارد. زمانی که مجموعه دادهها نامتوازن باشند، کارایی این تابع به شدت کاهش مییابد. که همانطور که بیان شد برای رفع این مشکل معیارهای حساسیت و دقت تعریف شد.
۲٫ تابع مهم دیگری که برای اندازهگیری کیفیت قوانین مورد استفاده قرار میگیرد، رابطه (۳-۶) میباشد [۸۲]:
(۳-۴)
(۳-۵)
(۳-۶)
که fp نرخ پیشبینی صحیح متغیرهای هدف نمونههای پوشش داده شده و fn نرخ پیشبینی غلط متغیر هدف نمونههای پوشش داده شده، wk وزن نمونه xk ، wp یک وزن مثبت برای دستهبندی صحیح نمونهها و wn یک وزن منفی برای دستهبندی نادرست نمونهها میباشد. با افزایش wp میتوان قوانین کلیتری را تولید کرد که البته میزان خطای این قوانین بیشتر است. افزایش wn سبب میشود نمونههای کمتری پوشش داده شوند و کیفیت قوانین تولیدی بیشتر شود.
۳٫ Zhou و همکارانش از رابطهی دیگری که نتایج امیدوار کنندهای دارد استفاده کردند. میزان سازگاری به صورت زیر محاسبه میشود [۸۸].
(۳-۷)
که p و n تعداد نمونههای مثبت و منفی هستند که توسط قانون R پوشش داده شدهاند. P و N تعداد کل نمونههای مثبت و منفی موجود در مجموعه آموزشی میباشند. سپس ابتدا میزان کامل بودن قانون حساب میشود و پس از آن کیفیت قانون بر اساس میزان سازگاری و کامل بودن محاسبه میگردد.
(۳-۸)
(۳-۹)
استفاده از تابع نمایی سبب میشود سازگاری نقش مهمتری در میزان کیفیت قانون داشته باشد.
برای مجموعه دادههایی که متوازن نمیباشند میتوان از یک الگوریتم برای متوازن کردن استفاده کرده سپس از برازش هندسی استفاده کرد [۲۸]. البته استفاده از الگوریتمهای متوازن سازی موجب افزایش زمان آموزش دستهبندی میشود و حتی ممکن است ماهیت مجموعه ورودی تغییر کرده و قوانین زائدی استخراج شود. تابع برازش (۳-۶) معمولاً دارای کارایی مناسبی میباشد و دقت بسیار خوبی را تولید میکند. مشکل این تابع تولید قوانین با میزان پوشش کم میباشد. در نتیجه تعداد قوانین به شدت افزایش مییابد و طول قوانین نیز افزایش مییابد که موجب کاهش قابلیت تفسیر میشود. از طرفی دیگر تابع ارزیابی (۳-۹) معمولاً قوانینی با میزان پوشش بالا تولید میکند که موجب کاهش تعداد و طول قوانین تولید شده میشود که البته دقت این تابع از تابع (۳-۶) کمتر است.
شرایط توقف بیان کنندهی ضوابطی میباشد که نشان دهندهی پایان یادگیری هستند. مهمترین شرایطی که برای پایان یادگیری الگوریتم میتوان تعریف کرد عبارتند از: تعداد ثابتی از تکرارها،تعیین یک کران بالا برای میزان کیفیت کل قوانین کشف شده، تمام شدن تمام نمونههای آموزشی.
به طور کلی میتوان گفت که رابطهی (۲-۳۷) برای مجموعه دادههایی که متوازن هستند، دارای بهترین کارایی میباشد. در الگوریتم پیشنهادی برای اندازهگیری کیفیت از ترکیب شاخص صحت و تعداد قوانین استفاده شده است. هدف تابع برازش تعریف شده مینیمم سازی نرخ دستهبندی خطا و تعداد قوانین است که به صورت زیر بیان میشود.
(۳-۱۰)
R در این جا همان تعداد قوانین و k یک ضریب ثابت که در این پایان به صورت تعریف شده و MaxRuleNum حد بالای تعداد قوانین بکار رفته در دستهبند فازی میباشد. نرخ دستهبندی اشتباه به صورت زیر محاسبه میشود:
(۳-۱۱)
۳-۵- نتیجهگیری
در این فصل یک الگوریتم مبتنی بر قانون برای دستهبندی دادهها ارائه شد که ابتدا در مرحله آموزش یک مجموعه داده آموزشی را گرفته و یک سیستم دستهبند فازی را تولید میکند. سپس در مرحله آزمون با بهره گرفتن از یک موتور استنتاج فازی نمونههای تست دستهبندی میشوند. برای تولید پارامترهای توابع عضویت و قوانین فازی در مرحلهی آموزش از یک الگوریتم بهبود یافتهی بهینهسازی ازدحام ذرات استفاده شده است. این الگوریتم دارای ویژگیهایی است که آن را از سایر الگوریتمهای PSO متمایز میکند. که از آن جمله میتوان به برقراری تعادل بین دو خاصیت اکتشاف و بهره کشی اشاره کرد.
فصل چهارم – محاسبات و یافتههای تحقیق
۴-۱- دادههای مورد استفاده
برای تشخیص بیماری دیابت مجموعه دادهی Pima Indians Diabetes [89] از مخزن دانشگاه UCI[97] مورد استفاده قرار گرفته است. این مجموعه داده شامل هشت خصیصه است که مقدار آنها توسط پزشک اندازهگیری میشود. جدول (۴-۱) این خصیصهها را همراه با میانگین و انحراف معیار مقادیر آنها در مجموعه داده Pima نشان میدهد. همچنین این مجموعه داده شامل دو کلاس میباشد که کلاس اول شامل دادههای ۵۰۰ نفر افراد سالم و کلاس دوم حاوی اطلاعات ۲۶۸ نفر بیمار دیابتی میباشد.
جدول ۴- ۱: خصیصههای مجموعه داده Pima Indian Diabetes
نام خصیصه
میانگین
انحراف از معیار