الگوریتم خوشه‌بندی در داده کاوی

الگوریتم خوشه‌بندی در داده کاوی

همانطور که می‌دانید از داده کاوی برای کاوش در اطلاعات و کشف دانش استفاده می‌شود. برای اینکار الگوریتم های متعددی وجود دارد که هر یک برای هدف خاصی کاربرد دارند. در  SQL Server Business Intelligence Development Studio تعداد ۹ الگوریتم مختلف برای انجام عمل داده کاوی وجود دارد که از هر یک در شرایط خاص و در جهت رسیدن به اهداف مشخصی استفاده می‌شود. خوشه بندی از مهمترین الگوریتم های داده کاوی است و کاربرد بسیاری در کشف دانش دارد به همین دلیل در این مقاله به الگوریتم خوشه بندی که یکی از مهمترین الگوریتم‌های داده کاوی است، خواهیم پرداخت.

 

کلاسترینگ (Clustering) یا خوشه بندی از جمله الگوریتم های قطعه بندی به حساب می‌آید. الگوریتم خوشه بندی اطلاعاتی را که ویژگی های نزدیک به هم و مشابه دارند را در دسته های جداگانه که به آن خوشه گفته می‌شود قرار می دهد. به بیان دیگر خوشه بندی همان دسته بندی های ساده ای است که در کارهای روزانه انجام می‌دهیم. وقتی با یک مجموعه کوچک از صفات روبرو باشیم دسته بندی به سادگی قابل اجرا است، برای مثال در یک مجموعه ‌از خودکار های آبی، مشکی، قرمز و سبز به راحتی می‌توانیم آنها را در ۴ دسته قرار دهیم اما اگر در همین مجموعه ویژگی های دیگری مثل سایز، شرکت سازنده، وزن، قیمت و… مطرح باشد کار کمی پیچیده می‌شود. حال فرض کنید در یک مجموعه متشکل از هزاران رکورد و صدها ویژگی قصد دسته بندی دارید، چگونه باید این کار را انجام دهید؟!

بخش بندی داده ها به گروه ها یا خوشه های معنادار به طوری که محتویات هر خوشه ویژگی های مشابه و در عین حال نسبت به اشیاء دیگر در سایر خوشه ها غیر مشابه باشند را خوشه بندی می‌گویند. از این الگوریتم در مجموعه داده های بزرگ و در مواردی که تعداد ویژگی های داده زیاد باشد استفاده می‌شود.

 

 

تعریف خوشه بندی

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

دوباره نگاهی به خوشه ها می‌کنید و می بینید که نه تنها تیله هایی با رنگهای یکپارچه دارید، بلکه تیله های چشم گربه ای، شرابی، شیشه ای و احتمالا انواع دیگری نیز دارید. برخی از تیله ها دارای سائیدگی هستند. برخی از آنها دارای زوایایی هستند که بطور مستقیم حرکت نمی کنند. اکنون سر درگم هستید، شما گروه‌ بندی خود را براساس کدام خصوصیت انجام می‌دهید؟ اندازه، رنگ یا فاکتورهای دیگر از قبیل شکل یا جنس؟ به احتمال زیاد شما دوست دارید فقط بازی کنید!

زمانی که با یک مجموعه کوچک از خصوصیات سر و کار داریم، خوشه بندی یک عمل ساده ای است که می توانیم آن را انجام دهیم. اما زمانی که خصوصیات رشد می‌کنند مشکلات خوشه بندی افزایش پیدا کرده و حتی ممکن است از طریق ذهن آدمی غیر ممکن باشد. عمل خوشه بندی فقط در ۵ یا ۶ بٌعد برای افراد نظریه پرداز که فهم عمیقی از داده‌ها دارند امکان پذیر است. اما مجموعه داده های مدرن، عموماً شامل ده ها ( اگر نگوییم صدها ) بٌعد هستند و زمانی که ما نمی توانیم روابط ممکن بین خصوصیات را درک کنیم، عمل خوشه بندی غیر ممکن می‌شود.

