ژانویه 22, 2021

پیش‌بینی رویگردانی مشتریان در مدیریت ارتباط با مشتری با استفاده از تکنیک‌های داده‌کاوی؛ مورد مطالعه …

  • کاهش نرخ یادگیری و شعاع همسایگی بر اساس رویکردی مشخص برای دوره بعد.
  • دانلود متن کامل این پایان نامه در سایت abisho.ir

  • تکرار گام‌های ۲ تا ۶ تا زمان تحقق شرط خاتمه (معمولا تعداد مشخصی تکرار).
  • K – نزدیکترین همسایه
    این الگوریتم نیز بر اساس شباهت‌ها کار می‌کند. هر داده اگر دارای n ویژگی باشد یک نقطه در فضای n بعدی است. تمام داده‌های آموزشی در فضای n بعدی ذخیره می‌شوند. زمانی که داده‌ای با کلاس نامشخص داده شود، k همسایه نزدیک به آن در این فضا شناسایی می‌شوند و برچسب داده مورد نظر با توجه به برچسب این k همسایه تعیین می‌شود (Larose 2005). برای محاسبه فاصله بین رکوردها از فاصله متری و به طور معمول از فاصله اقلیدسی استفاده می‌شود.
    مقدار پارامتر k، به‌صورت تجربی تعیین می‌شود. ابتدا با ۱=k شروع و در هر مرحله با استفاده از داده‌های تست نرخ خطای دسته‌بندی محاسبه می‌شود؛ در هر مرحله مقدار k یک واحد افزایش داده می‌شود. در انتها کوچک‌ترین k که کمترین نرخ خطا را داشته باشد، انتخاب می‌شود. کوچک بودن مقدار k باعث می‌شود داده جدید به تعداد نقاط کم‌تری وابسته باشد، در این صورت خطا زیاد می‌شود. حال اگر مقدار k بزرگ باشد، داده جدید به کلاس‌های بیشتری وابسته می‌شود، در این صورت نیز خطا زیاد است. مقدار k باید یک مقدار میانی باشد.
    از آنجایی که این الگوریتم مدلی برای دسته‌بندی داده‌ها ایجاد نمی‌کند و فقط داده‌های آموزشی را در یک فضای n بعدی قرار می‌دهد، زمان اجرای الگوریتم در مرحله آموزش کم است. ولی زمانی که داده جدیدی به الگوریتم معرفی می‌شود، برای تعیین برچسب آن محاسبات بیشتری باید انجام دهد. بنابراین زمان اجرا در مرحله تست بیشتر خواهد بود.
    ماشین بردار پشتیبان[۱۰۴] (SVM)
    ماشین‌های بردار پشتیبان در ابتدا توسط وپنیک[۱۰۵] در دهه ۹۰ میلادی توسعه داده شدند (شهرابی and شجاعی ۱۳۸۸). این الگوریتم ابزاری قدرتمند برای حل مسائل دسته‌بندی دو کلاسه است بگونه‌ای که بتوان کلاس‌ها را بطور خطی از یکدیگر جدا کرد. هدف SVM عبارت است از یافتن ابرصفحه جداکننده نقاط داده‌ای متعلق به دو کلاس با بیشترین حاشیه[۱۰۶] و بهترین توانایی تعمیم. حاشیه، از دیدگاه هندسی عبارت است از فاصله موجود بین ابر صفحه و نزدیک‌ترین نمونه آموزشی. از یک منظر دیگر، حاشیه اینگونه تعریف می‌شود: مقدار فضا یا جدایی موجود میان دو کلاس که توسط ابرصفحه تعریف می‌شود. به نزدیک‌ترین نمونه‌های آموزشی به ابر صفحه جداکننده به اصطلاح بردار پشتیبان[۱۰۷] گفته می‌شود (شهرابی and شجاعی ۱۳۸۸). شکل ۲-۶ خط جداکننده را به همراه بردارهای پشتیبان در فضای دو بعدی نشان می‌دهد.
    شکل ‏۲‑۶: خط جداکننده SVM
    تکنیک SVM در برخورد با داده‌هایی که به صورت خطی از یکدیگر جدا نمی‌شوند از یک نگاشت غیرخطی برای تبدیل داده‌های آموزشی به داده‌هایی با ابعاد بالاتر استفاده می‌کند. بدین ترتیب داده‌های تبدیل شده در ابعاد بالاتر به صورت خطی جدا پذیر خواهند بود. تابعی که وظیفه‌ی این نگاشت را به عهده دارد تابع کرنل[۱۰۸] نامیده می‌شود. همچنین، تعمیم‌هایی از الگوریتم SVM برای حل مسائل دسته‌بندی چندکلاسه توسعه یافته است. اگرچه بنابر آنچه که گفته شد تکنیک SVM ابزاری قدرتمند برای حل اکثر مسائل دسته‌بندی است، ولی از جمله مهمترین معایب آن می‌توان به این نکته اشاره کرد که این تکنیک به محاسبات پیچیده و زمان‌بر نیاز دارد. به عبارت دیگر، SVM دارای پیچیدگی الگوریتمی بالا است و همچنین نیاز به حافظه زیادی دارد.
    بیز ساده‌لوحانه[۱۰۹]
    طبقه‌بندی کننده‌های بیز، روشهایی آماری برای دسته‌بندی هستند. در این الگوریتم‌ها احتمال عضویت داده‌ها در کلاس محاسبه می‌شود. این طبقه‌بندی کننده بر پایه قضیه بیز کار می‌کند. از مزایای آن می‌توان به سرعت و دقت بالای آن‌ اشاره کرد. پس زمانی که مجموعه داده‌ بزرگ باشد، می‌توان از این طبقه‌بندی کننده استفاده کرد.
    این الگوریتم احتمال عضویت داده جدید را در هر کلاس محاسبه می‌کند و داده متعلق به کلاسی خواهد بود که بیشترین احتمال عضویت را داشته باشد. در این الگوریتم برای محاسبه احتمال عضویت فرض شده است که ویژگی‌ها از هم‌ مستقل هستند، به‌عبارت دیگر فرض می‌شود بین ویژگی‌ها هیچ هم‌بستگی وجود ندارد. اگرچه این الگوریتم از قدرت دسته‌بندی بالایی برخوردار است ولی گاهی اوقات مفروضات آن ممکن است بر دقت دسته‌بندی اثر منفی داشته باشند.
    سیستم‌های چند دسته‌بند
    سیستم‌های چند دسته‌بند (MCSs) راه حل قدرتمندی برای مسائل تشخیص الگوی[۱۱۰] پیچیده هستند. قدرت این سیستم‌ها در اجازه استفاده همزمان از روش‌های دسته‌بند متنوع برای حل یک مسئله خاص است. این سیستم‌ها با ترکیب خروجی مجموعه‌ای از دسته‌بندهای متفاوت سعی در بهبود کارایی و رسیدن به دقت بالاتر را دارند. بطور کلی MCSs شامل گروهی از الگوریتم‌های دسته‌بند متفاوت و همچنین یک تابع تصمیم برای ترکیب خروجی دسته‌بندها است. بنابراین، طراحی چنین سیستمی شامل دو بخش است: طراحی گروه دسته‌بندها و طراحی تابع ترکیب[۱۱۱] (Ghosh 2002).
    در بخش طراحی گروه دسته‌بندها دو ساختار متفاوت قابل اجراست: ساختار موازی[۱۱۲] و ساختار آبشاری[۱۱۳] (Ghosh 2002). در شکل ۲-۷ این دو ساختار نمایش داده شده است. همچنین در بخش ترکیب نتایج دسته‌بندها، توابع ترکیب گوناگونی وجود دارد. میانگین و میانگین وزنی، روشهای ترکیب غیر خطی و روش انتگرال فازی از جمله روش‌هایی هستند که در این بخش مورد استفاده قرار می‌گیرند. روش‌های ترکیب غیر خطی شامل متدهای رأی گیری، متدهای رتبه دهی و متدهای احتمالی می‌باشد. توضیح کامل روشهای ترکیب نتایج دسته‌بندها در (Xu, Krzyzk et al. 1992) و (Ruta and Gabrys 2000)ارائه شده است.
    شکل ‏۲‑۷: ساختار گروه دسته‌بندها
    ساختار سیستم و همچنین نوع تابع ترکیب مورد استفاده با توجه به مسئله مورد بررسی انتخاب می‌شوند.
    الگوریتم ژنتیک
    محاسبات تکاملی[۱۱۴]، بر مبنای تکامل یک جمعیت از جواب‌های کاندید برای حل مسئله‌های بهینه‌سازی با الهام از عملگرهای انتخاب طبیعی توسعه یافته‌اند. الگوریتم ژنتیک[۱۱۵] با تکیه بر نظریه داروین برای تولید جمعیت بعدی تکامل‌یافته‌تر از فرآیند تولید مثل الهام می‌گیرد و کاربرد گسترده‌ای در حل مسائل NP-hard دارد(Mitra and Acharya 2003). این الگوریتم با انتخاب دو عضو تصادفی از میان بهترین‌های جمعیت و انجام عمل تقاطع[۱۱۶] و جهش[۱۱۷] و تکرار آن، نسل بعدی جمعیت را تولید می‌کند. برای درک بهتر الگوریتم ژنتیک به تعاریفی نیاز است که به قرار زیر است:

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

    آنچه در این میان از اهمیت ویژه‌ای برخردار است نحوه ارزیابی اعضای جمعیت برای تعیین بهترین کروموزوم‌ها است. در الگوریتم ژنتیک این ارزیابی توسط تابعی به عنوان تابع برازندگی[۱۱۸] انجام می‌شود. تابع برازندگی با توجه به مسئله تعریف می‌شود و به هر یک از اعضای جمعیت مقداری را بر اساس مقادیر ژن‌ها نسبت می‌دهد. مراحل الگوریتم ژنتیک به صورت زیر است:

    1. ایجاد جمعیت اولیه بصورت تصادفی
    2. محاسبه تابع برازندگی برای هر عضو
    3. انتخاب والدین با توجه بر مقادیر تابع برازندگی هر عضو
    4. انجام عمل تقاطع و تولید جمعیت فرزندان
    5. انجام عمل جهش با احتمالی خاص
    6. ایجاد جمعیت جدید
    7. اگر شرایط خاتمه برقرار نبود به گام ۲ برگرد در غیر این صورت به گام ۸ برو
    8. پایان.

    برای هر یک از گام‌های این الگوریتم رویکردهای متفاوتی وجود دارد که این امر موجب شده تا نسخه‌ها و توسعه‌های زیادی از الگوریتم ژنتیک تولید شود و به ابزار قدرتمند برای حل مسائل بهینه‌سازی تبدیل شود.