معیار silhouette؛ بایدها و نبایدها
یکی از معیارهایی که برای سنجش کیفیت خوشهبندی ازش میشه استفاده کرد معیار silhouette است. در مسایلی که برچسب ground truth وجود نداره، برای ارزیابی کیفیت خوشهبندی باید از معیارهای ریاضیاتی استفاده کنیم تا کیفیت خوشهبندی مشخص بشه. این معیار به ازای هر سمپل در دیتا محاسبه میشه و برای محاسبه روی کل دیتا معمولا یه تجمیع مثلا از جنس میانگین بر روی اون انجام میشه. این معیار در واقع تشویق میکنه که سمپلهای هر خوشه بهم نزدیک باشند و همزمان سمپلهای یک خوشه بیشترین فاصله رو از نزدیکترین خوشه به خودشون داشته باشند. به همین دلیل هر چقدر خوشهها چگالتر باشند و بهتر از هم جدا شده باشند، مقدار بزرگتری به خودش میگیره. خروجی این معیار بین -۱ تا +۱ است که هر چقدر به +۱ نزدیکتر باشه نشون میده خوشهبندی بهتر انجام شده و هر چقدر به -۱ نزدیکتر باشه نشون میده سمپلها به خوشههای اشتباهی تخصیص داده شدند. مقادیر نزدیک به صفر هم نشوندهنده اینه که خوشهها به مقدار زیادی با هم همپوشانی دارند. اما یه نکته مهم که معمولا در استفاده از این معیار بهش توجه نمیشه، اون پیشفرضی هست که برای محاسبه این معیار درنظر گرفته شده. در واقع این معیار همواره برای خوشههایی که شکل دایرهای تر دارند بیشتر از خوشههای غیر دایرهای شکل (همانند خوشههایی که روشی مانند DBSCAN براتون درمیاره) خواهد بود. در صورتی که فهمیدید شکل خوشهها از حالت دایرهای خارج شده باید از معیارهای دیگهای برای سنجش کیفیت خوشهبندی استفاده کنید. یکی از این معیارها Bayes Information Criterion است که فرمولش رو در تصویر میتونید ببینید.
پ.ن: در تصویر زیر به ترتیب ۳ نوع دیتاست میبینید که در بالای تصویر امتیاز silhouette برای هر سه دیتاست به ترتیب و برای روش های مختلف کلاسترینگ نشون داده شده. همون طور که میبینید برای دیتاست اول و دوم در حالی که روش mini-batch kmeans به طور اشتباه خوشهبندی رو انجام داده اما امتیاز بالاتری گرفته.
منابع:
[1] https://scikit-learn.org/stable/modules/clustering.html#silhouette-coefficient
[2] Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow: Chapter 9
#handsOn
@nlp_stuff
Post #295
3.17K