Presentation is loading. Please wait.

Presentation is loading. Please wait.

بررسی روشهای خوشه بندی پايگاههای داده بزرگ. فهرست مطالب بررسی الگوريتم BIRTCH [ZRL96] بررسی الگوريتم CURE [GRS98] بررسی الگوريتم DBCLASD [XEK98] بررسی.

Similar presentations


Presentation on theme: "بررسی روشهای خوشه بندی پايگاههای داده بزرگ. فهرست مطالب بررسی الگوريتم BIRTCH [ZRL96] بررسی الگوريتم CURE [GRS98] بررسی الگوريتم DBCLASD [XEK98] بررسی."— Presentation transcript:

1 بررسی روشهای خوشه بندی پايگاههای داده بزرگ

2 فهرست مطالب بررسی الگوريتم BIRTCH [ZRL96] بررسی الگوريتم CURE [GRS98] بررسی الگوريتم DBCLASD [XEK98] بررسی الگوريتم موازی PFDC [M02] خلاصه و نتايج فهرست منابع

3 الگوريتم BIRCH

4 تعاريف پايه در مورد خوشه {Xi}

5 تعاريف پايه در مورد دو خوشه {Xi} و {Xj}

6 ويژگي خوشه بندي (CF) N داده d بعدي در خوشه {Xi} داده شده است، بردار CF خوشه بصورت سه تايي CF=(N,LS,SS) تعريف مي شود که در آن N تعداد نقاط خوشه، LS جمع خطي N داده و SS مجموع مربعات N داده مي باشد. قضيه افزايشي CF : فرض کنيد که CF1=(N1,LS1,SS1) و CF2=(N2,LS2,SS2) بردارهاي CF دو خوشه مجزا باشند، در اين صورت بردار CF خوشه اي که از طريق ادغام دو خوشه مجزا شکل مي گيرد به صورت زير تعريف مي شود:

7 اطلاعات ذخيره شده در مورد هر خوشه در BIRCH يک خوشه مجموعه اي از نقاط مي باشد اما فقط بردار CF براي آن ذخيره مي شود. CF کافي نمي باشد زيرا اطلاعات کمتري را ذخيره مي کند. اما دقيق مي باشد زيرا براي محاسبه مقياسهاي لازم براي خوشه بندي در الگوريتم BIRCH کافي مي باشند.

8 درخت CF درخت CF، درخت بالانس شده ارتفاعيي است که دو پارامتر دارد: فاکتور شاخه بندي B و ترشولد T. هرنود غير برگ شامل بيشترين مدخل هاي B به صورت [CF i,child i ] مي باشد که در آن i=1,2,…,B و child i اشاره گري به I امين نود فرزند مي باشد و CF i ، CF زيرخوشه ارائه شده از طريق اين فرزند مي باشد. بنابراين نود غيربرگي که خوشه را نمايش مي دهد، از تمام زيرخوشه هايي که از طريق مدخل هايشان ارائه مي شوند، ساخته مي شود. نود برگ شامل بيشترين مدخل L مي باشد که هر يک به فرم [CF i ] هستند که i=1,2,…,L. در مجموع هر نود برگ دو اشاره گر دارد: prev و next که براي زنجير کردن تمام نودهاي برگ (براي بررسي کاراتر آنها) استفاده مي شود. نود برگ همچنين، خوشهاي ساخته شده از تمام زيرخوشه هاي ارائه شده از طريق مدخل هايشان را نمايش مي دهد. تمام مدخلها در نود برگ بايد ترشولد را در جهت ارزش T (شعاع يا قطر بايد کمتر از T باشد) ارضا کنند. سايز درخت تابعي از T مي باشد. T بزرگ تر باعث مي شود که درخت کوچک تري داشته باشيم.

9 درج مدخل Ent در درخت CF شناسايي برگ مناسب اصلاح برگ اصلاح مسير برگ اصلاح ادغام

10 الگوريتم خوشه بندي BIRCH

11 خواص فازهای دوم به بعد در الگوريتم BIRCH سريع: زيرا I/O لازم نمي باشد و خوشه بندي داده ها به مساله خوشه بندي کوچکتر زيرخوشه ها در مداخل برگ کاهش مي يابد. دقيق: زيرا تعداد زيادي از نقاط دور افتاده حذف مي شوند. نسبت به ترتيب ورود داده ها داراي حساسيت کمتري مي باشد. زيرا مدخل هاي برگ درخت اوليه ترتيبي مناسب تر براي داده ها شکل مي دهند.

12 مديريت نقاط دور افتاده هنگاميکه درخت CF را از طريق درج مجدد مدخل هاي برگ قديمي مجددا مي سازيم، سايز درخت جديد به دو روش کاهش مي يابد:  اول اينکه ارزش ترشولد را افزايش مي دهيم، در نتيجه به هر مدخل برگ اجازه مي دهيم که نقاط بيشتري را جذب کند.  دوم اينکه مدخل برگ قديمي در صورتيکه نقاط داده بسيار کمتري از ميانگين داشته باشد، به عنوان نقطه دورافتاده شناخته مي شود و در ديسک نوشته مي شوند. نقاط دور افتاده در ديسک متناوبا بررسي مي شوند تا در صورت امکان در درخت جاري، بدون افزايش سايز درخت، جذب شوند.. وقتيکه تمام داده ها بررسي مي شوند، نقاط دور افتاده در ديسک بايد بررسي شوند که آيا واقعا نقطه دور افتاده مي باشند يا خير. اگر اين نقاط در اين مرحله جذب نشوند، به احتمال زياد نقطه دور افتاده واقعي بوده و مي توانند پاک شوند.

