تفاوت اصلی بین مفهوم "association" و "community" در ارتباط با شبکهها یا گرافها به شرح زیر است:
Associationیا ارتباط: به رابطه و اتصال بین دو یا چند عنصر در یک شبکه یا ساختار گرافی اشاره دارد. این مفهوم به نحوهی ارتباط یا ارتباطات بین عناصر میپردازد، بدون ارائهی هرگونه تعریف خاصی از گروه یا جامعه.
Communityیا جامعه: به مجموعهای از عناصر درون یک شبکه یا گراف که با یکدیگر ارتباطات نزدیکی دارند و به صورت گستردهتر با یکدیگر ارتباط برقرار میکنند، اشاره دارد. این عناصر معمولاً درون یک گروه خاص مشخص میشوند و میتوانند با توجه به ویژگیهای مختلف مشترک، به عنوان یک جامعه یا انجمن تشخیص داده شوند
در کل associationبه رابطه و اتصال بین عناصر در یک شبکه اشاره دارد، در حالی که "community" به گروههای عناصر مشابه یا مرتبط درون یک شبکه میپردازد که ارتباطات نزدیکی با یکدیگر دارند و به صورت جامعهای در نظر گرفته میشوند.
بطور کلی association به ارتباطات و روابط میان عناصر یک شبکه یا گراف اشاره دارد. این ارتباطات ممکن است براساس معیارهای مختلفی مانند وابستگی، همبستگی یا تقارن بین دو یا چند عنصر تعریف شود. به عنوان مثال، ارتباطات بین کاربران در شبکههای اجتماعی مانند دنبال کردن یکدیگر، لایک کردن یا ارسال پیامها ممکن است نمونههایی از ارتباطات یاassociation باشند.
به عنوان مقابل، "community" یا "جامعه" به گروههایی از عناصر داخل یک شبکه یا گراف اشاره دارد که این عناصر به علت ویژگیهای مشترک یا روابط نزدیک با یکدیگر، به صورت یک واحد تشخیص داده میشوند. این گروهها یا انجمنها میتوانند با توجه به تحلیل شبکهای، خوشهبندی روابط، محتوای مشترک یا حتی نقشهای مشابه تشخیص داده شوند.
به عنوان مثال، در شبکههای اجتماعی، افرادی که با یکدیگر در ارتباطات نزدیکی هستند، نه تنها ممکن است association داشته باشند به عنوان مثال، دو نفر که یکدیگر را دنبال میکنند، بلکه ممکن است به عنوان یک انجمن یا جامعه در نظر گرفته شوند اگر ویژگیهای مشترک بیشتری نیز داشته باشند، مثلاً علایقیا فعالیتهای مشابه.
الگوریتم هایassociation
الگوریتمهایassociation معمولاً برای کشف الگوها، روابط و ارتباطات بین دادهها استفاده میشوند. این الگوریتمها به عنوان ابزارهایی برای کشف قوانینیا الگوهای مخفی در دادهها، مانند قوانین خریداری همزمان، تحلیل جریانهای کاربری، پیشبینی عملکرد و... عمل میکنند.
چندین الگوریتم برای کشف این ارتباطات و الگوها وجود دارد. برخی از معروفترین الگوریتمهایAssociation عبارتند از:
Apriori Algorithm:
یکی از پرکاربردترین الگوریتمهایAssociation است. این الگوریتم به دنبال الگوها یاitemsets مجموعههای محصولات یا آیتمهایی که معمولاً با هم خریداری میشوند در دادههای فروش یا سیستمهای پشتیبانی مشتری میگردد.
FP-Growth Frequent Pattern Growth:
یک الگوریتم دیگر برای استخراج الگوهای متداول یاpattern های مکرر از دادههای معمولاً معین شده است. این الگوریتم به صورت گامبهگام الگوهای مکرر را بازیابی و شناسایی میکند.
Eclat Algorithm:
یک الگوریتم دیگر برای دادههای با حجم بالا و مجموعههای آیتمهای بزرگ استفاده میشود. این الگوریتم نیز مانند Apriori به دنبال itemset های متداول و الگوهای خاصی در دادهها میگردد.
CARMA Classification and Regression based Mining Algorithm:
این الگوریتمها از رویکردهای دستهبندی و رگرسیونی استفاده میکنند تا الگوهایAssociation را استخراج کنند.
این الگوریتمها به طور گسترده در حوزههای مختلفی مانند بازاریابی، پشتیبانی تصمیمگیری، مدیریت مشتری و معاملات مالی برای کشف الگوهای خریداری، پیشبینی رفتار مشتری و بهبود استراتژیهای کسب و کار استفاده م
الگوریتم های تشخیص جوامع یاCommunity Detection، یک مسئله مهم در شبکههای پیچیده است که الگوریتمهای مختلفی برای حل آن وجود دارد. برخی از الگوریتمهای بهینهسازی مربوط به این حوزه عبارتند از:
الگوریتمهای خوشهبندیClustering Algorithms: مانند K-MeansیاDBSCAN که اعضای شبکه را به گروههای خوشهبندی میکنند.
الگوریتمهای تطبیقی: از جمله الگوریتمهاییادگیری ماشینییا شبکههای عصبی که برای شناسایی الگوها و جوامع در شبکهها استفاده میشوند.
الگوریتمهای تکاملی: مانند الگوریتمهای ژنتیکیا الگوریتمهای بهینهسازی مبتنی بر جمعیت که به دنبال پیدا کردن ساختارهای بهینهتر در شبکهها هستند.
الگوریتمهای شبکهایNetwork-based Algorithms: مانند اجتماعیابی گراف Graph Partitioning که تلاش میکنند اجزای مختلف گراف را به صورت بهینهتری تقسیم کنند.
روشهای تجزیهوتحلیل ماتریسی: مانند تجزیه مقادیر ویژهEigenvalue Decomposition که با تجزیه ماتریسهای مرتبط با شبکه، جوامع را شناسایی میکنند.
این الگوریتمها بسته به ماهیت و خصوصیات شبکه، اندازه دادهها و اهداف تشخیص جوامع مورد استفاده قرار میگیرند. همچنین، معیارهای مختلفی برای تعریف و ارزیابی جوامع وجود دارند که ممکن است الگوریتمهای مختلف را برای تشخیص جوامع مناسبتر کنند.
منابع:
1 fa.wikipedia.org 2fa.mldunbound.org 3stackoverflow.com 4fa.wikipedia.org 5en.wikipedia.org