همانطور که قبلاً اشاره گردید، روشهای مبتنی بر رفتار گروهی موجودات زنده در مقایسه با دیگر روشهای بهینهسازی بر روی برخی مسائل دارای کارایی بهتری میباشند . به همین دلیل، گرایش زیادی برای استفاده از این روشها وجود دارد. در این تحقیق از روش جدیدی مبتنی بر ترکیب دو الگوریـتم خفاش وFuzzy c-means ، برای خوشــهبندی اطلاعات استفاده خواهد شد. در واقع هدف این است که داده های موجود را بتوان بهنحوی با حداقل خطا خوشهبندی نمود. در این راستا، سعی بر آن است تا مزایای هر دو الگوریتم را به کار گرفته و داده ها را به گونه ای خوشه بندی کنیم که حداکثر شباهت بین داده های یک گروه برقرار باشد و از طرفی داده های موجود در گروه های مجزا کمترین شباهت را داشته باشند.
روش Fuzzy c-means در کنار مزایایی چون همگرا یی و بدون نظارت بودن، معایبی نیز دارد. این معایب را به اختصار میتوان به صورت زیر بیان کرد:
وابستگی به شرایط اولیه: انتخاب مقادیر اولیه در این روش پاسخ نهایی را دستخوش تغییرات قرار میدهد و خوشههای بهدست آمده بنا به مقادیر اولیه بسیار متفاوت خواهند بود.
همگرایی به نقاط بهینه محلی
جهت مرتفع نمودن این معایب، در تحقیقات اخیر ایدههای متفاوتی بیان گردیده است که تا حد قابل قبولی کارساز بوده است. از کارهای انجام شده میتوان به ترکیب این الگوریتم با الگوریتمهای اجتماع پرندگان، الگوریتم ممتیک، ژنتیک و آبکاری فولاد اشاره کرد. در این پایان نامه جهت رفع معایب ذکر شده در الگوریتم Fuzzy c-means از ترکیب این الگوریتم با الگوریتم خفاش استفاده شده است.
۴-۲- خوشه بندی اطلاعات مبتنی بر روش ترکیبی پیشنهادی
در اینجا کاربرد الگوریتم پیشنهادی که مبتنی بر ترکیب الگوریتم بهبود یافته رقابت خفاش و Fuzzy c-means میباشد جهت خوشهبندی اطلاعات توضیح داده خواهد شد. هدف این است که داده های موجود درخوشههای مناسب دستهبندی شده و در این راستا نیز مراکز خوشه و ماتریس تعلق تعیین گردند. مراحل این روش در ادامه ذکر خواهند شد.
مرحله اول: تولید جمعیت اولیه
ابتدا جمعیت اولیه به صورت تصادفی تولید میگردد.
(۴-۱)
Population=[X1 X2 . . . XN] N=1,2,…,number of population
sol(Xi)=[ center1 , center2 , . . . ,centerc] c=1,2,…,number of cluster
center=[y1 y2 . . . yd] d=1,2,…,number of feature
هرX، نمایانگر یک خفاش میباشد. هر خفاش در ابتدا در یک موقعیت تصادفی sol(Xi)
centerنشان دهنده مرکز خوشه است که از موقعیت خفاشها گرفته شده است. c و d و N به ترتیب تعداد خوشه ها، بعد مراکز خوشه و تعداد جمعیت خفاشها می باشد.
مرحله دوم: تولید بردار متضاد برای هر عضو از اعضای جمعیت
مرحله سوم: ارزیابی تابع هدف
ابتدا ماتریس تعلق به صورت تصادفی مقداردهی اولیه می شود. سپس تابع هدف یکبار با بهره گرفتن از Xi به عنوان مرکز خوشه ها و بار دیگر با بهره گرفتن از ، برای هر دیتای ورودی، محاسبه میگردد. . حال اگر دارای تابع هدف بهتری نسبت به باشد جایگزین آن میشود.
(۴-۲)
n، تعداد داده های ورودی است و v مرکز خوشه است.
مرحله چهارم: مرتبسازی جمعیت اولیه بر اساس تابع هدف
جمعیت، براساس مقدار تابع هدف به صورت صعودی مرتب می شود. سپس موقعیت خفاشی که تابع هدف را مینیمم می کند، به عنوان بهترین موقعیت در نظر گرفته می شود.
X1 J1 X2 J2
X_sort = . .
. .
XN JN
-
- مرحله پنجم: انتخاب یکی از دو استراتژی جهش
در ابتدای هر تکرار یکی از دو نوع جهش توسط هر خفاش انجام شده، موقعیت جدید بهدست آمده طبق رابطه (۱۸-۳) با بردار اولیه ترکیب می شود. حال اگر بردار جدید تابع هدف کوچکتری نسبت به بردار اولیه داشته باشد جایگزین آن میشود، در غیر این صورت الگوریتم با همان بردار اولیه به کار خود ادامه میدهد.
-
- مرحله ششم: بهروزرسانی موقعیتها با اجرای الگوریتم خفاش
در این مرحله موقعیتها با اجرای الگوریتم خفاش بهروز میگردد.
مرحله هفتم: اجرای الگوریتم Fuzzy c-means
بعد از بهروزرسانی موقعیتها، موقعیت بهروز شده به عنوان مراکز جدید خوشه ها در نظر گرفته می شود. با بهره گرفتن از این مراکز، ماتریس تعلق داده ها با کمک روابطی که پیشتر برای الگوریتم Fuzzy c-means ذکر شد، بهروز می شود و مجدداً تابع هدف محاسبه میگردد.
مرحله هشتم: اعمال جستجوی محلی بر روی موقعیت جدید
برای فرار از گیر کردن در بهینه محلی، بعد از بهروز شدن موقعیتها، جستجوی محلی انجام میگیرد. این جستجو در دو مرحله انجام می شود :
-
- مرحله اول: جستجوی محلی اتخاذ شده از الگوریتم PSO
-
- مرحله دوم: جستجوی محلی اتخاذ شده از الگوریتم SA
مرحله نهم: اجرای الگوریتم Fuzzy c-means
موقعیت به دست آمده از جستجوی محلی به عنوان مراکز کلاستر در نظر گرفته شده و مطابق با الگوریتم FCM ، تابع هدف محاسبه می شود.
مرحله دهم: پذیرفتن موقعیت جدید و بهروزرسانی دامنه و نرخ ارسال پالس