روشی دقیقی برای تعیین مراکز اولیه وجود ندارد.
چنانچه در طی فرایند پیادهسازی الگوریتم، تعداد داده های متعلق به یک خوشه صفر شود، هیچ راهی برای بهبود و تصحیح روند وجود ندارد.
با توجه به ایـن مشکلـات، امـروزه از الگوریتـمهای تکامـلی در کنار K-means بسیـار استفاده میشـود. الگوریتمهای تکاملی با توجه به ماهیت تکمیل شوندهای که دارند، میتوانند مشکلات الگوریتم K-means را بهخوبی برطرف نمایند. در ادامه الگوریتمهای تکاملی معرفی و نحوه تعامل آنها با الگوریتم K-means شرح داده شده است.
الگوریتم های تکاملی
قانون انتخاب طبیعی به این صورت است که تنها گونههایی از یک جمعیت ادامه نسل میدهند که بهترین خصوصیات را داشته باشند و آنهایی که این خصوصیات را نداشته باشند بهتدریج و در طی زمان از بین میروند. مبنای کار الگوریتمهای تکاملی نیز به همینگونه است. الگوریتمهای تکاملی دستهای از الگوریتمهای موجود هستند که با ایجاد یک جمعیت اولیه شروع کرده و بهمرورزمان سعی می کنند تا جوابها را بهبود بخشیده و بهینهترین پاسخ را تولید کنند. الگوریتمهای تکاملی این توانایی را دارند که با کمترین دانش موجود، بیشترین کارایی و بهترین جوابها را ایجاد کنند.
در هر الگوریتم تکاملی دو مفهوم بسیار مهم وجود دارد:
جستجو[۱۱۰]: مفهوم جستجو به معنای توانایی الگوریتم در تولید پاسخهای جدید و ناشناخته در فضای جستجو است. مفهوم جستجو از به دام افتادن الگوریتم در بهینههای محلی جلوگیری می کند. بهترین الگوریتم در جستجوی فضاهای جدید الگوریتم جستجوی تصادفی[۱۱۱] است. بهمنظور پیادهسازی این مفهوم در هر الگوریتم تکاملی یک گام برای جستجوی فضاهای ناشناخته در نظر گرفته شده است.
بهره برداری[۱۱۲]: مفهوم بهره برداری به معنای بهبود پاسخهای موجود برای دستیابی به یک بهینه محلی است. این مفهوم این امکان را بوجود می آورد تا پاسخهای ایجاد شده تا حد امکان بهبود یافته و بهینه شوند. این امکان نیز بایستی در الگوریتمهای تکاملی وجود داشته باشد.
الگوریتمی مناسبتر است که از این ۲ مفهوم بهطور مناسب و در کنار هم استفاده شود.
یکی از کاربردهای الگوریتمهای تکاملی، خوشهبندی اسناد، مدارک، مشتریان و… است. در ادامه تعدادی از این الگوریتمها و مطالعات انجامشده با بهره گرفتن از آنها در خوشهبندی مورد بررسی قرار گرفته است.
الگوریتم ژنتیک
الگوریتم ژنتیک یکی از معروفترین و پرکاربردترین الگوریتمهای تکاملی است که در سال ۱۹۶۲ توسط هالند[۱۱۳] معرفی گردید. الگوریتم ژنتیک با بهره گرفتن از اصول انتخاب طبیعی، برای یافتن فرمول بهینه جهت پیشبینی یا تطبیق الگو استفاده میشـوند. این الگوریتـم با بکارگیری عملگرهای ویـژه، بر روی مجمـوعهای از راه حلهای مسئله، بهگونهای استفاده می شود که جمعیت جدید در مقایسه با جمعیت قبلی و مطابق با تابع معیار از پیش تعریف شده، اصلاح شود. خروجی الگوریتم بهترین راهحلی است که در طول تکامل الگوریتم یافت شده است[۱۲۱]. الگوریتم ژنتیک با کدگذاری راه حلهای یک مسئله، بهترین جواب را برای مسئله پیدا می کنند. روشی که طبق آن راهحلها کدگذاری میشوند، نقش بسزایی در کارایی الگوریتم دارد. کدگذاری نامنـاسب، می تواند منجر به کـارایی ضعیف الگوریتم شود. عملگرهای کلی الگوریتم ژنتیک عبارتند از:
انتخاب(Selection)
ترکیب(Crossover)
جهش(Mutation)
شمای کلـی الگوریتم ژنتیک در شکل۲- ۲۵ آمده است.
شکل۲- ۲۵ شمای کلی الگوریتم ژنتیک |
در ادامه تعدادی از مطالعاتی که از الگوریتم ژنتیک در فرایند خوشهبندی استفاده کرده اند مورد بررسی قرار گرفته است.
در سال ۲۰۱۱، هان[۱۱۴] و دوستان [۱۲۱]، با بهره گرفتن از یک فرایند ۲ مرحله ای اقدام به دستهبندی مشتریان صنعت تلفن همراه در کره جنوبی نمودند. در مرحله اول آنها بر روی داده های دموگرافیک و الگوی خریدهای پیشین مشتریان حاضر در بازار تلفنهای همراه، الگوریتمهای شبکه عصبی، درخت تصمیم و رگرسیون منطقی را اجرا نموده و پتانسیل خرید آینده هر یک از مشتریان را تعیین نمودند. در مرحله دوم، آنها با بهره گرفتن از الگوریتم ژنتیک به بررسی میزان شباهت نتایج بوجود آمده از هر الگوریتم پرداختند. هدف آنها یافتن مشتریان هدف در صنعت تلفن همراه برای افزایش متوسط درآمد از هر کاربر[۱۱۵] بر اساس فروش متقاطع[۱۱۶] بود. آنها با بهره گرفتن از GA توانستند مشتریان هدف را تعیین کردند.
در سال ۲۰۰۸، چان[۱۱۷] و دوستان [۱۲]، برای انتخاب مشتریان هدف و تشکیل کمپین مشتریان روشی نوین برای دستهبندی مشتریان بر اساس ترکیب الگوریتمهای RFM و LTV و GA ارائه کردند. برای استفاده از این مدل، چان و دوستان ابتدا مقادیر مربوط به هر یک از متغیرهای RFM را به قالب دودویی تبدیل کردند. ازآنجاکه LTV پتانسیل خرید مشتری در آینده را مشخص می کند، لذا آنها مدل LTV را بهعنوان تابع برازش در الگوریتم ژنتیک در نظر گرفتند. با بهره گرفتن از الگوریتم ژنتیک و ورودیهای آنکه ارزش مشتریان هستند(RFM و LTV)، مشتریان به خوشههای مختلف دستهبندی میشوند. این مدل در سال ۲۰۰۸ بر روی مشتریان شرکت خودروسازی نیسان پیادهسازی گردید و مشتریان را به ۸ خوشه تقسیم بندی کرده و استراتژی های بازاریابی برای هر خوشه تعیین گردید.
در سال ۲۰۱۲، هو[۱۱۸] و همکاران [۱۲۲]، با تمرکز بر مشکلات الگوریتم k-means در خوشهبندی، مدل جدیدی بر مبنای الگوریتم ژنتیک ارائه کردند. شمای کلی این مدل در شکل۲- ۲۶ نشان داده شده است.
شکل۲- ۲۶ ترکیب GA و K-means (منبع:[۱۲۲]) |
با بهره گرفتن از مدل ارائهشده در شکل۲- ۲۶، مشکلات الگوریتم k-means(وابستگی به نحوه انتخاب مراکز اولیه و تعیین تعداد خوشه ها) برطرف شده و خوشهبندی مشتریان نتیجه بهتری بدنبال خواهد داشت.
در سال ۲۰۱۴ در [۱۲۳]، برای محاسبه نرخ وفاداری مشتریان و تشخیص مشتریان وفادار از غیر وفادار از الگوریتم ژنتیک در کنار RFM استفاده شده است. در این مطالعه ابتدا با بهره گرفتن از الگوریتم ژنتیک خصوصیات و ویژگیهای مشتریان وفادار در هر خوشه شناسایی شده، سپس میزان اهمیت هر یک از این ویژگیها با بهره گرفتن از ضریب همبستگی اسپیرمن[۱۱۹] تعیین شده و در انتها با بهره گرفتن از الگوریتم RFM نرخ وفاداری هریک از مشتریان تعیین میگردد. روند محاسبه نرخ وفاداری مشتریان در این مطالعه در ادامه شرح داده شده است:
خوشهبندی مشتریان با بهره گرفتن از الگوریتم k-means.
محاسبه ضریب همبستگی اسپیرمن برای تمامی ویژگیها.
تعیین ویژگیهای تأثیرگذار بر وفاداری مشتریان هر خوشه با بهره گرفتن از الگوریتم ژنتیک.
تعیین نرخ وفاداری مشتریان با بهره گرفتن از مدل RFM.
در [۱۲۴] نیز یک تکنیک ردهبندی بیزین[۱۲۰] برای مدلسازی پاسخ مشتریان، بر پایه یک الگوریتم نوین ژنتیک ارائهشده است. در این مطالعه، برای تجزیهوتحلیل ساختار، از الگوریتم ژنتیک استفاده شده تا بتوان شبکهای بهینه بهعنوان ورودی شبکهی بیزین آموزش داد.
الگوریتم رقابت استعماری
الگوریتم رقابت استعماری(ICA[121])[122] یکی از انواع الگوریتمهای تکاملی است که در سال ۲۰۰۷ توسط آقای آتشپز و همکارش در [۱۲۶] معرفی گردید. ICA الهام گرفته شده از فرایند اجتماعی-سیاسی جهان واقعی است. این الگوریتم با تقلید از روند تکامل اجتماعی، اقتصادی و سیاسی کشورها و با مدلسازی ریاضی بخشهایی از این فرایند، عملگرهایی را در قالب منظم به صورت الگوریتم ارائه میدهد که میتوانند به حل مسائل پیچیده بهینه سازی کمک کنند. همانند سایر الگوریتمهای تکاملی، الگوریتم ICA نیز با تشکیل مجموعه ای از جوابهای احتمالی اولیه، فعالیت خود را آغاز می کند. در ICA به هر یک از این جوابهای اولیه یک “کشور[۱۲۳]” میگویند. هدف الگوریتم رقابت استعماری بهبود این کشورها و یافتن بهینهترین جواب است، که برای دستیابی به این هدف روندی خاص در این الگوریتم طی می شود. الگوریتم با روندهای خاصی که در طبیعت خود نهفته است به آرامی به بهبود کشورها(جوابهای مسئله) می پردازد و درنهایت، جواب مناسب(کشورمطلوب) مسئله بهینهسازی را تعیین می کند[۱۲۷]. عملگرهای اصلی این الگوریتم را سیاست همسانسازی[۱۲۴]، رقابت استعماری[۱۲۵] و انقلاب[۱۲۶] تشکیل میدهند. مراحل الگوریتم رقابت استعماری عبارتند از:
ایجاد کشورهای اولیه
انتخاب بهترین کشورها بهعنوان استعمارگر
تخصیص سایر کشورها بهعنوان مستعمره به استعمارگرها(ایجاد امپراتوریهای(Emperialist) اولیه)
اعمال سیاست جذب(Assimilation)
اعمال سیاست انقلاب(Revolution)