13 ويژگيهای الگوريتمBIRCH در اين روش هزينه I/O خطی است و متناسب با سايز مجموعه داده می باشد. در اين روش با تنها يک بار بررسي مجموعه داده ها مي توان به نتيجه خوشه بندي نسبتا خوبي دست يافت. به منظور افزايش کيفيت خوشه ها مي توان اين عمل را چندين بار تکرار نمود. موازي سازي نيز در آن امکانپذير است. به نويز نيز توجه کرده است. الگوريتم BIRCH بصورت محلي انجام مي شود. BIRCH در مورد ناحيه حجيم نقاط، به عنوان يک خوشه واحد رفتار مي کند. نقاط نواحي نامتراکم نيز به عنوان نقاط دورافتاده محسوب شده و به دلخواه حذف مي شوند. الگوريتم BIRCH مي تواند با هر ميزان حافظه اي کار کند.

14 الگوريتم CURE

15 نکات مورد توجه در CURE اين الگوريتم به نقاط دور افتاده و شناسايي خوشه هاي غيرکروي با پهناي زياد توجه کرده است. در اين الگوريتم با ارئه هر خوشه از طريق چندين نقطه مي توان اشکال غيرکروي (در واقع اشکال دلخواه) را پوشش داد و با کاهش اين نقاط مي توان نقاط دور افتاده را کم کرد. حافظه مصرفي الگوريتم خطي است و پيچيدگي زماني آن براي داده هاي با ابعاد کم O(n 2 ) است CURE به منظور مديريت پايگاههاي داده بزرگ از نمونه برداري تصادفي به همراه قسمت بندي استفاده مي کند. هر نمونه تصادفي از مجموعه داده، ابتدا قسمت بندي مي شود. سپس هر قسمت به طور ناقص خوشه بندي مي شود. در فاز دوم، خوشه هاي ناقص براي دستيابي به خوشه هاي مطلوب مجددا خوشه بندي مي شوند.

16 بررسي کلي CURE

17 الگوريتم CURE الگوريتم خوشه بندي در ابتدا هر نقطه ورودي را در يک خوشه مجزا قرار مي دهد و در هر قدم نزديکترين زوج خوشه ها را با هم ادغام مي کند. براي محاسبه فاصله بين يک زوج خوشه، براي هر خوشه، c نقطه ارائه ذخيره مي شود. براي تعيين اين نقاط در ابتدا c نقطه پراکنده در خوشه انتخاب مي شوند و سپس در جهت ميانگين خوشه با ضريب a کاهش مي يابند. فاصله بين دو خوشه، فاصله بين نزديکترين زوج نقاط ارائه آن دو مي باشد. هدف اين است که c نقطه ارائه، شکل فيزيکي و هندسي خوشه را ايجاد کنند. علاوه بر آن کاهش نقاط پراکنده در جهت مياگين، تاثير نقاط دور افتاده را کم مي کند زيرا نقاط دور افتاده غالبا بسيار دور از مرکز خوشه بوده و کاستن باعث مي شود که نقاط دورافتاده فاصله زيادي با مرکز داشته باشند در حاليکه بقيه نقاط ايطور نيستند. پارامتر a همچنين مي تواند براي کنترل شکل خوشه نيز استفاده شود. ارزش کوچکترa ، نقاط پراکنده را خيلي کمتر مي کند و بنابراين براي خوشه هاي باريک مناسب تر است. به عبارت ديگر وقتي a بزرگر شود، نقاط پراکنده به ميانگين نزديکتر شده و خوشه ها فشرده تر مي شوند.

18 بررسی جزئيات الگوريتم CURE

19 بررسی جزئيات الگوريتم CURE (رويه ادغام خوشه ها)

20 بررسی جزئيات الگوريتم CURE پارامترهاي ورودي الگوريتم، مجموعه داده ورودي S، شامل n نقطه d بعدي مي باشد و تعداد خوشه هاي مطلوب، k است. در مورد تمام خوشه ها، تمام نقاطشان ذخيره مي شود. همچنين براي هر خوشه u، u.mean ميانگين نقاط خوشه را نگه مي دارد و u.rep مجموعه c (نقاط ارائه خوشه) را نگه مي دارد. dist(p,q)، فاصله بين نقاطp وq را بيان مي کند. در مورد هر خوشه u، u.closest نزديکترين ها به خوشه را نگه مي دارد. اين الگوريتم از دو ساختار دادهheap وk-d tree استفاده مي کند. براي هر خوشه يک مدخل درheap داريم. مدخل هاي خوشه هاي مختلف u درheap با ترتيب افزايشي نسبت به فاصله u و u.closest مرتب شده است. ساختار داده ديگر k-d tree مي باشد که نقاط ارائه هر خوشه را نگهداري مي کند. اين درخت به منظور ذخيره و بازيابي کرا نقاط داده چندبعدي استفاده مي شود. در ابتدا نقاط ارائه هر خوشه u (u.rep) شامل تنها نقطه خوشه مي باشد. بنابراين در قدم اول، تمام نقاط داده ورودي در درخت k-d درج مي شوند.در قدم دوم، رويه build_heap با هر نقطه ورودي به عنوان خوشه اي مجزا رفتار مي کند و براي هر خوشه u، u.closest را محاسبه مي کند و سپس هر خوشه را در heap درج مي کند.

21 بررسی جزئيات الگوريتم CURE هنگاميکه heap (Q) و درخت (T) مقدار دهي اوليه شوند، در هر تکرار حلقهwhile ، نزديکترين زوج خوشه ها ادغام مي شوند تا زمانيکه تنها k خوشه باقي بماند. مرحله ادغام در حلقه for (مراحل 4-17) ابتدا به طور تکراري c نقطه پراکنده را انتخاب مي کند. در اولين تکرار، دورترين نقاط از ميانگين انتخاب مي شوند. در مراحل بعدي نقاطي که دورترين فاصله را از نقطه انتخاب شده قبلي داشته باشند انتخاب مي شوند. سپس نقاط در مرحله 19 با ضريب a کاهش مي يابند. با توجه به اينکه نقاط ارائه w تغيير مي کند، بايد فاصله آن را از خوشه هاي ديگر حساب کرده و w.closest را براي آن تنظيم کنيم. (قدمهاي 11 و 12 رويه خوشه) همينطور در مورد خوشه هاي ديگر(x) نيز در Q، x.closest ممکن است تغيير کند و لازم شود x در Q جابجا شود. (بسته به فاصله بين x و x.closest).

