نگاهی اجمالی بر آنچه در این نوشتار یاد می گیریم:
- درباره خوشه بندی به عنوان یکی از محبوب ترین تکنیک های طبقه بندی بدون نظارت با هم صحبت خواهیم کرد.
- با هم یاد خواهیم گرفت که قرار گرفتن داده ها در خوشه ها بر چه اساسی است.
- با معنی K و خوشه بندی سلسله مراتبی و تفاوت بین این دو آشنا خواهیم شد.
مقدمه
یک روز صبح که آرام در دفتر کارتان نشسته اید، مدیرارشد بازاریابی یک شرکت سراسیمه وارد می شود و ملتمسانه می گوید: من مشکل دارم آقا، مشکل. لطفا به من کمک کنید.
و شما نگران می پرسید: چه شده است؟ چه مشکلی پیش آمده است.
مدیرکه معلوم است خیلی نگران است، می گوید: من نمی دانم در این وضع بازار چکاری باید انجام بدهم. انگار دیگر مشتریانم را نمی شناسم. لطفا، لطفا به من کمک کنید مشتریان خود را بهتر درک کنم، بهتر بشناسم.
خوب! خدا را شکر، مشکل کاری است و لبخندی می زنید.
این داستان دقیقا یک روز صبح برای من اتفاق افتاد و برای یک لحظه تحلیلگر درونم کاملاً متحیر و نمی دانست چه باید بکند!
من به عنوان یک معلم آمار،علم داده و مشاور صنایع مختلف به مشکلات خاص عادت دارم؛ اما، درخواست آقای مدیر خیلی کلی بود و من با این مدل درخواست تا آن زمان مواجه نشده بودم. اگر قرار بود مقدار موجودی مورد نیاز را پیش بینی کنم، ارزش زمانی محصولی را بدست آورم یا این قبیل مسائل، به چشم بر هم زدنی انجام می دادم؛ اما، این سئوال کلی در آن روز تکانم داد.
این قبیل سئوالات کلی، معمولاً اولین واکنش به شیوه های یادگیری بدون نظارت (Unsupervised) است! شما به دنبال بینش های خاص برای یک پدیده نیستید؛ اما، آنچه به دنبال آن هستید، ایجاد ساختارهایی با داده هاست؛ بدون اینکه آن ساختارها از قبل به نتیجه ای خاص مرتبط باشند.
به روش و شیوه شناسایی گروه های مشابه از داده ها در یک مجموعه داده، خوشه بندی (clustering) می گویند. خوشه بندی یکی از محبوب ترین تکنیک ها در علم داده است.
اعضاء و موجودیت های هر گروه نسبتاً شبیه به هم و البته، متفاوت از اعضاء و موجودیت های سایر گروه ها هستند.
در این مقاله، قصد دارم شما را با انواع خوشهبندی، الگوریتمهای مختلف خوشهبندی و مقایسه بین دو مورد از متداولترین روشهای خوشهبندی آشنا کنم.
بیائید با هم یادگیری را شروع کنیم.
فهرست مطالب
بررسی اجمالی
انواع خوشه بندی
انواع الگوریتم های خوشه بندی
خوشه بندی K-Means
خوشه بندی سلسله مراتبی
تفاوت بین خوشه بندی K-Means و سلسله مراتبی
کاربردهای خوشه بندی
بهبود الگوریتم های یادگیری نظارت شده با خوشه بندی
1- بررسی اجمالی
خوشهبندی برای شناسایی گروههایی از اشیاء که به هم شبیه هستند، مورد استفاده قرار می گیرد. بنابراین، الگوریتم های خوشه بندی وظیفه دارند مجموعه نقاط داده های موجود را به تعدادی گروه تقسیم کنند؛ به طوری که نقاط موجود در یک گروه بیشتر شبیه سایر نقاط داده در همان گروه بوده و متفاوت با اعضاء سایر گروهها باشد. به عبارت سادهتر، هدف تفکیک داده های با ویژگیهای مشابه و تخصیص آنها به خوشههاست.
با چند مثال کاربردی، مفهوم خوشه بندی قابل فهم تر خواهد بود.
فرض کنید، شما مدیر یک فروشگاه هستید با مشتریانی که مانند سایر فروشگاهها، هر کدام دارای ویژگی های متفاوت هستند و می خواهید علاقه ها و ترجیحات مشتریان خود را برای گسترش و بهبود کسب و کار متوجه شده و درک کنید.
آیا این امکان وجود دارد که تک تک جزئیات ویژگیهای هر مشتری را مد نظر قرار داده و برای هر کدام استراتژی تجاری منحصر به فرد طراحی کنید؟ قطعا، نه. اما، کاری که میتوانید انجام دهید این است که همه مشتریان خود را بر اساس عادتهای خریدشان مثلا به ۱۰ گروه تقسیم و از استراتژی های جداگانه برای مشتریان در هر یک از این ۱۰ گروه استفاده کنید. این همان چیزی است که ما به آن خوشه بندی می گوییم.
اکنون، که مفهوم خوشهبندی را با هم بررسی کردیم، بیایید نگاهی به انواع خوشه بندی بیندازیم.
2- انواع خوشه بندی
به طور کلی، خوشه بندی را می توان به دو زیر گروه تقسیم کرد: خوشه بندی سخت و نرم.
خوشه بندی سخت: در خوشه بندی سخت، هر نقطه داده یا به طور کامل به یک خوشه تعلق دارد یا خیر. به عنوان مثال، در مثال بالا، هر مشتری در یک گروه از 10 گروه قرار می گیرد.
خوشه بندی نرم : در خوشه بندی نرم، به جای قرار دادن هر نقطه داده در یک خوشه جداگانه، احتمال یا احتمال وجود آن نقطه داده در آن خوشه ها اختصاص داده می شود. به عنوان مثال، از سناریوی بالا به هر مشتری احتمالی اختصاص داده می شود که در یکی از 10 خوشه فروشگاه خرده فروشی باشد.
3- انواع الگوریتم های خوشه بندی
از آنجایی که خوشهبندی کاری ذهنی است، ابزارهایی که میتوان برای دستیابی به این هدف به کار برد، بسیار است. این ابزارها باید بتوانند شباهت بین داده ها را تشخیص دهند و هر روش از مجموعه قوانین متفاوتی برای تعریف « شباهت» بین نقاط داده استفاده می کند. در واقع، بیش از 100 الگوریتم خوشه بندی شناخته شده است؛ اما، تعداد کمی از این الگوریتمها به طور رایج مورد استفاده قرار میگیرند. اجازه بدهید در ادامه به جزئیات هر کدام از این مدلها بپردازیم.
مدلهای اتصال: همانطور که از نام آن پیداست، این مدلها بر اساس این تصور هستند که نقاط داده نزدیکتر در فضای داده، شباهت بیشتری به یکدیگر دارند تا نقاط داده ای دورتر.
این مدل ها می توانند از دو رویکرد پیروی کنند. در رویکرد اول، با طبقه بندی تمام نقاط داده در خوشه های جداگانه و سپس جمع آوری آنها با کاهش فاصله شروع می کنند. در رویکرد دوم، تمام نقاط داده به عنوان یک خوشه طبقه بندی می شوند و سپس با افزایش فاصله تقسیم بندی می شوند. در این دو حالت، انتخاب تابع فاصله ذهنی است.
تفسیر این مدل ها بسیار آسان است، اما فاقد مقیاس پذیری برای مدیریت مجموعه داده های بزرگ هستند. از این مدل ها می توان به الگوریتم خوشه بندی سلسله مراتبی و انواع آن اشاره کرد.
مدلهای مرکز: این الگوریتمهای خوشهبندی از نوع تکراری هستند و در آنها مفهوم شباهت از نزدیکی یک نقطه داده به مرکز خوشهها به دست میآید. الگوریتم خوشه بندی K-Means یک الگوریتم محبوب است که در این دسته قرار می گیرد.
در این مدل ها شماره خوشه های مورد نیاز در انتها باید از قبل ذکر شوند، که داشتن دانش قبلی از مجموعه داده را با اهمیت می کند. این مدل ها به صورت تکراری اجرا می شوند تا بهینه محلی را پیدا کنند.
مدلهای توزیع: این مدلهای خوشهبندی مبتنی بر این مفهوم هستند که چقدر احتمال دارد که همه نقاط داده در خوشه به یک توزیع تعلق داشته باشند (به عنوان مثال: عادی، گاوسی). این مدلها اغلب از مشکل “بیش از حد مناسب بودن” رنج میبرند. نمونه محبوب این مدلها الگوریتم حداکثرسازی امید ریاضی است که از توزیعهای نرمال چند متغیره استفاده میکند.
مدلهای چگالی: این مدلها فضای داده را برای مناطقی با چگالی متفاوت نقاط داده در فضای داده جستجو میکنند. نواحی مختلف چگالی مختلف را جدا کرده و نقاط داده را در این مناطق در یک خوشه اختصاص می دهد. نمونه های محبوب مدل های چگالی DBSCAN و OPTICS هستند.
در ادامه این نوشتار، تلاش می کنم تا شما را با دو مورد از محبوب ترین الگوریتم های خوشه بندی به تفصیل آشنا کنم. این دو الگوریتم، الگوریتم هایی نیستند بجز خوشه بندی به روش K Means و خوشه بندی سلسله مراتبی.
شروع کنیم.
4- k به معنای خوشه بندی است
K mean یک الگوریتم خوشهبندی تکراری است که هدف آن یافتن ماکزیمم محلی در هر تکرار است. همانطور که قبلا هم ذکر کردم و بابت یادآوری، در این الگوریتم در ابتدا باید تعداد خوشه ها را تعیین کنیم.
این الگوریتم طی 5 مرحله عمل می کند:
- تعداد دلخواه خوشه K را مشخص کنید: اجازه دهید k=2 را برای این 5 نقطه داده در فضای دو بعدی انتخاب کنیم.
یک پاسخ