واسط عضوی از یک مجموعه داده یا خوشه (به انگلیسی: Cluster) بوده که مجموع تفاوت‌هایش از دیگر اعضای آن مجموعه کمینه است.[۱] واسط‌ از نظر عملکرد شبیه به میانگین (به انگلیسی: Mean) و مرکزوار (به انگلیسی: Centroid) است. البته، یک تفاوت اساسی میان آن‌ها وجود دارد. باید به این نکته توجه کرد که واسط‌ حتما عضوی از مجموعه مدنظر است؛ این در حالی است که میانگین و مرکزوار می‌توانند مقداری خارج از مجموعه داشته باشند.

تفاوت واسط و میانگین
تفاوت واسط و میانگین

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

اساس تعریف واسط‌ها به استفاده‌ی آن‌ها در الگوریتم خوشه‌بندی کی‌-واسط (به انگلیسی: K-Medoids) بر می‌گردد. از نظر عملکردی، الگوریتم کی‌-واسط شبیه به الگوریتم کی-میانگین (به انگلیسی: K-Means) است. نقطه‌ی تفاوت این دو الگوریتم را می‌توان در امکان تعریف‌پذیر نبودن میانگین دانست. در این صورت، استفاده از الگوریتم کی‌-واسط پیشنهاد می‌شود.

تعریف ویرایش

فرض کنید   مجموعه‌ نقاطی از یک فضای متری (به انگلیسی: Metric space) با تابع فاصله‌   باشد. واسط این مجموعه، یا همان  ، به صورت زیر تعریف می‌شود:

 

مثال ویرایش

فرض کنید   یک مجموعه داده دلخواه در فضای دو بعدی باشد. فاصله‌ی اقلیدسی دو به دوی نقاط به صورت زیر است:

 

 
 
 
 
 
 
 
 
 
 

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

الگوریتم‌های محاسبه واسط ویرایش

فرض کنید مجموعه   داده شده است.

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

RAND[۳] ویرایش

این الگوریتم میانگین فاصله هر نقطه تا بقیه نقاط را با نمونه‌برداری (به انگلیسی: Sampling) از زیرمجموعه‌ای تصادفی از نقاط دیگر تخمین می‌زند. این کار از   زمان خواهد برد.

TOPRANK[۴] ویرایش

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

TRIMED[۵] ویرایش

این الگوریتم با استفاده از نابرابری مثلثی و با داشتن یک آگاهی اولیه از توزیع نقاط می‌تواند واسط را به صورت دقیق محاسبه کند. این کار از   زمان خواهد برد.

QUICK-SELECT[۶] ویرایش

در صورتی که تمام نقاط مجموعه بر روی یک خط قرار بگیرند، کافی است میانه‌ این نقاط را محاسبه کنیم. این کار از   زمان خواهد برد.

منابع ویرایش

  1. Struyf, Anja; Hubert, Mia; Rousseeuw, Peter (1997-02-10). "Clustering in an Object-Oriented Environment". Journal of Statistical Software (به انگلیسی). 1: 1–30. doi:10.18637/jss.v001.i04. ISSN 1548-7660.
  2. Van der Laan, Mark; Pollard, Katherine; Bryan, Jennifer (2003-08-01). "A new partitioning around medoids algorithm". Journal of Statistical Computation and Simulation. 73 (8): 575–584. doi:10.1080/0094965031000136012. ISSN 0094-9655.
  3. Eppstein, David; & Wang, Joseph (2006); "Fast approximation of centrality", in Graph Algorithms and Applications, 5, pp. 39-45
  4. Okamoto, Kazuya; Chen, Wei; Li, Xiang-Yang (2008). Preparata, Franco P.; Wu, Xiaodong; Yin, Jianping (eds.). "Ranking of Closeness Centrality for Large-Scale Social Networks". Frontiers in Algorithmics (به انگلیسی). Berlin, Heidelberg: Springer: 186–195. doi:10.1007/978-3-540-69311-6_21. ISBN 978-3-540-69311-6.
  5. Newling, James; & Fleuret, François (2016); "A sub-quadratic exact medoid algorithm", in Proceedings of the 20th International Conference on Artificial Intelligence and Statistics, PMLR 54:185-193, 2017
  6. Hoare, Charles Antony Richard (1961); "Algorithm 65: find", in Communications of the ACM, 4(7), 321-322