22 پيچيدگي زماني و فضا پيچيدگي زماني الگوريتم، در بدتريت حالت است. هنگاميکه ابعاد داده کوچک باشد، پيچيدگي زماني به O(n2) کاهش مي يابد. نظر به اينکه heap و k-d tree نياز به فضاي خطي دارند، پيچيدگي فضا O(n) است.

23 بهبود الگوريتم به منظور کار بر روي مجموعه داده بزرگ استفاده از مکانيزمي به منظور کاهش سايز ورودي : استفاده از نمونه برداري تصادفي غالبا نمونه هاي تصادفي در حافظه اصلي جاي مي گيرند و بسيار کوچکتر از کل مجموعه داده هستند. با توجه به اينکه نمونه برداري تصادفي، نقاط دورافتاده را حذف مي کند، کيفيت خوشه بندي را بهبود مي دهد. بخش بندي به منظور افزايش سرعت: فضاي نمونه ها به p بخش تقسيم مي شود که هر يک داراي سايز n/p مي باشند. سپس هر بخش بطور مجزا، تا زمانيکه تعداد خوشه هاي نهايي در آن به n/(pq) کاهش يابد (q>1)، خوشه بندي مي شود. ادغام خوشه ها در بخش ها، هنگاميکه فاصله بين نزديکترين زوج خوشه بيش از ترشولد خاصي شود متوقف مي شود. سپس فاز دوم خوشه بندي روي n/q خوشه انجام مي شود. نهايتا بايد نقاط باقيمانده به بخشهاي تعيين شده نسبت داده شوند. به اين منظور، هر داده به خوشه اي که شامل نزديکترين نقاط ارائه به آن است، نسبت داده مي شود. مديريت نقاط دورافتاده:. ابتدا در نمونه برداري تصادفي، بخش اصلي نقاط دور افتاده حذف مي شوند. سپس خوشه هاييکه خيلي آرام رشد مي کنند شناسايي کرده و حذف مي کنيم. در فاز دوم وقتيکه تعداد خوشه هاي باقيمانده خيلي کم مي شود، خوشه ها بررسي مي شوند و خوشه هاييکه تعداد نقاط کمي دارند حذف مي شوند.

24 مزايای CURE در مقايسه با BIRCH و MST BIRCH نمي تواند خوشه هاي غيرکروي يا با واريانس پهن را شناسايي کند. MST براي خوشه بندي خوشه هاي با اشکال دلخواه بهتر عمل مي کند اما نسبت به نقاط دورافتاده بسيار حساس است. CURE خوشه هاي با اشکال دلخواه را مي تواند شناسايي کند و نسبت به نقاط دورافتاده از MST داراي حساسيت کمتري است. روشهاي نمونه برداري و پارتيشنينگ، روشهاي کارايي براي خوشه بندي اوليه مي باشند. اين روشها سايز ورودي را در مجموعه داده هاي بزرگ، بدون پايين آوردن کيفيت کاهش مي دهند. زمان اجراي CURE در عمل پايين است. نمونه برداري و الگوريتم حذف نقاط دورافتاده، براي فيلترکردن نقاط دورافتاده از مجموعه داده، بسيار مناسب مي باشند. فاز نهايي CURE که برچسب دهي انجام مي دهد، داده هاي مقيم در ديسک را حتي زمانيکه خوشه ها غيرکروي هستند به درستي برچسب مي زند.

25 الگوريتم خوشه بندي توزيع شده به منظور کاوش در پايگاههاي داده بزرگ فضايي: DBCLASD

26 نکات مورد توجه درDBCLASD اين الگوريتم نيز خوشه هاي با اشکال دلخواه را مي تواند شناسايي کند. به هيچ پارامتر وروديي نياز ندارد. اين الگوريتم يک الگوريتم افزايشي است. در واقع، تخصيص نقطه به خوشه تنها بر پايه نقاط تاکنون پردازش شده مي باشد و در آن تمام خوشه يا تمام پايگاه داده مورد توجه قرار نمي گيرد. در اين الگوريتم خوشه اوليه به صورت افزايشي با نقاط همسايه اش افزايش داده مي شود، تا زمانيکه مجموعه فاصله نزديکترين همسايگي در خوشه هنوز شرايط توزيع فاصله مورد انتظار را داشته باشد و شرايط نقض نشود. روش افزايشي DBCLASD باعث مي شود که اين الگوريتم براي پايگاههاي داده بزرگ مناسب باشد.

27 تعاريف پايه نزديکترين همسايه يک نقطه و نزديکترين فاصله همسايه: فرض کنيد q يک نقطه خاص و S مجموعه اي از نقاط باشد، نزديکترين همسايه q در S، NN S (q)، نقطه p در S-{q} است که کمترين فاصله را از q دارد. فاصله q تا نزديکترين همسايه اش در S ، فاصله نزديکترين همسايگي q ناميده مي شود و به صورت NNdist S (q) نمايش داده مي شود. مجموعه فاصله نزديکترين همسايگي مجموعه نقاط: فرض کنيد که S مجموعه نقاط و ei اجزاء S باشد. مجموعه فاصله نزديکترين همسايگي S، بصورت NNdistSet(S) نمايش داده مي شود و به آن مجموعه فاصله نيز گفته مي شود. و مجموعه اي از تمام ارزشهاي NNdist S (e i ) مي باشد.

28 تعريف خوشه اگر DB مجموعه اي از نقاط باشد، خوشه C، زيرمجموعه غيرتهيي از DB مي باشد که داراي خصوصيات زير است:  داراي توزيع مورد انتظار با قابليت اطمينان لازم است.  C حداکثر است. هر بسط از C از طريق نقاط همسايگيش، شرط بالا را ندارد.  C پيوسته است. در واقع هر زوج نقطه از خوشه، از طريق مسيري از سلولهاي خوشه اشغالي به يکديگر متصل مي شوند.