توجه: در این مقاله منظور از بٌعد تعداد خصوصیات اشیاء می‌باشد. به عنوان مثال، نقاط در صفحه دکارتی دارای دو بعد X و Y هستند.

کلاسترینگ، اشیاء را براساس ویژگی هایی که با هم دارند گروه بندی می‌کند. هدف اصلی در خوشه بندی تقسیم بندی اشیاء به گونه‌ای است که بیشترین شباهت در یک گروه و بیشترین تفاوت با اشیاء گروه های دیگر را دارا ‌باشد. بعنوان تعریف ساده تر می توان گفت که اشیاء در خوشه مخصوص خود دارای بیشترین شباهت و در برابر اشیای متعلق به خوشه های دیگر دارای بیشترین تفاوت هستند.

در برنامه های کاربردی، عمل خوشه بندی بصورت کاملا متمایز انجام نمی‌گیرد. جدا از مسائل فوق خوشه بندی داده ها را از هم جدا می‌کند و هر خوشه داده های مخصوص خود را دارد و از تداخل داده در خوشه جلوگیری می‌شود. البته خوشه بندی فازی جدا از مسئله فوق می‌باشد و اجازه می‌دهد که یک شیء متعلق به چند گروه وابسته باشد.

در کلاسترینگ هر خوشه می‌تواند خود به چند زیر خوشه تبدیل شود. برای درک بهتر مشکلات تصمیم گیری برای تشکیل یک خوشه بندی به شکل زیر توجه کنید. در این شکل ۲۰ شخص که می‌توانند بصورت سه روش در خوشه بندی تقسیم شوند، نمایش داده شده است.

 

الگوریتم خوشه بندی در داده کاوی,داده کاوی,خوشه بندی,کلاسترینگ

 

با توجه به شکل ممکن است که گرفتن چهار خوشه عقلانی نباشد (به علت شباهت نزدیک دو گروه)، به همین علت تاکید می‌کنیم که اشیاء خوشه را با توجه به وابستگی نوع داده ها و نتایج آن می توان بدست آورد.

 

چه تحلیل و آنالیز هایی خوشه بندی نیستند؟

در این قسمت به طور خلاصه تفاوت تجزیه و تحلیل خوشه ای با دیگر تکنیک های گروه بندی را بیان می‌کنیم. در واقع گروه بندی اشیاء، داده را به کلاسهای نام گذاری شده تخصیص می‌دهد. در گروه بندی هر شیء دارای یک سرپرست و یا ناظر می‌باشد. می‌توان گفت خوشه بندی یک نوع طبقه بندی بدون سرپرست است یعنی اشیاء بر اساس شباهت هایی که با هم دارند تقسیم می‌شوند و نه بر اساس معیار های از پیش تعیین شده. به همین دلیل به خوشه بندی گاهی اوقات طبقه بندی بدون سرپرست نیز می گویند. در داده کاوی هنگامی که از اصطلاح طبقه بندی استفاده می‌شود منظور همان طبقه بندی بصورت با سرپرست می‌باشد و همچنین واژه های قطعه بندی و پارتیشن بندی مترادف خوشه بندی هستند. این لغات بارها در روش های سنتی استفاده شده است. در واقع استفاده از قطعه بندی، استفاده از تکنیک های ساده ای برای گروه‌بندی داده‌ها می‌باشد.

بعنوان مثال تقسیم بندی پیکسل های عکس به دو قسمت رنگ و شدت رنگ و یا تقسیم بندی مردم به گروه هایی بر اساس درآمد و یا نام خانوادگی؛ با این وجود بعضی از تقسیم بندی های عکس و تجزیه و تحلیل بازار خوشه‌ می باشد و از یک چارچوب ریاضی برای داده کاوی استفاده می‌کنند. قوانین زیادی از داده کاوی روی مشکلات تقسیم بندی فعالیت و نظارت دارد و به همین ترتیب روش های فراوانی برای پارتیشن بندی مجموعه ای از داده وجود دارد اما هیچ کدام در سطح تجزیه و تحلیل خوشه بندی نمی باشند.

