Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

تشخیص انجمن در مقیاس کلان داده

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 37 Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Publicité

Similaire à تشخیص انجمن در مقیاس کلان داده (15)

Publicité

تشخیص انجمن در مقیاس کلان داده

  1. 1. ‫داده‬‫کالن‬ ‫مقیاس‬ ‫در‬ ‫انجمن‬ ‫تشخیص‬ ‫پور‬‫صدیق‬ ‫نوید‬ ‫سمینار‬ ‫استاد‬:‫میبدی‬ ‫دکتر‬ ‫سمینار‬ ‫مشاور‬ ‫و‬ ‫راهنما‬ ‫استاد‬:‫باقری‬ ‫دکتر‬ ‫ارشد‬ ‫کارشناسی‬ ‫سمینار‬–‫تابستان‬95
  2. 2. ‫فهرست‬ ‫مقدمه‬ ‫های‬‫چالش‬‫تشخیص‬‫انجمن‬ ‫داده‬‫کالن‬(Spark) GraphX ‫های‬‫روش‬‫ارزیابی‬ ‫بندی‬‫جمع‬ ‫مراجع‬ 2 / 37
  3. 3. ‫مقدمه‬
  4. 4. ‫انجمن‬ ‫تعریف‬ ‫به‬‫گروهی‬‫از‬‫رئوس‬‫در‬‫گراف‬‫که‬‫تراکم‬‫اتصاالت‬‫بین‬‫ها‬‫آن‬‫نسبت‬‫به‬‫سایر‬‫گراف‬‫بیشتر‬ ،‫است‬‫انجمن‬‫گفته‬‫شود‬‫می‬. ‫اتصاالت‬‫بین‬‫ها‬‫انجمن‬‫در‬،‫گراف‬‫اسپارس‬‫است‬. ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬ 4 / 37
  5. 5. ‫مطالعه‬‫ساختار‬‫گراف‬ ‫تحلیل‬‫گراف‬ ‫کسب‬‫اطالعات‬‫دار‬‫معنی‬‫از‬‫گراف‬ ‫باشیم؟‬ ‫انجمنی‬ ‫ساختار‬ ‫دنبال‬ ‫به‬ ‫چرا‬ 5 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  6. 6. ‫داده‬ ‫سریع‬ ‫بسیار‬ ‫رشد‬ ‫رشد‬‫ها‬‫داده‬‫به‬‫صورت‬‫نمایی‬‫است‬. ‫از‬‫سال‬2008‫تا‬،‫امسال‬‫ها‬‫داده‬‫از‬1ZB‫به‬11ZB‫اند‬‫رسیده‬‫و‬‫بینی‬‫پیش‬‫شود‬‫می‬‫تا‬‫سال‬ 2020‫تقریبا‬45ZB‫داده‬‫داشته‬‫باشیم‬.(1ZB = 1021 bytes) 6 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  7. 7. ‫شبکه‬ ‫گراف‬ ‫رشد‬ ‫همراه‬‫با‬‫رشد‬‫داده‬‫در‬،‫جهان‬‫ساحتار‬‫گراف‬‫هم‬‫بزرگ‬‫و‬‫بزرگ‬‫تر‬‫شود‬‫می‬. ‫سال‬2009 ‫سال‬2015 7 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  8. 8. ‫انجمن‬ ‫تشخیص‬ (‫ها‬‫چالش‬)
  9. 9. ‫پوشانی‬‫هم‬ ‫در‬‫صورتی‬‫که‬‫ها‬‫انجمن‬‫دارای‬‫راس‬‫مشترک‬‫باشند‬. ‫بسیاری‬‫از‬‫های‬‫شبکه‬،‫پیچیده‬‫دارای‬‫انجمن‬‫پوشان‬‫هم‬‫هستند‬. ‫کشف‬‫انجمن‬،‫پوشان‬‫هم‬‫با‬‫ارائه‬‫الگوریتم‬‫معروف‬clique percolation‫آغاز‬‫شد‬‫و‬‫پس‬ ‫از‬‫آن‬‫های‬‫الگوریتم‬Copra،Conga،Eagle‫و‬...‫ارائه‬‫شد‬. 9 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  10. 10. ‫پویایی‬ ‫در‬‫پویا‬،‫بودن‬‫مسئله‬‫اصلی‬‫زمان‬‫است‬.‫به‬‫دلیل‬‫که‬‫این‬‫اعضا‬‫در‬،‫انجمن‬‫پس‬‫از‬‫مدت‬‫ی‬‫عالقه‬ ‫خود‬‫را‬‫نسبت‬‫به‬‫موضوع‬‫از‬‫دست‬‫خواهند‬‫داد‬.‫در‬‫نظر‬‫گرفتن‬‫که‬‫این‬‫یک‬‫ارتباط‬‫می‬‫تواند‬ ‫حذف‬‫شود‬‫یا‬‫اینکه‬‫بوجود‬‫بیاید‬‫بررسی‬‫پویایی‬‫الگوریتم‬‫تشخیص‬‫انجمن‬‫اس‬‫ت‬. ‫زمانی‬‫مطرح‬‫است‬‫که‬‫های‬‫داده‬‫گراف‬‫به‬‫صورت‬‫جاری‬‫باشند‬. 10 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  11. 11. ‫مدل‬l-partition 𝑃𝑖𝑛:‫احتمال‬‫اینکه‬‫یک‬،‫راس‬‫به‬‫رئوس‬‫همان‬partition‫متصل‬‫باشد‬. : 𝑃𝑜𝑢𝑡‫احتمال‬‫اینکه‬‫یک‬،‫راس‬‫به‬‫رئوس‬‫خارجی‬‫متصل‬‫باشد‬. ‫تا‬‫زمانی‬‫که‬‫به‬‫ازای‬‫تمام‬،‫رئوس‬𝑃𝑖𝑛 ≥ 𝑃𝑜𝑢𝑡،‫باشد‬‫گراف‬‫دارای‬‫ساختار‬‫انجمنی‬‫است‬‫و‬ ‫به‬‫آن‬partition‫یک‬‫انجمن‬‫گفته‬‫شود‬‫می‬. ‫ندارد‬ ‫انجمنی‬ ‫ساختار‬‫دارد‬ ‫انجمنی‬ ‫ساختار‬ 11 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  12. 12. ‫داده‬‫کالن‬ (‫اسپارک‬)
  13. 13. ‫پایه‬ ‫مفاهیم‬ ‫تعریف‬‫داده‬‫کالن‬:‫داده‬‫های‬‫بزرگ‬‫یا‬‫کالن‬‫داده‬‫معموال‬‫به‬‫مجموعه‬‫از‬‫داده‬‫ها‬‫اطالق‬ ‫شود‬‫می‬‫که‬‫اندازه‬‫آنها‬‫فراتر‬‫از‬‫حدی‬‫است‬‫که‬‫با‬‫نرم‬‫افزارهای‬‫معمول‬‫بتوان‬‫ها‬‫آن‬‫را‬‫در‬ ‫یک‬‫زمان‬‫معقول‬،‫اخذ‬،‫سازی‬‫دقیق‬‫مدیریت‬‫و‬‫پردازش‬‫کرد‬. ‫اسپارک‬:‫چارچوب‬‫پردازش‬‫موازی‬‫داده‬ ‫مقیاس‬‫پذیر‬ ‫مقاوم‬‫در‬‫برابر‬‫خطا‬ ‫استفاده‬‫از‬RDD ‫سرعت‬‫باال‬ ‫استفاده‬‫از‬‫زبان‬‫اسکاال‬ 13 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  14. 14. ‫مفهوم‬RDD (Resilient Distributed Dataset ) RDD‫بیانگر‬‫ای‬‫مجموعه‬‫از‬‫اشیای‬‫فقط‬‫خواندنی‬‫و‬‫شده‬‫توزیع‬‫میان‬‫ها‬‫ماشین‬‫است‬. RDD‫در‬‫صورت‬‫از‬‫بین‬‫رفتن‬‫یک‬‫جزء‬‫تواند‬‫می‬‫بازسازی‬‫شود‬. RDD‫ها‬‫پس‬‫از‬‫عملیات‬‫مختلف‬‫مانند‬map،group-by‫و‬...‫بوجود‬‫آیند‬‫می‬. ‫به‬‫عنوان‬‫مثال؛‬RDD (visitID, URL)‫بازدیدها‬‫از‬‫یک‬‫وبسایت‬‫را‬‫نشان‬‫دهد‬‫می‬.‫توان‬‫می‬ RDD(URL, count)‫را‬‫از‬‫طریق‬‫نگاشت‬‫کاهش‬‫محاسبه‬‫کرد؛‬‫بدین‬‫طریق‬‫که‬‫تابع‬‫نگ‬،‫اشت‬ (URL, 1)‫را‬‫محسابه‬‫کند‬‫می‬‫و‬‫سپس‬‫ها‬‫آن‬‫را‬‫بر‬‫اساس‬URL‫کاهش‬‫دهد‬‫می‬. val visits = spark.hadoopFile("hdfs://...") val counts = visits.map(v => (v.url, 1)) reduceByKey((a, b) => a + b) 14 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  15. 15. ‫اسپارک‬ ‫خانواده‬ ‫های‬‫کتابخانه‬‫مفید‬‫اسپارک‬‫که‬‫های‬‫قابلیت‬‫بسیاری‬‫در‬‫زمینه‬‫آنالیز‬‫داده‬‫کالن‬‫ارائه‬‫اند‬‫کرده‬. Spark SQL:‫کتابخانه‬‫اسپارک‬‫برای‬‫کار‬‫با‬‫های‬‫داده‬‫ساخت‬‫یافته‬ Spark Streaming:‫کتابخانه‬‫اسپارک‬‫برای‬‫کار‬‫با‬‫های‬‫داده‬‫جاری‬ Mllib:‫کتابخانه‬‫پذیر‬‫مقیاس‬‫یادگیری‬‫ماشین‬‫اسپارک‬ GraphX:‫کتابخانه‬‫اسپارک‬‫برای‬‫انجام‬‫محاسبات‬‫موازی‬‫روی‬‫ها‬‫گراف‬ 15 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  16. 16. GraphX
  17. 17. GraphX ‫ابزار‬‫اسپارک‬‫برای‬‫تعریف‬‫گراف‬‫و‬‫انجام‬‫محاسبات‬‫موازی‬‫روی‬‫ها‬‫آن‬ ‫بسیاری‬‫از‬‫توابع‬‫مرسوم‬‫و‬‫مفید‬‫برای‬‫کار‬‫با‬‫ها‬‫گراف‬‫در‬‫این‬‫ابزار‬‫سازی‬‫پیاده‬‫ش‬‫ده‬‫است‬. 17 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  18. 18. Graph Parallel vs. Data Parallel ‫های‬‫سیستم‬graph parallel‫برای‬‫سازی‬‫پیاده‬‫های‬‫الگوریتم‬‫بازگشتی‬‫بر‬‫روی‬‫گراف‬ ‫بهینه‬‫هستند‬. ‫های‬‫سیستم‬data Parallel‫برای‬‫انجام‬‫محاسبات‬‫روی‬‫های‬‫داده‬‫موازی‬(‫مانند‬‫عملیات‬ map،join،filter‫و‬...)‫بهینه‬‫هستند‬. 18 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  19. 19. Graph Parallel vs. Data Parallel(‫ادامه‬).. GraphX‫خواص‬Data Parallel‫و‬Graph Parallel‫را‬‫با‬‫هم‬‫ترکیب‬‫کرده‬‫است‬.‫به‬ ‫طوری‬‫که‬‫تواند‬‫می‬‫بدون‬‫جابجایی‬‫داده‬‫یا‬‫تکرار‬(duplicate)،‫آن‬‫شبکه‬‫را‬‫به‬‫صورت‬ ‫گراف‬(graph parallel)‫یا‬‫به‬‫صورت‬‫جدول‬(data parallel)‫نمایش‬‫دهد‬. 19 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  20. 20. ‫مفهوم‬RDG (Resilient Distributed Property Graph) ‫در‬GraphX،RDD‫به‬RDG‫گسترش‬‫یافته‬‫است‬. RDG‫یک‬‫گراف‬‫دار‬‫جهت‬‫چندگانه‬‫است‬‫که‬‫هر‬‫راس‬‫و‬‫یال‬‫در‬،‫آن‬property‫خاص‬‫خود‬ ‫را‬‫دارد‬. ‫هر‬‫راس‬‫یک‬id‫منحصر‬‫به‬‫فرد‬‫دارد‬‫و‬‫هر‬‫یال‬‫با‬id‫مربوط‬‫به‬‫مبدا‬‫و‬‫مقصد‬‫خود‬‫شناسایی‬ ‫شود‬‫می‬. Property‫ها‬‫به‬‫صورت‬scala object‫ذخیره‬‫شوند‬‫می‬. 20 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  21. 21. ‫در‬ ‫مرسوم‬ ‫توابع‬GraphX Vertices ():‫مجموعه‬‫رئوس‬‫را‬‫به‬‫صورت‬RDD [(Id,V)]‫گرداند‬‫برمی‬. Edges ():‫مجموعه‬‫ها‬‫یال‬‫را‬‫به‬‫صورت‬RDD [(Id, Id, E)]‫گرداند‬‫برمی‬‫که‬‫شامل‬Id ‫راس‬،‫مبدا‬Id‫راس‬‫مقصد‬‫و‬attribute‫های‬‫یال‬‫مربوطه‬(E)‫است‬. mapVertices(f):‫ابتدا‬‫تابع‬f‫را‬‫روی‬‫گراف‬‫اعمال‬‫کند‬‫می‬‫که‬‫در‬‫این‬‫تابع‬‫در‬‫زوج‬‫مرتب‬ (Id,V)‫به‬‫زوج‬‫مرتب‬(Id,V2)‫نگاشت‬‫شود‬‫می‬‫و‬‫در‬‫انتها‬‫گراف‬‫جدید‬‫را‬‫گرداند‬‫برمی‬. mapEdges(f):‫ابتدا‬‫تابع‬f‫را‬‫روی‬‫گراف‬‫اعمال‬‫کند‬‫می‬‫که‬‫در‬‫این‬‫تابع‬‫در‬‫زوج‬‫مرتب‬ (Id, Id, E)‫به‬‫زوج‬‫مرتب‬(Id, Id, E2)‫نگاشت‬‫شود‬‫می‬‫و‬‫در‬‫انتها‬‫گراف‬‫جدید‬‫را‬ ‫گرداند‬‫برمی‬. filterVertices(pred)‫و‬filterEdges(pred):‫با‬‫اعمال‬‫شرط‬pred،‫زیرگرافی‬‫از‬‫گراف‬ ‫اصلی‬‫را‬‫گرداند‬‫برمی‬. updateVertices(tbl,f):‫یک‬‫یا‬‫چند‬‫راس‬‫را‬‫به‬‫گراف‬‫اضافه‬‫کند‬‫می‬. reverseEdgeDirection():‫جهت‬‫های‬‫یال‬‫گراف‬‫را‬‫عوض‬‫کند‬‫می‬. degree():‫درجه‬‫رئوس‬‫گراف‬‫را‬‫به‬‫صورت‬‫یک‬‫لیست‬‫گرداند‬‫برمی‬. 21 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  22. 22. ‫گراف‬ ‫تقسیم‬ ‫های‬‫روش‬ Edge Cut: ‫در‬‫این‬،‫روش‬‫رئوس‬‫بین‬‫ها‬‫ماشین‬‫تقسیم‬‫شوند؛‬‫می‬‫در‬‫حالی‬‫که‬‫ها‬‫یال‬‫توانند‬‫می‬‫بین‬‫م‬‫ها‬‫اشین‬ ‫گسترده‬‫باشند‬. Vertex Cut: ‫در‬‫این‬،‫روش‬‫ها‬‫یال‬‫بین‬‫ها‬‫ماشین‬‫تقسیم‬‫شوند؛‬‫می‬‫در‬‫حالی‬‫که‬‫رئوس‬‫توانند‬‫می‬‫بین‬‫م‬‫ها‬‫اشین‬ ‫گسترده‬‫باشند‬.‫این‬‫روش‬‫عملکرد‬‫بهتری‬‫نسبت‬‫به‬Edge Cut‫دارد‬. 22 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  23. 23. ‫جدولی‬ ‫نمایش‬GraphX‫از‬Vertex Cut ‫در‬ ‫ها‬‫ماشین‬ ‫بین‬ ‫ها‬‫یال‬ ‫تقسیم‬GraphX‫از‬ ‫استفاده‬ ‫با‬ ‫ها‬‫آن‬ ‫سازی‬‫ذخیره‬ ‫و‬hash table 23 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  24. 24. ‫موجود‬ ‫های‬‫الگوریتم‬ ‫تعداد‬‫های‬‫الگوریتم‬‫تشخیص‬‫انجمن‬‫که‬‫در‬‫چارچوب‬‫نگاشت‬-‫کاهش‬‫سازی‬‫پیاده‬‫ش‬‫اند‬‫ده‬ ‫کم‬‫است‬. ‫الگوریتم‬SPB-MRA(Shortest Path Between MapReduce Algorithm) ‫نسخه‬‫موازی‬‫الگوریتم‬Girvan-Newman (GN) ‫الگوریتم‬DEPOLD ‫الگوریتم‬MR-CPM(MapReduce Clique Percolation Method) ‫نسخه‬‫موازی‬‫الگوریتم‬clique percolation‫با‬‫قابلیت‬‫تشخیص‬‫رئوس‬‫پوشان‬‫هم‬ 24 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  25. 25. ‫ارزیابی‬
  26. 26. ‫مرسوم‬ ‫معیارهای‬  Speedup  Scalability  Algorithm’s Order  Coverage  Modularity  Conductance  Precision  Normalized Mutual Information  … 26 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  27. 27. ‫شاخص‬ ‫گراف‬GN(Girvan and Newman) ‫یک‬‫مدل‬‫از‬l-partition‫است‬. ‫رئوس‬‫این‬‫گراف‬‫به‬4‫گروه‬32‫تایی‬‫تقسیم‬‫شوند‬‫می‬. Danon‫و‬‫همکاران‬‫در‬‫سال‬2005‫از‬‫این‬‫مدل‬‫برای‬‫آزمایش‬‫کارایی‬‫و‬‫مقایسه‬‫کارایی‬‫های‬‫الگوریتم‬‫تشخیص‬ ‫انجمن‬‫در‬‫آن‬‫زمان‬‫استفاده‬‫کردند‬. ‫دو‬‫عیب‬‫اساسی‬‫این‬‫مدل‬: ‫همه‬‫رئوس‬‫درجه‬‫مورد‬‫انتظار‬‫مساوی‬‫دارند‬.‫در‬‫حالی‬‫که‬‫در‬‫واقعیت‬‫چنین‬‫اتفاقی‬‫نادر‬‫است‬. ‫تمام‬‫ها‬‫انجمن‬‫داراس‬‫سایز‬‫یکسانی‬‫هستند‬. ‫شاخص‬ ‫گراف‬GN‫رئوس‬ ‫برای‬ ‫متفاوت‬ ‫انتظار‬ ‫مورد‬ ‫درجات‬ ‫با‬27 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  28. 28. ‫شاخص‬ ‫گراف‬LFR ‫یک‬‫مدل‬‫خاص‬‫از‬l-partition‫که‬‫در‬‫آن‬‫درجه‬‫رئوس‬‫و‬‫سایز‬‫ها‬‫انجمن‬‫تواند‬‫می‬‫متفاوت‬‫باشد‬. ‫شاخص‬ ‫گراف‬ ‫از‬ ‫نمونه‬ ‫یک‬LFR28 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  29. 29. ‫شاخص‬ ‫گراف‬LFR(‫ادامه‬).. ‫این‬‫گراف‬‫تواند‬‫می‬‫دار‬‫وزن‬‫یا‬،‫وزن‬‫بی‬‫دار‬‫جهت‬‫یا‬‫بدون‬‫جهت‬‫و‬‫دارای‬‫راس‬‫پوشان‬‫هم‬‫یا‬ ‫پوشان‬‫غیرهم‬‫باشد‬. N:‫تعداد‬‫رئوس‬‫شبکه‬ 𝐾𝑖 𝑖𝑛 :‫تعداد‬‫های‬‫همسایه‬‫گره‬i‫که‬‫عضو‬c‫هستند‬ 𝐾𝑖 𝑜𝑢𝑡 :‫تعداد‬‫های‬‫همسایه‬‫گره‬i‫که‬‫عضو‬c‫نیستند‬ 𝐾𝑐 𝑖𝑛:‫تعداد‬‫اتصاالت‬‫ممکن‬‫در‬‫داخل‬‫انجمن‬ 𝐾𝑐 𝑜𝑢𝑡 :‫تعداد‬‫اتصاالت‬‫ممکن‬‫در‬‫خارج‬‫از‬‫انجمن‬ μ:‫نسبت‬‫درجه‬‫خروجی‬‫راس‬‫به‬‫درجه‬‫کل‬‫را‬‫نشان‬‫دهد‬‫می‬. 29 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  30. 30. ‫شاخص‬ ‫گراف‬LFR(‫ادامه‬).. ‫شرط‬‫وجود‬‫ساختار‬‫انجمنی‬:𝑃𝑖𝑛 ≥ 𝑃𝑜𝑢𝑡 ‫این‬‫عبارت‬‫را‬‫توان‬‫می‬‫بر‬‫حسب‬μ‫محاسبه‬‫کرد‬: 𝑃𝑖𝑛 ≥ 𝑃𝑜𝑢𝑡 μ < (𝑁 − 𝑛 𝑐 𝑚𝑎𝑥 Τ) 𝑁 30 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  31. 31. ‫معیار‬NMI (Normalized Mutual Information) ‫معیاری‬‫است‬‫برای‬‫تعیین‬‫کیفیت‬‫الگوریتم‬ ‫تشخیص‬‫دقیق‬‫ها‬‫انجمن‬‫در‬‫گراف‬‫یک‬‫مسئله‬NP-Complete‫است‬.‫بنابراین‬ ‫های‬‫الگوریتم‬‫این‬‫حوزه‬‫عموما‬‫تقریبی‬‫هستند‬‫که‬‫باید‬‫معیار‬‫مناسبی‬‫برای‬‫تع‬‫یین‬‫کیفیت‬ ‫ها‬‫آن‬‫ارائه‬‫شود‬. ‫اگر‬X‫و‬Y‫متغیر‬‫تصادفی‬‫ها‬‫شبکه‬،‫باشند‬mutual information‫نشان‬‫دهد‬‫می‬‫که‬‫اگر‬ X‫را‬،‫بدانیم‬‫چقدر‬‫راجع‬‫به‬Y‫اطالع‬‫داریم‬‫و‬‫برعکس‬.‫رابطه‬‫آن‬‫به‬‫این‬‫صورت‬‫است‬: {1,2,3} {1} {2,3} {4,5,6}{4,5,6} ‫ان‬ ‫تشخیص‬ ‫الگوریتم‬ ‫اجرای‬ ‫نتیجه‬‫جمن‬Ground Truth 𝐼(𝑋, 𝑌) = ෍ 𝑥 ෍ 𝑦 𝑃 𝑥, 𝑦 𝑙𝑜𝑔 )𝑃(𝑋, 𝑌 )𝑃 𝑋 𝑃(𝑌 31 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  32. 32. ‫معیار‬NMI (Normalized Mutual Information)(‫ادامه‬).. ‫ایده‬NMI‫این‬‫است‬‫که‬‫اگر‬‫دو‬‫گروه‬‫از‬،‫رئوس‬‫بسیار‬‫شبیه‬‫به‬‫هم‬،‫باشند‬‫یک‬‫گروه‬‫ب‬‫رای‬‫پی‬ ‫بردن‬‫به‬‫گروه‬‫دیگر‬‫به‬‫اطالعات‬‫کمی‬‫نیاز‬‫دارد‬. ‫تابع‬H(X)،‫آنتروپی‬‫شانون‬: 𝐻 𝑋 = − ෍ 𝑥 𝑃 𝑥 𝑙𝑜𝑔𝑃 𝑥 Mutual information‫با‬‫توجه‬‫به‬‫آنتروپی‬‫شانون‬: 𝐼 𝑋, 𝑌 = 𝐻 𝑋 − 𝐻(𝑋|𝑌) ‫این‬‫معیار‬‫برای‬‫زمانی‬‫که‬𝐻 𝑋|𝑌 = 0،‫است‬‫پاسخ‬‫مطلوبی‬‫دهد‬‫نمی‬.‫بنابراین‬NMI‫تعریف‬ ‫شد‬: 𝐼 𝑛𝑜𝑟𝑚 𝑋, 𝑌 = 2𝐼(𝑋, 𝑌) 𝐻 𝑋 + 𝐻(𝑌) ‫اگر‬‫دو‬‫پارتیشن‬‫دقیقا‬‫با‬‫هم‬‫مساوی‬،‫باشند‬NMI‫برابر‬‫با‬‫یک‬‫خواهد‬‫بود‬‫و‬‫در‬‫صورتی‬‫که‬‫هیچ‬ ‫تشابهی‬‫نداشته‬،‫باشند‬‫برابر‬‫با‬‫صفر‬‫است‬. 32 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  33. 33. ‫شاخص‬ ‫گراف‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫ها‬‫الگوریتم‬ ‫آزمایش‬GN ‫بهترین‬‫کارایی‬‫مربوط‬‫به‬‫متدهای‬simulated annealing‫و‬clauset‫است‬. 33 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  34. 34. ‫شاخص‬ ‫گراف‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫ها‬‫الگوریتم‬ ‫آزمایش‬LFR ‫نتایج‬‫آزمایش‬‫در‬‫گراف‬‫شاخص‬‫بدون‬‫جهت‬‫و‬‫وزن‬‫بی‬LFR: ‫نشان‬‫دهد‬‫می‬‫که‬‫متدهای‬simulated annealing‫و‬clauset‫برای‬‫های‬‫گراف‬‫بزرگ‬‫با‬‫سایز‬ ‫انجمن‬‫کوچک‬‫به‬‫خوبی‬‫کار‬‫کنند‬‫نمی‬. 34 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  35. 35. ‫بندی‬‫جمع‬ ‫یک‬‫الگوریتم‬‫تشخیص‬‫انجمن‬،‫خوب‬‫الگوریتمی‬‫است‬‫که‬: ‫در‬‫یافتن‬‫ها‬‫انجمن‬‫دقت‬‫و‬‫کیفیت‬‫باالیی‬‫داشته‬‫باشد‬. ‫در‬‫زمان‬،‫مناسب‬‫پاسخ‬‫مطلوب‬‫را‬‫بدهد‬. ‫برای‬‫های‬‫گراف‬‫بزرگ‬‫به‬‫خوبی‬‫مقیاس‬‫شود‬. ‫های‬‫چالش‬‫تشخیص‬‫انجمن‬‫مانند‬‫پوشانی‬‫هم‬‫را‬‫در‬‫نظر‬‫بگیرد‬. ‫در‬‫ادامه‬‫پروژه‬‫تالش‬‫خواهم‬‫کرد‬‫تا‬: ‫متدهای‬‫فعلی‬‫تشخیص‬‫را‬‫ارزیابی‬‫و‬‫یکی‬‫از‬‫های‬‫روش‬‫مطلوب‬‫را‬‫انتخاب‬‫کنم‬. ‫روشی‬‫برای‬‫سازی‬‫موازی‬‫آن‬‫در‬‫چارچوب‬‫اسپارک‬‫ارائه‬‫کنم‬. ‫الگوریتم‬‫پیشنهادی‬‫را‬‫سازی‬‫پیاده‬‫کنم‬. ‫الگوریتم‬‫را‬‫با‬‫گراف‬‫شاخص‬‫ارزیابی‬‫و‬‫مقایسه‬‫کنم‬. ‫نتیجه‬‫را‬‫به‬‫صورت‬‫ابزار‬‫قابل‬‫استفاده‬‫ارائه‬‫کنم‬. 35 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  36. 36. ‫اصلی‬ ‫مراجع‬ 1. S. Fortunato, "Community detection in graphs ," Physics reports, vol. 486, pp. 75-174, 2010. 2. M. Zaharia, M. Chowdhury, M. J. Franklin, S. Shenker, and I. Stoica, "Spark: Cluster Computing with Working Sets," HotCloud, vol. 10, pp. 10-10, 2010. 3. R. S. Xin, J. E. Gonzalez, M. J. Franklin, and I. Stoica, "Graphx: A resilient distributed graph system on spark," in First International Workshop on Graph Data Management Experiences and Systems, 2013, p. 2. 4. L. Danon, A. Diaz-Guilera, J. Duch, and A. Arenas, "Comparing community structure identification," Journal of Statistical Mechanics: Theory and Experiment, vol. 2005, p. P09008, 2005. 5. A. Lancichinetti and S. Fortunato, "Community detection algorithms: a comparative analysis," Physical review E, vol. 80, p. 056117, 2009. 36 / 37 ‫مقدمه‬‫داده‬‫کالن‬ ‫انجمن‬ ‫تشخیص‬GraphX‫ارزیابی‬‫بندی‬‫جمع‬
  37. 37. ‫داده‬‫کالن‬ ‫مقیاس‬ ‫در‬ ‫انجمن‬ ‫تشخیص‬ ‫پور‬‫صدیق‬ ‫نوید‬ ‫سمینار‬ ‫استاد‬:‫میبدی‬ ‫دکتر‬ ‫سمینار‬ ‫مشاور‬ ‫و‬ ‫راهنما‬ ‫استاد‬:‫باقری‬ ‫دکتر‬ ‫ارشد‬ ‫کارشناسی‬ ‫سمینار‬–‫تابستان‬95 ‫سپاسگزارم‬

×