29 محاسبه مساحت خوشه مساحت مجموعه نقاط S مشخص نمي باشد. بنابراين S را تقريب زده و مساحت آن را محاسب مي کنيم. در ابتدا، شکل تقريب بهتر است تا جايي که ممکن است شبيه به شکل خوشه باشد و علاوه بر آن، تقريب بهتر است که متصل باشد و بصورت يک چندضلعي باشد. براي تعيين تقريب چند ضلعيها از grid استفاده مي شود. بنابراين انتخاب طول grid مهم است. طول grid براي مجموعه نقاط S برابر با ماکزيمم جزء NNdistSet(S) انتخاب مي شود. سلول اشغال شده grid سلولي است شامل حداقل يکي از نقاط مجموعه و تقريب S به صورت اجتماع تمام سلولهاي اشغال شده grid تعريف مي شود.

30 توليد کانديداها کانديدا، نقطه اي است که هنوز به خوشه جاري تعلق نگرفته است و بايد چک شود که آيا مي تواند عضو آن خوشه باشد يا خير. مجموعه کانديدهاي خوشه با استفاده از region query ها که از طريق روشهاي دسترسي فضايي (SAM) پشتيباني مي شوند (مانند ) ايجاد مي شوند. region query تمام اشياء پايگاه داده را که ناحيه پرسش مشخصي را به دو بخش تقسيم مي کند برمي گرداند (مثل يک دايره).

31 تست کانديداها در روش افزايشي DBCLASD ترتيب تست کانديدها مهم است. کانديدهاييکه در تست اوليه پذيرفته نمي شوند، کانديدهاي ناموفق ناميده مي شوند. به منظور کم کردن وابستگي به ترتيب تست:  کانديدهاي ناموفق رد نمي شوند، بلکه دوباره تست مي شوند.  نقاطيکه قبلا به خوشه اي تخصيص داده شده اند، ممکن است بعدا به خوشه ديگري تخصيص داده شوند. DBCLASD هنگاميکه کانديد توليد شده قبلا به خوشه ديگري نسبت داده شده باشد، دو خوشه را در هم ادغام مي کند. برای تست کانديدها: ابتدا خوشه جاري از طريق کانديدا افزايش مي يابد. سپس با استفاده از بررسي مي شود که آيا مجموعه فاصله نزديکترين همسايگي خوشه افزوده شده شرط توزيع فاصله مورد انتظار را دارد يا خير.

32 الگوريتم DBCLASD

33 نکات الگوريتم 1: تنها بر روي خوشه هاييکه سايزشان حداقل 30 است پاسخگو است. بنابراين خوشه جاري با استفاده از پرسش k نزديکترين همسايه، بدون به سايز 30 گسترش داده مي شود. 2: ليست پاسخها به ترتيب صعودي فاصله با نقطه p1 ذخيره مي شوند. 3: هر جزء از ليست پسخ ها که هنوز پردازش نشده است در ليست کانديدها درج مي شود.

34 رويه های فراخوانی شده در الگوريتم DBCLASD

35 مزايای DBCLASD آزمايشات نشان مي دهد که DBCLASD برخلاف الگوريتم هاي پاتيشنينگ رايج (CLARANS)، خوشه هاي با چگالي، شکل و سايز دلخواه را مي تواند شناسايي کند. و نيازي به پارامترهاي ورودي ندارد. آزمايشات نشان مي دهد که DBCLASD هنگاميکه داده ها در پايگاههاي داده واقعي دقيقا داراي توزيع يکنواخت نباشند نيز کار مي کند. در مجموع DBCLASD در فضاهاي با بعد بالا مفيد مي باشد زيرا در چنين فضاهايي ايجاد ارزشهاي مناسب براي پارامترهاي ورودي، بطور دستي ناممکن مي باشد.

36 مشکلات DBCLASD فرض بر اين است که نقاط داخل خوشه داراي توزيع يکنواخت مي باشند. توزيع ها، ناشناخته فرض شده اند و به همين دليل از الگوريتم هاييکه از روشهاي تقريب تصادفي استفاده مي کنند، براي تخمين اين توزيعات استفاده شده است.

37 الگوريتم PFDC

38 خصوصيات خوشه بندی پايگاههاي داده فضايي کيفيت خوب براي پايگاههاي داده بزرگ، زيرا پايگاههاي داده فضايي غالبا ميليونها شيئ فضايي را ذخيره مي کنند. حداقل وابستگي به پارامترهاي ورودي زيرا تعيين اين پارامترها اغلب مشکل است و از قبل شناخته شده نمي باشند. کشف خوشه هايي با شکل دلخواه، زيرا اشيائ فضايي مي توانند اشکال بسيار متفاوتي داشته باشند

39 خوشه بندي بر مبناي چگالي فرض کنيد که D ، پايگاه داده مورد نظر با نقاطش باشد Dist ، تابع فاصله( در اينجا فاصله اقليدسي ) ، Rad : شعاع همسايگي و MinPts : حداقل ترشولد تعداد نقاط همسايگي باشد. تعريف 1 : نقطه مستقيما از نقطه ، density_reachable است اگر اين مساله بصورت نشان داده مي شود. همسايگي Rad نقطه q ناميده مي شود.

40 خوشه بندي بر مبناي چگالي تعريف 2: ارتباط دوتايي density_linked (که به صورت نمايش داده مي شود،) با در نظر گرفتن اينکه Rad>0 و MinPts>1 باشد، در D به صورت زير تعريف مي شود: يک ارتباط هم ارزي است. تعريف 3: فرض کنيد که کلاسهاي هم ارز در D باشند که با رابطه هم ارزي تعريف شده اند، در اين صورت:

41 خوشه بندي بر مبناي چگالي قضيه 1: پايگاه داده D، ارتباط و پارامترهاي خوشه بندي Rad و MinPts داده شده اند، خصوصيت خوشه بندي هر نقطه بصورت زير مي تواند تعيين شود: بنابراين بايد شعاع همسايگي هر نقطه p در پايگاه داده را محاسبه کنيم.

