تشخیص انجمن در مقیاس کلان داده
TRANSCRIPT
تشخیص انجمن در مقیاس کالن داده
نوید صدیق پوردکتر میبدی: استاد سمینار
دکتر باقری : استاد راهنما و مشاور سمینار
95تابستان –سمینار کارشناسی ارشد
فهرست
مقدمهانجمنتشخیصچالش هایکالن داده(Spark)GraphX
ارزیابیروش هایجمع بندیمراجع
2 / 37
مقدمه
تعریف انجمن
بیشترگرافسایربهنسبتآن هابیناتصاالتتراکمکهگرافدررئوسازگروهیبه.می شودگفتهانجمناست،
استاسپارسگراف،درانجمن هابیناتصاالت.
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
4 / 37
گرافساختارمطالعهگرافتحلیلگرافازمعنی داراطالعاتکسب
چرا به دنبال ساختار انجمنی باشیم؟
5 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
رشد بسیار سریع داده
استنماییصورتبهداده هارشد.
1ازداده هاامسال،تا2008سالازZB11بهZBسالتامی شودپیش بینیورسیده اند1ZB).باشیمداشتهداده45ZBتقریبا2020 = 1021 bytes)
6 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
رشد گراف شبکه
می شودتربزرگوبزرگهمگرافساحتارجهان،دردادهرشدباهمراه.
2009سال 2015سال 7 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
تشخیص انجمن(چالش ها)
هم پوشانی
باشندمشترکراسدارایانجمن هاکهصورتیدر.هستندهم پوشانانجمندارایپیچیده،شبکه هایازبسیاری.
معروفالگوریتمارائهباهم پوشان،انجمنکشفclique percolationپسوشدآغاز.شدارائه...وCopra،Conga،Eagleالگوریتم هایآناز
9 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
پویایی
عالقهیمدتازپسانجمن،دراعضااین کهدلیلبه.استزماناصلیمسئلهبودن،پویادر تواندمیارتباطیکاین کهگرفتننظردر.دادخواهنددستازموضوعبهنسبتراخود
.تاسانجمنتشخیصالگوریتمپویاییبررسیبیایدبوجوداینکهیاشودحذفباشندجاریصورتبهگرافداده هایکهاستمطرحزمانی.
10 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
l-partitionمدل
𝑃𝑖𝑛:همانرئوسبهراس،یکاینکهاحتمالpartitionباشدمتصل.: 𝑃𝑜𝑢𝑡باشدمتصلخارجیرئوسبهراس،یکاینکهاحتمال.رئوس،تمامازایبهکهزمانیتا𝑃𝑖𝑛 ≥ 𝑃𝑜𝑢𝑡،واستانجمنیساختاردارایگرافباشد
.می شودگفتهانجمنیکpartitionآنبه
ساختار انجمنی داردساختار انجمنی ندارد11 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
کالن داده(اسپارک)
مفاهیم پایه
اطالقهادادهازمجموعهبهمعموالدادهکالنیابزرگهایداده:کالن دادهتعریفدرراآن هابتوانمعمولافزارهاینرمباکهاستحدیازفراترآنهااندازهکهمی شود
.کردپردازشومدیریتدقیق سازی،اخذ،معقولزمانیکدادهموازیپردازشچارچوب:اسپارک
پذیرمقیاسخطابرابردرمقاومازاستفادهRDD
باالسرعتاسکاالزبانازاستفاده
13 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
RDDمفهوم (Resilient Distributed Dataset )
RDDاستماشین هامیانتوزیع شدهوخواندنیفقطاشیایازمجموعه ایبیانگر.RDDشودبازسازیمی تواندجزءیکرفتنبینازصورتدر.RDDمانندمختلفعملیاتازپسهاmap،group-byمی آیندبوجود...و.مثال؛عنوانبهRDD (visitID, URL)می توان.می دهدنشانراوبسایتیکازبازدیدها
RDD(URL, count)اشت،نگتابعکهطریقبدینکرد؛محاسبهکاهشنگاشتطریقازرا(URL, .می دهدکاهشURLاساسبرراآن هاسپسومی کندمحسابهرا(1
val visits = spark.hadoopFile("hdfs://...")
val counts = visits.map(v => (v.url, 1))
reduceByKey((a, b) => a + b)
14 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
خانواده اسپارک
کرده اندارائهکالن دادهآنالیززمینهدربسیاریقابلیت هایکهاسپارکمفیدکتابخانه های.
Spark SQL:یافتهساختداده هایباکاربرایاسپارککتابخانهSpark Streaming:جاریداده هایباکاربرایاسپارککتابخانهMllib:اسپارکماشینیادگیریمقیاس پذیرکتابخانهGraphX:گراف هارویموازیمحاسباتانجامبرایاسپارککتابخانه
15 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
GraphX
GraphX
آن هارویموازیمحاسباتانجاموگرافتعریفبرایاسپارکابزاراستدهشپیاده سازیابزارایندرگراف هاباکاربرایمفیدومرسومتوابعازبسیاری.
17 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
Graph Parallel vs. Data Parallel
سیستم هایgraph parallelگرافرویبربازگشتیالگوریتم هایپیاده سازیبرای.هستندبهینه
سیستم هایdata Parallelعملیاتمانند)موازیداده هایرویمحاسباتانجامبرایmap،join،filterهستندبهینه(...و.
18 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
Graph Parallel vs. Data Parallel(ادامه)..
GraphXخواصData ParallelوGraph Parallelبه.استکردهترکیبهمباراصورتبهراشبکهآن،(duplicate)تکراریادادهجابجاییبدونمی تواندکهطوریgraph)گراف parallel)جدولصورتبهیا(data parallel)دهدنمایش.
19 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
RDG (Resilient Distributed Property Graph)مفهوم
درGraphX،RDDبهRDGاستیافتهگسترش.RDGآن،دریالوراسهرکهاستچندگانهجهت دارگرافیکpropertyخودخاص
.داردرا
یکراسهرidبایالهروداردفردبهمنحصرidشناساییخودمقصدومبدابهمربوط.می شود
Propertyصورتبههاscala objectمی شوندذخیره.
20 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
GraphXتوابع مرسوم در
Vertices RDDصورتبهرارئوسمجموعه :() [(Id,V)]برمی گرداند.Edges RDDصورتبهرایال هامجموعه :() [(Id, Id, E)]شاملکهبرمی گرداندId
.است(E)مربوطهیالهایattributeومقصدراسIdمبدا،راس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تشخیص انجمن
روش های تقسیم گراف
Edge Cut:اشین هامبینمی توانندیال هاکهحالیدرمی شوند؛تقسیمماشین هابینرئوسروش،ایندر
.باشندگسترده
Vertex Cut:اشین هامبینمی توانندرئوسکهحالیدرمی شوند؛تقسیمماشین هابینیال هاروش،ایندر
Edgeبهنسبتبهتریعملکردروشاین.باشندگسترده Cutدارد.
22 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
Vertex Cutاز GraphXنمایش جدولی
hash tableو ذخیره سازی آن ها با استفاده از GraphXتقسیم یال ها بین ماشین ها در
23 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
الگوریتم های موجود
ده اندشپیاده سازیکاهش-نگاشتچارچوبدرکهانجمنتشخیصالگوریتم هایتعداد.استکم
الگوریتمSPB-MRA(Shortest Path Between MapReduce Algorithm)
الگوریتمموازینسخهGirvan-Newman (GN)
الگوریتمDEPOLD
الگوریتمMR-CPM(MapReduce Clique Percolation Method)
الگوریتمموازینسخهclique percolationهم پوشانرئوستشخیصقابلیتبا
24 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
ارزیابی
معیارهای مرسوم
Speedup
Scalability
Algorithm’s Order
Coverage
Modularity
Conductance
Precision
Normalized Mutual Information
…
26 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
GN(Girvan and Newman)گراف شاخص
ازمدلیکl-partitionاست.می شوندتقسیمتایی32گروه4بهگرافاینرئوس.
Danonتشخیصالگوریتم هایکاراییمقایسهوکاراییآزمایشبرایمدلایناز2005سالدرهمکارانو.کردنداستفادهزمانآندرانجمن
مدلایناساسیعیبدو:استنادراتفاقیچنینواقعیتدرکهحالیدر.دارندمساویانتظارمورددرجهرئوسهمه.هستندیکسانیسایزداراسانجمن هاتمام.
37 / 27با درجات مورد انتظار متفاوت برای رئوسGNگراف شاخص
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
LFRگراف شاخص
ازخاصمدلیکl-partitionباشدمتفاوتمی تواندانجمن هاسایزورئوسدرجهآندرکه.
LFR28 / 37یک نمونه از گراف شاخص
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
..(ادامه)LFRگراف شاخص
یاهم پوشانراس دارایوجهتبدونیاجهت داربی وزن،یاوزن دارمی تواندگرافاین.باشدغیرهم پوشان
N:شبکهرئوستعداد
𝐾𝑖𝑖𝑛:گرههمسایه هایتعدادiعضوکهcهستند
𝐾𝑖𝑜𝑢𝑡:گرههمسایه هایتعدادiعضوکهcنیستند
𝐾𝑐𝑖𝑛:انجمنداخلدرممکناتصاالتتعداد𝐾𝑐
𝑜𝑢𝑡:انجمنازخارجدرممکناتصاالتتعدادμ:می دهدنشانراکلدرجهبهراسخروجیدرجهنسبت.
29 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
..(ادامه)LFRگراف شاخص
انجمنیساختاروجودشرط:𝑃𝑖𝑛 ≥ 𝑃𝑜𝑢𝑡
حسببرمی توانراعبارتاینμکردمحاسبه:
𝑃𝑖𝑛 ≥ 𝑃𝑜𝑢𝑡
μ < (𝑁 − 𝑛𝑐𝑚𝑎𝑥 Τ) 𝑁
30 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
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تشخیص انجمن
..(ادامه)NMI (Normalized Mutual Information)معیار
ایدهNMIپیرایبگروهیکباشند،همبهشبیهبسیاررئوس،ازگروهدواگرکهاستاین.داردنیازکمیاطالعاتبهدیگرگروهبهبردن
تابعH(X)،شانونآنتروپی:
𝐻 𝑋 = −
𝑥
𝑃 𝑥 𝑙𝑜𝑔𝑃 𝑥
Mutual informationشانونآنتروپیبهتوجهبا:
𝐼 𝑋, 𝑌 = 𝐻 𝑋 − 𝐻(𝑋|𝑌)
کهزمانیبرایمعیاراین𝐻 𝑋|𝑌 = تعریفNMIبنابراین.نمی دهدمطلوبیپاسخاست،0:شد
𝐼𝑛𝑜𝑟𝑚 𝑋, 𝑌 =2𝐼(𝑋, 𝑌)
𝐻 𝑋 + 𝐻(𝑌)
باشند،مساویهمبادقیقاپارتیشندواگرNMIهیچکهصورتیدروبودخواهدیکبابرابر.استصفربابرابرباشند،نداشتهتشابهی
32 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
GNآزمایش الگوریتم ها با استفاده از گراف شاخص
متدهایبهمربوطکاراییبهترینsimulated annealingوclausetاست.
33 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
LFRآزمایش الگوریتم ها با استفاده از گراف شاخص
بی وزنوجهتبدونشاخصگرافدرآزمایشنتایجLFR:متدهایکهمی دهدنشانsimulated annealingوclausetسایزبابزرگگراف هایبرای
.نمی کنندکارخوبیبهکوچکانجمن
34 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
جمع بندی
کهاستالگوریتمیخوب،انجمنتشخیصالگوریتمیک:باشدداشتهباالییکیفیتودقتانجمن هایافتندر.بدهدرامطلوبپاسخمناسب،زماندر.شودمقیاسخوبیبهبزرگگراف هایبرای .بگیردنظردرراهم پوشانیمانندانجمنتشخیصچالش های.
تاکردخواهمتالشپروژهادامهدر:کنمانتخابرامطلوبروش هایازیکیوارزیابیراتشخیصفعلیمتدهای.کنمارائهاسپارکچارچوبدرآنموازی سازیبرایروشی.کنمپیاده سازیراپیشنهادیالگوریتم.کنممقایسهوارزیابیشاخصگرافباراالگوریتم.کنمارائهاستفادهقابلابزارصورتبهرانتیجه.
35 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
مراجع اصلی
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: Aresilient distributed graph system on spark," in First InternationalWorkshop on Graph Data Management Experiences and Systems,2013, p. 2.
4. L. Danon, A. Diaz-Guilera, J. Duch, and A. Arenas, "Comparingcommunity structure identification," Journal of Statistical Mechanics:Theory and Experiment, vol. 2005, p. P09008, 2005.
5. A. Lancichinetti and S. Fortunato, "Community detection algorithms: acomparative analysis," Physical review E, vol. 80, p. 056117, 2009.
36 / 37
کالن دادهمقدمه جمع بندیارزیابیGraphXتشخیص انجمن
تشخیص انجمن در مقیاس کالن داده
نوید صدیق پوردکتر میبدی: استاد سمینار
دکتر باقری : استاد راهنما و مشاور سمینار95تابستان –سمینار کارشناسی ارشد
سپاسگزارم