خوشهبندی
آشنایی با خوشهبندی (یادگیری بدون نظارت)، الگوریتم K-Means و پیادهسازی ساده آن با پایتون خالص
خوشهبندی چیست؟
خوشهبندی (Clustering) یعنی گروهبندی خودکار دادههای مشابه — بدون اینکه کسی برچسب بدهد! این یادگیری بدون نظارت است: الگوریتم خودش ساختار داده را کشف میکند.
مثالهای واقعی:
- تقسیم مشتریان به گروههای رفتاری (پرخرج، کمخرج، خفته)
- گروهبندی اخبار بر اساس موضوع
- کشف الگو در داده ژنتیک
- فشردهسازی رنگ تصویر
الگوریتم K-Means
محبوبترین الگوریتم خوشهبندی؛ K یعنی تعداد خوشهها (که ما انتخاب میکنیم). مراحل:
- K نقطه بهعنوان مرکز خوشه انتخاب کن (تصادفی)
- هر داده را به نزدیکترین مرکز نسبت بده
- مراکز را به میانگین اعضای خوشه منتقل کن
- به مرحله ۲ برگرد و تکرار کن تا دیگر تغییری نشود
مثال شهودی
فرض کنید نقشه خانههای یک شهر دارید و میخواهید ۲ سوپرمارکت بگذارید که مجموع فاصله همه خانهها کمینه باشد. K-Means دقیقاً همین کار را میکند: جای بهینه دو «مرکز» را پیدا میکند و هر خانه به نزدیکترین سوپرمارکت اختصاص مییابد.
انتخاب K چقدر باشد؟
- گاهی تعداد خوشه از قبل معلوم است (مثلاً ۳ سایز لباس)
- وگرنه با روش آرنج (Elbow Method): برای K های مختلف، «مجموع فاصله تا مراکز» را رسم کنید؛ جایی که نمودار مثل آرنج خم میشود، K مناسب است
محدودیتها
- باید از قبل K را مشخص کنید
- به مقیاس ویژگیها حساس است (اول مقیاسبندی کنید!)
- خوشههای گرد فرض میکند؛ برای شکلهای عجیب مناسب نیست
- به انتخاب اولیه مراکز حساس است
نکته: خوشهبندی «کشفکننده» است نه «پیشبینیکننده»؛ خروجی آن نیاز به تفسیر انسانی دارد. بعد از خوشهبندی مشتریان، خودتان باید بگویید «این گروه، مشتریان وفادار هستند»!
جمعبندی
- خوشهبندی = گروهبندی خودکار مشابهها بدون برچسب
- K-Means: تکرار انتساب به نزدیکترین مرکز + بهروزرسانی مراکز
- انتخاب K با روش آرنج
- خروجی خوشهبندی نیاز به تفسیر دارد
این مبحث بخشی از دوره آموزش کامل علم داده است.