42 الگوريتم FDC اين الگوريتم، از روش خوشه بندي بر مبناي چگالي استفاده کرده است. FDC خصوصيت خوشه بندي هر نقطه را مطابق با قضيه1 محاسبه مي کند و بدين منظور بازگشتي نمي باشد و نيز از Tree d-k که ساختار داده اي ساده اي دارد استفاده مي کند.

43 مراحل مختلف الگوريتم FDC در فاز اول k-d Tree با استفاده از نقاط پايگاه داده ساخته مي شود. سپس براي هر نقطه، شعاع همسايگي تعيين مي شود ( خوشه بندي برگي ). با توجه به تعداد نقاط برگ، براي اينکه پيچيدگي مربعي نداشته باشيم هر برگ به سلولهاي Grid ِ K بعدي پارتيشن مي شود. طول سلولها در هر بعد Rad مي باشد. بنابراين نقاط همسايگي Rad فقط مي توانند در سلولهاي مجاور باشند. نقاطي که فاصله شان از حدود برگ در بيشترين Rad باشد ممکن است نقاطي در همسايگي Rad خود داشته باشند که در برگهاي ديگر ذخيره شده باشند. بهمين دليل FDC ، k-d tree را در مرحله سوم از پايين به بالا پيمايش مي کند تا در حين ان کار چنين حدودي را در هم ادغام کند ( خوشه بندي متقابل ). حال نقاط حدي وارد مرحله خوشه بندي بعدي مي شوند. بنابراين پس از خوشه بندي متقابل ريشه درخت، خصوصيات خوشه بندي هر نقطه تعيين مي شود. در طول اجراي الگوريتم يک نقطه ممکن است شناسه هاي خوشه متفاوتي داشته باشد. اين هم ارزي خوشه اي در مرحله بعد حل مي شود بطوريکه هر خوشه و هر نقطه يک شناسه منحصر به فرد داشته باشد.

44 طراحي الگوريتم موازي در پردازش ترتيبي محدوديت حافظه و زمان پاسخ وجود دارد. براي رفع اين دومشکل از الگوريتمهاي مواز ي استفاده مي شود. بمنظور بهبود زمان اجرا، speedup خوب بايد داشته باشته باشيم. Speedup P ، خارج قست زمان اجراي الگوريتم ترتيبي به زمان اجراي الگوريتم موازي با P پردازنده مي باشد. دو نکته اصلي در طراحي اين الگوريتم:  چطور مي توان نقاط را به روشي هوشمند و با ساختار داده فضايي موازي، بين پردازنده ها توزيع کرد. بديهي ترين راه براي اين مساله، استفاده از k-d Tree موازي مي باشد.  چطور خوشه ها را به طور موازي و با حداقل ارتباط ممکن مي توان با هم ادغام کرد.

45 ساختار داده Tree k-d Treek-d ، درخت جستجوي دودويي چندبعدي، براي ذخيره مجموعه محدود S، شامل نقاط فضاي جستجوي k بعدي مي باشد. اين درخت فضا را به طور بازگشتي تقسيم مي کند: به اين ترتيب که فضاي اصلي را با hyperplane هاي عمودي به دو بخش جديد تقسيم مي کند که در دو فرزند نود جاري ذخيره مي شوند. در واقع، hyperplane جاري، بعد d را از نقطه کليدي نود فضا تقسيم مي کند. در مورد k-d Tree هاي قابل تطبيق، اين نقطه کليدي، نقطه مياني مي باشد. تمام نقاط کوچکتر از ميانگين، به فرزند چپ نود جاري تعلق مي گيرند و بقيه به فرزند راست. نود مياني در هر کدام از دو فرزند مي تواند ذخيره شود. بهتر است که تعداد نقاط فرزندان با هم برابر باشد. غالبا بعدي که مي شکند در تمام نودهاي سطح اول يکسان است. سپس فرزندان نودي که در بعد d شکسته شد، در بعد (d+1)mod k مي شکنند. در نتيجه اين شکستن ها، زيرفضاهاي منظمي خواهيم داشت که نقاطذخيره شده در آنها به يکديگر نزديک مي باشند. Treek-d نهايي داراي عمق مي باشد. ( ريشه در سطح صفر قرار دارد.)

46 Guard k-d Tree در Guard k-d Tree هر نود علاوه بر ذخيره نقاطش، نقاطي را که در بافري به پهناي Rad2* حول آن قرار دارد را نيز ذخيره مي کند. هر برگ مي تواند بطور مستقل عمل کند و مرحله خوشه بندي متقابل که در FDC مطرح بود، اينجا لازم نمي باشد. در اين روش به منظور افزايش کارايي، مصرف حافظه بالا مي رود. هر نود، يک بافر را نيز ذخيره مي کند، بنابراين تمام نقاط لازم، قابل دسترسي مي باشند. نقاط متعلق به يک زيرفضا از يک نود، نقاط باکت ناميده مي شوند. و نقاط متعلق به بافر احاطه کننده آن نقاط بافر ناميده مي شوند. نقاطي از زيرفضا که فاصله آنها از حدود زيرفضا، حداکثر 2*Rad باشد، نقاط حدي ناميده مي شوند. اگر فاصله نقطه حدي از حدود زيرفضا حداکثر Rad باشد، نقطه حدي اوليه ناميده مي شود و در غيراين صورت، نقطه حدي ثانويه ناميده مي شود.

47 طرح هاي موازي Tree k-d طرح بر مبناي مرتب سازي اوليه طرح بر مبناي مرتب سازي ساده طرح بر مبناي ميانه آزمايشات نشان مي دهد که اگر N/P بزرگ باشد، (N: سايز ورودي و P: تعداد پرازنده ها) طرح هاي فوق، بهترين کارايي را خواهند داشت.

48 طرح بر مبناي مرتب سازي اوليه ساخت Treek-d بر مبناي مرتب سازي انجام مي شود. به اين منظور، ، آرايه ورودي با مجموعه نقاط S را به منظور دستيابي به k آرايه در ريشه درخت، k-1 بار دو برابر مي کنيم. به منظور ساخت درخت بطور موازي، آرايه ها را در پردازنده ها توزيع مي کنيم. اين آرايه ها از طريق الگوريتم مرتب سازي موازي، مرتب مي شوند و توزيع آنها، مجددا بالانس مي شود. هنگام شکستن نود، نيمي از پردازنده ها، فرزند چپ را پردازش خواهند کرد و نيم ديگر، فرزند راست را و به همين دليل، در شروع کار تعداد پردازنده ها بايد تواني از 2 باشد. به علت تقسيم گروه پردازنده ها، نقاطي که متعلق به نود فرزند هيچ گروهي نباشند، بايد دوباره توزيع شوند. ارتباط بين پردازنده ها به اين صورت انجام مي شود: براي شکستن بعد جاري لازم نيست بر روي نقاط باکت کاري انجام شود. زيرا آنها قبلا در پردازنده هاي صحيح ذخيره شده اند. اما براي تمام بعدهاي ديگر، هر پردازنده بايد، آرايه نقاط مرتب شده مربوطه را به منظور تعيين اينکه يک نقطه به کدام فرزند تعلق دارد، پيمايش کند. سپس نقاط، به گروه پردازنده هايشان منتقل شده و توزيع مي شوند.

49 طرح بر مبناي مرتب سازي اوليه در سطح ، تعداد نقاط برابر با تعداد پردازنده ها مي باشد. بنابراين هر پردازنده در آن سطح، يک نود دارد و زيردرختش را مي سازد. اين نود، ريشه ترتيبي پردازنده ناميده مي شود. ساخت ترتيبي نيز مانند ساخت موازي انجام مي شود. در هنگام شکستن گره، الگوريتم تعيين مي کند که نقاط باکت نود به کدام جهت ميانه تعلق دارند. در واقع مشخص مي کند که نقطه متعلق به کدام فرزند گره جاري مي باشد. هر نقطه در نود فرزند مناسبش توزيع مي شود. بنابراين نود جاري و فرزندانش در يک پردازنده ذخيره مي شوند. بنابراين، ارتباط با پردازنده هاي ديگر نداريم. غالبا ساخت درخت، هنگاميکه شرايط ساخت هيچ فرزندي وجود نداشته باشد، متوقف مي شود. به منظور شکستن يک نود؛ نقاط قديم و جديد بافر بايد تعيين شوند. براي هر فرزند بايد چک شود که آيا هنوز متعلق به بافرش مي باشد، سپس نقاط بافر در نود فرزند مربوطه شان ذخيره مي شود. در سطوح بالايي ، اين مرحله به طور موازي انجام مي شود اما در مورد ، به صورت ترتيبي انجام مي شود.

50 طرح بر مبناي مرتب سازي ساده در اين طرح به طور همزمان P ، k-d Tree ترتيبي ساخته مي شود. براي ساخت درخت، هر پردازنده حداکثر نقطه در حافظه اش فراخواني مي کند. سپس تمام نقاط در يک بعد، با الگوريتم مرتب سازي موازي، مرتب مي شوند. و فراخواني دوباره بالانس مي شود. در واقع طرح به P باکت ريشه مجزا شامل تعداد نقاط برابر تقسيم مي شوند و هر پردازنده يک باکت ريشه خواهد داشت. پردازنده هاييکه باکت هاي ريشه شان، داراي حدود باکت ريشه مشترک است، بايد نقاط حدودشان را معاوضه کنند. براي انجام کار بر مبناي مرتب سازي، هر پردازنده بطور محلي k-1 آرايه مرتب ديگر توليد مي کند(براي هر بعد يکي).

51 طرح بر مبناي ميانه اين طرح مشابه با طرح بر مبناي مرتب سازي اوليه مي باشد. براي اولين سطح، درخت بين پردازنده ها توزيع مي شود. در سطح ، هر پردازنده يک نود دارد و زيردرختش را به طور ترتيبي مي سازد. براي شکستن يک نود، بالانس نقاط در هر فرزند از طريق تقسيم باکت جاري B در ميانه نقاط B انجام مي شود. اما برخلاف روشهاي بر مبناي مرتب سازي، اين نقطه مياني بطور غيرصريح از طريق آرايه مرتب شده پيدا نمي شود. و بصورت آشکارا براي آرايه جاري از طريق الگوريتم انتخاب موازي که اساسا برپايه کد مجازي پيشنهادي در [AGR97] است انجام مي شود. بنابراين تنها نياز به آرايه يک نقطه اي داريم و مرتب سازي اوليه انجام نمي شود.

52 تعيين خصوصيات خوشه بندي مراحل اصلي خوشه بندي در برگهاي Treek-d انجام مي شود. ( تعيين شعاع همسايگي براي هر نقطه و تعيين خصوصيات خوشه بندي). تعداد نقاطي که ذخيره مي شوند، براي اينکه حافظه اصلي کافي باشد، بايد کنترل شود. مشابه FDC، تمام نقاط برگ جاري ( که براي PFDC شامل بافر نيز مي باشد) در grid ي با سلولهاي داراي سايز يکسان که طول آنها در هر بعد، شعاع همسايگي مي باشد، نگاشت مي شوند. سپس خصوصيت خوشه بندي تمام نقاط باکت و تمام نقاط بافر اصلي تعيين مي شوند. شعاع همسايگي از طريق پرسش فاصله نقاط از سلول خودشان و سلولهاي مجاورشان محاسبه مي شود. اين مراحل براي نقاط بافر ثانوي لازم نمي باشند. اگر شعاع همسايگي نقطه p، حداقل MinPts باشد، p نقطه مرکزي مي باشد. اگر اين نقطه شناسه خوشه نداشته باشد، يک شناسه جديد مي گيرد. اين شناسه به تمام نقاط در نيز داده مي شود، زيرا اين نقاط به همان خوشه تعلق دارند. اگر يکي از اين نقاط، از قبل شناسه خوشه داشته باشد، (با نقطه مرکزي q) ، pو q، density_link مي شوند. بنابراين با هم يک خوشه را تشکيل داده و شناسه هاي آنها هم ارز مي شوند اين هم ارزي خصوصا در نزديکي حدود برگ اتفاق مي افتد. بنابراين مي توان اين خوشه ها را با شناسه جديدي در هم ادغام نمود.