ارتباط محکمی میان پارتیشن بندی و گراف خوشه بندی وجود دارد. برای درک بهتر تفاوت میان خوشه بندی و سایر تکنیک های گروه بندی اشیاء به مثال زیر توجه کنید.

تفاوت خوشه بندی با بانک اطلاعاتی یا درخواست از موتور جستجو: اگرچه یک کوئری مجموعه ای از رکوردها  را به دو گروه تقسیم می کند ( و فقط قسمت مورد نیاز پرس و جو بازیابی می‌شود) این دو نتیجه به علت نداشتن ارتباط، خوشه بندی نیستند. یک پرس و جو مجموعه ای از اشیاء را نمایش می‌دهد در حالی که خوشه بندی تلاش می‌کند اشیاء را براساس شباهت ها و تفاوت ها سازماندهی کند.

نکته: شاید به نظر برسد که پاسخ های کوئری دارای شباهت هایی هستند، اما باید توجه داشت که در پرس و جو عموما تمام ابعاد درخواست نمی‌شوند و ممکن است شباهت ها فقط در چند بٌعد کوچک باشد.

 

 

الگوریتم خوشه بندی

زمانی که روابط بین داده‌ها به خوبی آشکار نباشند، این الگوریتم یک گروه بندی طبیعی میان داده‌ها انجام می‌دهد. یا به عبارت دیگر این الگوریتم متغیرهای پنهانی را پیدا می‌کند که دقیقا داده‌های شما را دسته‌بندی کرده است. برای مثال ممکن است با دیدن بخشی از مردم که عازم سفر هستند متوجه شوید که درصد قابل توجه‌ای از مسافرین لباس های نازک پوشیده‌اند در حالیکه بقیه افراد گرمکن و کت به تن دارند. در این حالت می‌توان یک متغیر پنهانی را نتیجه گرفت‌ که آن متغیر بیان می کند یک گروه افراد از آب و هوای گرمسیری می آیند و گروه دیگر از ناحیه سرد و بارانی بازمی گردند. این توانایی که رشته مشترکی از ارتباطات را به یکدیگر متصل می‌کند باعث می‌شود که خوشه بندی تبدیل به یک تکنیک استخراج داده‌ی رایج، در بازاریابی شود.

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

برای شناخت بیشتر و بهتر رفتار پیرامون مشتریان جهت ارسال پیام های مناسب به گروه های خاص می توان از خوشه بندی استفاده نمود. برای مثال یک ویدئو کلوپ ممکن است دریابد که گروهی از مشتریان فیلم های خانوادگی را بر پایه یک نظم خاصی خریداری می کنند و گروه دیگر علاقه کمتری نسبت به خرید فیلم های مستند دارند. ظاهرا ارسال کارت تبلیغاتی فیلم های دیسنی (نام یک شرکت فیلمسازی در آمریکا) برای گروه دوم گزینه عاقلانه ای نمی باشد.

توانایی تعریف و شناسایی بخش های بازار ابزاری قوی برای اداره بهتر کسب و کار فراهم می کند. فیلم های خانوادگی برای فروش مطلوب هستند یا فیلم های مستند؟ سود بیشتر در ناحیه شمال غرب است یا جنوب شرق؟ سود اجاره کنندگان بیشتر است یا خریداران؟ تقریبا راه ها‌ی بیشماری برای گروه بندی داده ها وجود دارد. اما برای گروه بندی با یک دید عمیق در کسب و کار راه های کمی وجود دارد.

داده های مخفی درون سازمانی برای تحلیل تجارت بسیار سودمند می‌باشد. خرده فروشی که می‌داند مشتریانش در چه گروه‌ی قرار دارند، می‌تواند فروش‌ را بر یک اساس منظم هدایت کند.

 

 

دیدگاه خود را بنویسید: