290 likes | 542 Views
بسمه تعالي. یک روش خوشه بندی کارا بر اساس پیوندها. نام درس: مباحث پیشرفته در پایگاه داده استاد: آقای دکتر رهگذر دانشجو: ليلا سيد حسين 09/03/1388. رئوس مطالب. اهمیت موضوع ساختار SimRank ساختار SimTree الگوریتم LinkClus بررسی نتایج. اهمیت موضوع.
E N D
بسمه تعالي یک روش خوشه بندی کارا بر اساس پیوندها نام درس: مباحث پیشرفته در پایگاه داده استاد: آقای دکتر رهگذر دانشجو: ليلا سيد حسين 09/03/1388
رئوس مطالب • اهمیت موضوع • ساختار SimRank • ساختار SimTree • الگوریتم LinkClus • بررسی نتایج
اهمیت موضوع • اشیاء داده ای در یک بانک اطلاعاتی رابطه ای از طریق پیوندهای مختلفی به یکدیگر متصل می شوند. • این پیوندها شامل اطلاعات معنادار مهمی هستند که نشان دهنده ارتباطات بین اشیاء می باشند. • بیشتر الگوریتم های خوشه بندی تنها بر اساس صفات یک شیء خاص کار می کنند در حالیکه شباهت بین اشیاء اغلب از طریق پیوندهای آنها مشخص می شود. • در این مقاله یک روش خوشه بندی بر پایه پیوندها ارائه می شود که در آن شباهت بین دو شیء بر پایه شباهت اشیاء مرتبط با آن دو شیء اندازه گیری می شود.
Authors Proceedings Conferences Tom sigmod03 sigmod04 sigmod Mike sigmod05 vldb03 Cathy vldb04 vldb vldb05 John aaai04 aaai Mary aaai05 محاسبه شباهت اشیاء بر اساس پیوندهای مستقیم • Tom و John شبیه نیستند • John و Mary شبیه هستند
Authors Proceedings Tom sigmod03 sigmod04 sigmod Conferences Mike sigmod05 vldb03 Cathy vldb04 vldb vldb05 John aaai04 aaai Mary aaai05 ساختار SimRank • محاسبه شباهت بین دو شیء به طور بازگشتی از متوسط شباهت بین اشیاء متصل به آن • Tom و John شبیه هستند • John و Mary شبیه نیستند
ساختار SimRank... فضا: O(N2) N: تعداد پیوندها زمان: O(M2) M: تعداد اشیاء داده ای
All grocery electronics apparel TV DVD camera مشاهده 1: ساختار درختی • معمولا بین اشیاء به طور طبیعی یک ساختار درختی وجود دارد ساختار درختی کالاها در Wal-Mart
مشاهده 2: توزیع شباهت • توزیع قانون قدرت بین شباهت ها • حجم بالایی از شباهت ها در محدوده [0.005,0.015] قرار دارد • 1.4% از شباهت ها بزرگتر از 0.1 هستند • آیا می توان ساختاری طراحی کرد که شباهت های مهم تر را ذخیره کند و شباهت های کم اهمیت تر را به صورت فشرده ذخیره سازد؟ توزیع شباهت ها بین نویسندگان DBLP
SimTree: یک ساختار داده ای جدید Each non-leaf node represents a group of similar lower-level nodes Each leaf node represents an object Similarities between siblings are stored Canon A40 digital camera Digital Cameras Apparels Sony V3 digital camera Electronics TVs
تخمین شباهت دو گره در SimTree Similarity between two sibling nodes n1 and n2 0.2 n1 n2 n3 0.8 0.9 0.9 0.3 n4 n5 n6 0.8 1.0 0.9 n7 n8 n9 s(n7,n8)=s(n4,n5) s(n7,n9)=s(n1,n2)
simp(n7,n9) = s(n7, n4) × s(n1, n4) × s(n1, n2) × s(n2, n6) × s(n6, n9)= 0.9 × 0.8 × 0.2 × 0.9 × 1.0= 0.1296 0.8 0.9 1.0 0.9 بهبود شباهت Similarity between two sibling nodes n1 and n2 0.2 n1 n2 n3 0.9 0.3 n4 n5 n6 0.8 n7 n8 n9 یک برگ و پدرش ممکن است شباهت های متفاوتی با گره های دیگر داشته باشند
الگوریتم LinkClus • یک الگوریتم کارا و موثر برای خوشه بندی بر اساس پیوندها • ساخت SimTree های اولیه • بهبود SimTree ها به صورت تکراری
Nodes Leaf nodes in another SimTree 1 n1 2 3 4 n2 5 مقدار دهی اولیه به SimTree ها • یافتن گروه هایی از گره ها که همبستگی بالایی دارند و ادغام آنها در یک سطح بالاتر • همبستگی یک گروه از گره های {n1,…,nk} تعدادی از برگ هایSimTree های دیگر است که به همه گره های این گروه متصل هستند. The tightness of {n1, n2} is 3
Transactions {n1} {n1, n2} {n2} {n1, n2} {n1, n2} 1 n1 g1 {n2, n3, n4} 2 {n4} 3 n2 {n3, n4} 4 {n3, n4} 5 n3 6 g2 7 n4 8 9 یافتن گروه های همبسته با استفاده از کاوش الگوهای تکراری همبستگی یک گروه برابر با Support یک الگوی تکراری است • شروع از برگ ها در سطح اول • یافتن گروه هایی از گره های مشابه که باهم هم پوشانی ندارند با کاوش الگوهای تکراری در هر سطح l
بروز کردن شباهت های بین گره ها • محاسبه شباهت بین فرزندان و والدین • بروزرسانی شباهت ها • بروز رسانی ساختار درخت
Average similarity between n7 and all nodes except n4’s descendents S(n7,n4) = Average similarity between n4 and those nodes 0.2 n1 n2 n3 0.8 0.9 0.9 0.3 n4 n5 n6 0.8 1.0 0.9 n7 n8 n9 محاسبه شباهت بین فرزندان و والدین
0 ST2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 z ST1 c d e sim(na,nb) = average similarity between and 10 f g h k 13 11 l m n o p q r s t u v w x y 14 a b 12 بروز کردن شباهت های بین گره ها • شباهت های اولیه معمولا نمی تواند همه ارتباطات بین اشیاء را در برگیرد. • به صورت تکراری شباهت ها را بروز رسانی می کنیم • شباهت بین دوگره متوسط شباهت اشیاء متصل به آن است
تعریف • Simweight : این ساختار داده ای برای نشان دادن شباهت و وزن یک پیوند بکار می رود. • آن را به صورت زوج <s,w> تعریف می کنیم که s شباهت پیوند و w وزن آن است. • دو عمگر ضرب و جمع برای این ساختار داده ای به صورت زیرتعریف می شود: <s1,w1>+<s2,w2>=<(s1.w1+s2.w2)/(w1+w2) , w1+w2> <s1,w1>×<s2,w2>=<s1.s2 ,w1.w2>
b:(0.95,2) a:(0.9,3) 0.2 ST2 4 5 0.8 0.9 0.9 1.0 1.0 10 11 12 13 14 a:(1,1) b:(1,1) b:(1,1) a:(1,1) a:(1,1) ST1 a b بروز کردن شباهت های بین گره ها
b:(0.95,2) a:(0.9,3) 0.2 ST2 4 5 0.9 0.8 0.9 1.0 1.0 10 11 12 13 14 ST1 a b بروز کردن شباهت های بین گره ها ... = <0.9,3> x <0.2,1> x <0.95,2> = <0.171,6>
بروز کردن شباهت های بین گره ها ... • همه زوج گره های ni و nj که sibling هم هستند و یکی از آنها به na و دیگری به nb متصل است را در ST2می یابیم • شباهت و وزن بین na و nb را با در نظر گرفتن این زوج پیدا می کنیم و نتایج را جمع می زنیم • همه برگ های ni از ST2 که هم به na و هم به nb متصل هستند را می یابیم و به ازای آنها مقدار زیر را بدست می آوریم • جمع مقادیر بدست آمده شباهت دو گره na و nb است
0.9 n1 n2 n3 0.8 n4 n5 n6 n7 n7 n8 n9 سازمان دهی مجدد SimTree • همه زوج گره های ni و nj که sibling هم هستند و یکی از آنها به na و دیگری به nb متصل است را در ST2می یابیم • شباهت و وزن بین na و nb را با در نظر گرفتن این زوج پیدا می کنیم و نتایج را جمع می زنیم • همه برگ های ni از ST2 که هم به na و هم به nb متصل هستند را می یابیم و به ازای آنها مقدار زیر را بدست می آوریم • جمع مقادیر بدست آمده شباهت دو گره na و nb است
پیچیدگی الگوریتم (برای دو نوع شیء داده ای) M: تعداد اشیاء داده ای N: تعداد پیوندها
مقایسه با الگوریتم های مشابه روی داده های واقعی
منابع • Xiaoxin Yin, Jiawei Han, Philip S. Yu;LinkClus: Efficient Clustering via Heterogeneous Semantic Links; VLDB;2006; ACM 1595933859 • Glen Jeh, Jennifer Widom;SimRank: A Measure of Structural-Context Similarity; KDD, 2002