53 ساخت Tree k-dعمومي در تمام طرح ها فرايند ساخت k-d Tree بصورت breath-first search انجام مي شود. ( سطوح درخت به ترتيب پردازش مي شوند.) مرتب سازي موازي از طريق الگوريتم sample-sort [92SS]انجام مي شود. در هنگام ساخت درخت، اگر تعدا نقاط يک زيرفضا از ترشولد که در فايل پيکره بندي موجود است) بيشتر باشد، آن زيرفضا مي شکند. شکست بعد، منجر به ساخت فرزندان يک نود مي گردد. اگر فضاي نود کوچکتر يا مساوي Rad2* باشد، نود جاري مي شکند و اطلاعاتش در فرزندانش نيز ذخيره مي شود. اما اگر اين فضا بيش از Rad2* باشد، يک نود، فقط يک فرزند دارد.

54 خوشه بندي برگ

55 شعاع همسايگي براي هر باکت و نقاط بافر اصلي دو نود تعيين مي شود. با استفاده از متد assignClusterID نقطه مرکزي و تمام همسايگانش، شناسه يکسان مي گيرند. اگر نقطه اي از قبل شناسه ديگري داشته باشد، هم ارزش ذخيره مي شود. تمام نقاطي که طبقه بندي نمي شوند و به خوشه اي تعلق نمي گيرند، نويز مي باشند. نقاط بافر ثانوي ممکن است بخشي از يک خوشه باشند هر چند که خوشه بندي برگ جاري منجر به طبقه بندي آن نشده باشد. در اينجا نقاط به ترتيب منظم نشده اند بنابراين انتظار نداريم که فوايد k-d Tree بر مبناي ترتيب را داشته باشيم.

56 رفع مشکل هم ارزي خوشه ها پس از اتمام خوشه بندي برگها، هم ارزي خوشه ها به طور محلي در هر پردازنده حل مي شود. هر هم ارزيي که در assignClusterID رخ دهد، در نگاشت کتابخانه اي استاندارد نوشته مي شود. سپس مينيمم اين شناسه ها، به عنوان شناسه واحد اين ها انتخاب مي شود. کد مجازي زير، به اين منظور استفاده مي شود:

57 انجام موازي از طريق طرح بر مبناي مرتب سازي ساده براي ادغام موازي، نقاط حاشيه اي اصلي که نويز نمي باشند شناسايي مي شوند. کافي است که فقط يک نقطه در هر خوشه با پردازنده کناري ارتباط داشته باشد. بنابراين نشانه ها تعيين و معاوضه مي شوند. اگر هم ارزي رخ دهد رفع مي شود. اما خوشه ها مي توانند به علت هم ارزي متعدي که در مرحله قبل رفع نمي شود، به بيش از دو باکت ريشه گسترش يابند. اين مساله به سادگي از طريق ارسال مجدد ارزشهاي به روز شده حل نمي شود. زيرا يک خوشه مي تواند به تمام N باکت ريشه گسترش داده شود. در عوض تمام هم ارزيهاي شناخته شده، به يک پردازنده اصلي فرستاده مي شوند. اين پردازنده شبيه مرحله ترتيبي بالا مساله هم ارزي را رفع مي کند و کوچکترين شناسه را به عنوان شناسه شان به آنها ارسال مي کند و پردازنده ها نتايجشان را تصحيح مي کنند.

58 انجام موازي از طريق طرح بر مبناي مرتب سازي اوليه نظر به اينکه هم ارزيهاي محلي در مرحله ادغام محلي رفع مي شوند، باکتهايي که مطابق با ريشه ترتيبي هر پردازنده هستند، هم ارزي محلي نخواهند داشت. حال به منظور ادغام موازي، بايد اطلاعات حاشيه هاي اين باکتها را بين پردازنده هايشان معاوضه کنيم. بنابراين بايد تعيين کنيم که کدام نقاط حاشيه اي غير نويز متعلق به بافر پردازنده مجاور مي باشد. در مرحله ادغام موازي پيشرفته، تمام نقاط حاشيه اي غير نويز به پردازنده هاي مربوطه که حالت جاري پياده سازي مي باشند ارسال مي شوند. اگر پردازنده اي نقاطي با شناسه خوشه متفاوت دريافت کند، هم ارزي را علامت گذاري کرده و پس از ارتباط با نقاط لازم، اين هم ارزي به پردازنده اصلي ارسال مي شود. شناسه خوشه تصحيح شده به پردازنده هاي مربوطه ارسال مي شود تا نتايجشان را تصحيح کنند.

59 توليد و ارائه خروجي براي نوشتن خروجي در ديسک، به منظور جلوگيري از تضاد نوشتن همزمان، هر پردازنده يک فايل خروجي منحصربه فرد دارد. خروجي الگوريتم، از اجتماع اين فايل ها ايجاد مي شود. فايل خروجي مشابه فايل ورودي است که در آن هر خط شامل يک نقطه است که به آن شناسه خوشه نيز اضافه شده است. خروجي نيز در پنجره LEDA نمايش داده مي شود.

60 بررسي نتايج آزمايشات نشان مي دهد که الگوريتمها، از speedup خوبي برخوردارند. مزيت اصلي روش برپايه مرتب سازي ساده، طرح ارتباط هموار آن که مستقل از تعداد پردازنده ها است، مي باشد. طرح مرتب سازي اوليه، نياز به تعداد مربعي پردازنده دارد. اين مساله در مورد طرح مرتب سازي ساده مطرح نمي باشد و بنابراين، اين طرح در کاربردهاي عملي خصوصا، معماري آرايه خطي مناسب مي باشد. در مجموع مشاهده شده است که طرح مرتب سازي ساده از طرح مرتب سازي اوليه کندتر نمي باشد.

61 خلاصه و نتايج خصوصيات الگوريتم BIRCH:  اين متد مسائل خوشه بندي بزرگ را با تمرکز بر بخشهاي متراکم داده کنترل مي کند.  اين روش از مقياسهايي که براي بررسي ميزان نزديکي داده ها مناسب است استفاده مي کند. اين مقياسها در درخت بالانس شده ارتفاع، بطور افزايشي قابل ذخيره سازي و بروز رساني هستند.  الگوريتم BIRCH مي تواند با هر ميزان حافظه اي کار کند و پيچيدگي I/O در آن کمي بيش از يک بار بررسي داده مي باشد.  BIRCH مي تواند با کيفيت عالي بر روي مجموعه داده هاي بزرگ عمل کند و بطور قابل ملاحظه اي از نظر کيفيت، سرعت و حساسيت نسبت به ترتيب ورود داده، برتر از CLARANS مي باشد.  تنظيم مناسب پارامترها نيز در کارايي BIRCH بسيار حائز اهميت است.

62 خلاصه و نتايج خصوصيات الگوريتم CURE :  در اين الگوريتم، از چندين نقطه ارائه براي هر خوشه استفاده مي شود. اين نقاط از بين نقاط پراکنده خوشه انتخاب مي شوند که با ضريب مشخصي به سمت مرکز خوشه کاهش مي يابند. اين تعدد نقاط باعث مي شود که CURE بتواند خوشه هاي غيرکروي را نيز شناسايي کند.  براي مديريت مجموعه داده هاي بزرگ، CURE از نمونه برداري تصادفي و پارتيشنينگ استفاده مي کند.  با استفاده از نمونه برداري تصادفي و مديريت نقاط دورافتاده، نقاط دور افتاده را فيلتر مي کند.  علاوه بر اين الگوريتم برچسب دهي در CURE براي مشخص کردن نقاط متعلق به خوشه استفاده مي شود. در واقع فاصله نقاط انتخاب شده با اين نقاط ملاک عمل مي باشد.  پيچيدگي زماني اين الگوريتم در صورتيکه ابعاد داده کم باشد، O(N 2 ) مي باشد. و پيچيدگي فضايي آن ضريبي از N است.  آزمايشات نشان مي دهد که کيفيت خوشه هاي توليد شده با اين الگوريتم بسيار خوب مي باشد و براي پايگاههاي داده بزرگ نيز بدون پايين آوردن کيفيت، مناسب مي باشد.

63 خلاصه و نتايج خصوصيات الگوريتمDBCLASD:  در اين الگوريتم، فاصله نقطه از خوشه مورد نظر مي باشد.  در اين الگوريتم فرض شده است که نقاط داخل يک خوشه داراي توزيع يکنواخت هستند.  آزمايشات نشان مي دهد که اين الگوريتم برخلاف CLARANS قادر است خوشه هاي با شکل و سايز دلخواه را کشف کند. و نيازي به پارامتر ورودي ندارد.  از نظر کارايي نيز بين CLARANS و DBSCAN قرار دارد.  اين الگوريتم هنگاميکه داده ها در پايگاههاي داده واقعي دقيقا داراي توزيع يکنواخت نمي باشند نيز خوب عمل مي کند. خصوصيات الگوريتم PFDC:  در اين الگوريتم، از طريق پردازش موازي مي توان بر کمبود منابعي نظير حافظه و زمان پاسخ غلبه نمود.  اين الگوريتم در واقع همان الگوريتم FDC است که موازي شده است.

64 فهرست منابع [AAG00]I. Al-furaih,S. Aluru, S. Goil, and S. Ranka: Parallel Construction of Multidimensional Binary Search Trees. In: IEEE Trans. On Parallel and Distributed Systems, vol. 11,no. 2, pp. 136-148, Feb. 2000. [AGR97]I. Al-furaih,S. Aluru, S. Goil, and S. Ranka: Practical Algorithms for Selection on Coarse-Grained Parallel Computers, IEEE Trans. Parallel and Distributed Systems, vol. 8, no. 8, pp. 313-324, Aug.1997. [EKS98]Martin Ester, Hans-Peter Kriegel, Jorg Sander and etal. Clustering for Mining in Large Spatial Databases. Published in special issue on data mining, KI-Journal, ScienTec Publishing, Vol.1,1998. [GRS98]Sudipto Guha, Rajeev Rastogi, Kyuseok Shim. CURE: An Efficient Clustering Algorithm for Large Databases. Stanford and Murray Hill university 1998. [M02]Henning Meyerhenke. PFDC: A Parallel Algorithm for Fast Density-based Clustering in Large Spatial Databases. 2002. [MN99]K. Mehlhorn, S. Naher:LEDA: A Platform for Combinatorial and Geometric Computing. Cambridge University Press, 1999. [NH94]Raymond T.Ng and Jiawei Han, Efficint and Effective Clustering Methods for Spatial Data Mining, Proc. Of VLDB, 1994. [SS92]H. Shi, J. Schaeffer: Parallel Sorting by Regular Sampling. Journal of Parallel and Distributed Computing, vol. 14, no. 4, pp. 361-372, April 1992. [Vit85]Jeff Vitter. Random Sampling with a reservoir. ACM Transactions on Mathematical Software,11(1):37-57, 1985. [XEK98]Xiaowei Xu, Martin Ester, Hans-Peter Kriegel. A Distribution-Based Clustering Algorithm for Mining in Large Spatial Database. In proceeding of ICDE'98, 1998. [ZRL96]Tian Zhang, Raghu Ramakrishnan, and Miron Livny. Birch: An efficient data clustering method for very large databases. In proceedings of the ACM SIGMOD Conference on Management of Data, pages 103-114, Montreal, Canada, June 1996.


Download ppt "بررسی روشهای خوشه بندی پايگاههای داده بزرگ. فهرست مطالب بررسی الگوريتم BIRTCH [ZRL96] بررسی الگوريتم CURE [GRS98] بررسی الگوريتم DBCLASD [XEK98] بررسی."

Similar presentations


Ads by Google