الگوریتم خوشهبندی در داده کاوی
همانطور که میدانید از دادهکاوی برای کاوش در اطلاعات و کشف دانش استفاده میشود. برای اینکار الگوریتمهای متعددی وجود دارد که هر یک برای هدف خاصی کاربرد دارند. در SQL Server Business Intelligence Development Studio تعداد 9 الگوریتم مختلف برای انجام عمل دادهکاوی وجود دارد که از هر یک در شرایط خاص و در جهت رسیدن به اهداف مشخصی استفاده میشود. خوشه بندی از مهمترین الگوریتمهای داده کاوی است و کاربرد بسیاری در کشف دانش دارد به همین دلیل در این مقاله به الگوریتم خوشه بندی که یکی از مهمترین الگوریتمهای دادهکاوی است، خواهیم پرداخت.
کلاسترینگ (Clustering) یا خوشهبندی از جمله الگوریتمهای قطعه بندی به حساب میآید. الگوریتم خوشهبندی اطلاعاتی را که ویژگیهای نزدیک به هم و مشابه دارند را در دستههای جداگانه که به آن خوشه گفته میشود قرار میدهد. به بیان دیگر خوشهبندی همان دستهبندیهای سادهای است که در کارهای روزانه انجام میدهیم. وقتی با یک مجموعه کوچک از صفات روبرو باشیم دسته بندی به سادگی قابل اجرا است، برای مثال در یک مجموعه از خودکارهای آبی، مشکی، قرمز و سبز به راحتی میتوانیم آنها را در 4 دسته قرار دهیم اما اگر در همین مجموعه ویژگیهای دیگری مثل سایز، شرکت سازنده، وزن، قیمت و… مطرح باشد کار کمی پیچیده میشود. حال فرض کنید در یک مجموعه متشکل از هزاران رکورد و صدها ویژگی قصد دسته بندی دارید، چگونه باید این کار را انجام دهید؟!
بخش بندی دادهها به گروهها یا خوشههای معنادار به طوری که محتویات هر خوشه ویژگیهای مشابه و در عین حال نسبت به اشیاء دیگر در سایر خوشهها غیر مشابه باشند را خوشهبندی میگویند. از این الگوریتم در مجموعه دادههای بزرگ و در مواردی که تعداد ویژگیهای داده زیاد باشد استفاده میشود.
تعریف خوشه بندی
فرض کنید کودکی هستید که به همراه یک کیسه پر از تیله در اتاقی نشسته اید. اکنون کیسه را باز میکنید و اجازه میدهید تا تیلهها روی زمین حرکت کنند. متوجه میشوید که تیله ها رنگهای متفاوتی دارند: قرمز، آبی، زرد، سبز. تیله ها را برحسب رنگ جدا میکنید تا اینکه چهار گروه تیله داشته باشید. سپس متوجه میشوید که برخی از تیله ها بزرگ، بعضی کوچک و بعضی، متوسط هستند. حال تصمیم میگیرید که تیلههای بزرگ و کوچک را با هم و تیلههای متوسط را به گروهی مجزا دسته بندی کنید. شما به این تقسیم بندی نگاه میکنید و از این کار راضی هستید. اکنون یک عملیات خوشهبندی انجام دادهاید.
دوباره نگاهی به خوشهها میکنید و میبینید که نه تنها تیله هایی با رنگهای یکپارچه دارید، بلکه تیلههای چشم گربهای، شرابی، شیشهای و احتمالا انواع دیگری نیز دارید. برخی از تیلهها دارای سائیدگی هستند. برخی از آنها دارای زوایایی هستند که بطور مستقیم حرکت نمیکنند. اکنون سر درگم هستید، شما گروه بندی خود را براساس کدام خصوصیت انجام میدهید؟ اندازه، رنگ یا فاکتورهای دیگر از قبیل شکل یا جنس؟ به احتمال زیاد شما دوست دارید فقط بازی کنید!
زمانی که با یک مجموعه کوچک از خصوصیات سروکار داریم، خوشهبندی یک عمل ساده ای است که می توانیم آن را انجام دهیم. اما زمانی که خصوصیات رشد میکنند مشکلات خوشهبندی افزایش پیدا کرده و حتی ممکن است از طریق ذهن آدمی غیر ممکن باشد. عمل خوشهبندی فقط در 5 یا 6 بٌعد برای افراد نظریه پرداز که فهم عمیقی از دادهها دارند امکان پذیر است. اما مجموعه دادههای مدرن، عموماً شامل دهها (اگر نگوییم صدها) بٌعد هستند و زمانی که ما نمیتوانیم روابط ممکن بین خصوصیات را درک کنیم، عمل خوشهبندی غیر ممکن میشود.
توجه: در این مقاله منظور از بٌعد تعداد خصوصیات اشیاء میباشد. به عنوان مثال، نقاط در صفحه دکارتی دارای دو بعد X و Y هستند.
کلاسترینگ، اشیاء را براساس ویژگیهایی که با هم دارند گروهبندی میکند. هدف اصلی در خوشه بندی تقسیم بندی اشیاء به گونهای است که بیشترین شباهت در یک گروه و بیشترین تفاوت با اشیاء گروههای دیگر را دارا باشد. بعنوان تعریف سادهتر میتوان گفت که اشیاء در خوشه مخصوص خود دارای بیشترین شباهت و در برابر اشیای متعلق به خوشههای دیگر دارای بیشترین تفاوت هستند.
در برنامههای کاربردی، عمل خوشهبندی بصورت کاملا متمایز انجام نمیگیرد. جدا از مسائل فوق خوشهبندی دادهها را از هم جدا میکند و هر خوشه دادههای مخصوص خود را دارد و از تداخل داده در خوشه جلوگیری میشود. البته خوشه بندی فازی جدا از مسئله فوق میباشد و اجازه میدهد که یک شیء متعلق به چند گروه وابسته باشد.
با توجه به شکل ممکن است که گرفتن چهار خوشه عقلانی نباشد (به علت شباهت نزدیک دو گروه)، به همین علت تاکید میکنیم که اشیاء خوشه را با توجه به وابستگی نوع دادهها و نتایج آن میتوان بدست آورد.
چه تحلیل و آنالیزهایی خوشه بندی نیستند؟
در این قسمت به طور خلاصه تفاوت تجزیه و تحلیل خوشهای با دیگر تکنیک های گروهبندی را بیان میکنیم. در واقع گروهبندی اشیاء، داده را به کلاسهای نام گذاری شده تخصیص میدهد. در گروه بندی هر شیء دارای یک سرپرست و یا ناظر میباشد. میتوان گفت خوشه بندی یک نوع طبقه بندی بدون سرپرست است یعنی اشیاء بر اساس شباهتهایی که باهم دارند تقسیم میشوند و نه بر اساس معیارهای از پیش تعیین شده. به همین دلیل به خوشهبندی گاهی اوقات طبقه بندی بدون سرپرست نیز میگویند. در دادهکاوی هنگامی که از اصطلاح طبقه بندی استفاده میشود منظور همان طبقه بندی بصورت با سرپرست میباشد و همچنین واژههای قطعه بندی و پارتیشن بندی مترادف خوشه بندی هستند. این لغات بارها در روش های سنتی استفاده شده است. در واقع استفاده از قطعه بندی، استفاده از تکنیک های ساده ای برای گروهبندی دادهها میباشد.
بعنوان مثال تقسیم بندی پیکسلهای عکس به دو قسمت رنگ و شدت رنگ و یا تقسیم بندی مردم به گروهایی بر اساس درآمد و یا نام خانوادگی؛ با این وجود بعضی از تقسیمبندیهای عکس و تجزیه و تحلیل بازار خوشه میباشد و از یک چارچوب ریاضی برای دادهکاوی استفاده میکنند. قوانین زیادی از دادهکاوی روی مشکلات تقسیم بندی فعالیت و نظارت دارد و به همین ترتیب روشهای فراوانی برای پارتیشن بندی مجموعهای از داده وجود دارد اما هیچ کدام در سطح تجزیه و تحلیل خوشهبندی نمیباشند.
ارتباط محکمی میان پارتیشنبندی و گراف خوشه بندی وجود دارد. برای درک بهتر تفاوت میان خوشه بندی و سایر تکنیکهای گروهبندی اشیاء به مثال زیر توجه کنید.
تفاوت خوشه بندی با بانک اطلاعاتی یا درخواست از موتور جستجو: اگرچه یک کوئری مجموعهای از رکوردها را به دو گروه تقسیم می کند ( و فقط قسمت مورد نیاز پرس و جو بازیابی میشود) این دو نتیجه به علت نداشتن ارتباط، خوشه بندی نیستند. یک پرس و جو مجموعه ای از اشیاء را نمایش میدهد در حالی که خوشه بندی تلاش میکند اشیاء را براساس شباهت ها و تفاوتها سازماندهی کند.
نکته: شاید به نظر برسد که پاسخ های کوئری دارای شباهت هایی هستند، اما باید توجه داشت که در پرس و جو عموما تمام ابعاد درخواست نمیشوند و ممکن است شباهت ها فقط در چند بٌعد کوچک باشد.
الگوریتم خوشه بندی
زمانی که روابط بین دادهها به خوبی آشکار نباشند، این الگوریتم یک گروه بندی طبیعی میان دادهها انجام میدهد. یا به عبارت دیگر این الگوریتم متغیرهای پنهانی را پیدا میکند که دقیقا دادههای شما را دستهبندی کرده است. برای مثال ممکن است با دیدن بخشی از مردم که عازم سفر هستند متوجه شوید که درصد قابل توجهای از مسافرین لباس های نازک پوشیدهاند در حالیکه بقیه افراد گرمکن و کت به تن دارند. در این حالت میتوان یک متغیر پنهانی را نتیجه گرفت که آن متغیر بیان می کند یک گروه افراد از آب و هوای گرمسیری می آیند و گروه دیگر از ناحیه سرد و بارانی بازمی گردند. این توانایی که رشته مشترکی از ارتباطات را به یکدیگر متصل میکند باعث میشود که خوشهبندی تبدیل به یک تکنیک استخراج دادهی رایج، در بازاریابی شود.
شناسایی گروههای طبیعی دادهها، انسان را از تحلیل های ساده تجارت مبتنی بر سازمان موجود رها میسازد در غیر اینصورت با گروهای محدودی روبرو میشویم که خودمان تصور کردهایم و ممکن است چگونگی مسیری که باعث کمک به مشتریان نشود را انتخاب کرده باشیم. منظور از تحلیل ساده، تحلیلهایی است که به نظر درست و دقیق میآید اما در واقع ممکن است چنین نباشد. بعنوان مثال به علت استفاده زیاد از چای و قند شاید خیلی از افکار فروشندهها نیز به این مطلب جلب گردد که قرار دادن قند و چای در کنار هم گزینه مناسبی است، اما باید توجه داشت که نسبت اتمام قند به چای خیلی بیشتر است. حال اگر فرض کنیم خانوادهها عموما زیاد چای مصرف میکنند میتوان نتیجه گرفت به علت شستن زیاد ظروف مربوط به چای، مصرف مایع ظرفشویی و قند دارای تناسب مصرفی کمتری است. پس میتوان نتیجه گرفت گذاشتن مایع ظرفشویی در کنار قند از گذاشتن چای در کنار قند منطقیتر میرسد. البته توجه کنید که رابطه فوق به صورت نظری میباشد و ممکن است پس از دادهکاوی نتیجه مناسبتری بدست آید.
برای شناخت بیشتر و بهتر رفتار پیرامون مشتریان جهت ارسال پیامهای مناسب به گروه های خاص می توان از خوشه بندی استفاده نمود. برای مثال یک ویدئو کلوپ ممکن است دریابد که گروهی از مشتریان فیلمهای خانوادگی را بر پایه یک نظم خاصی خریداری می کنند و گروه دیگر علاقه کمتری نسبت به خرید فیلمهای مستند دارند. ظاهرا ارسال کارت تبلیغاتی فیلمهای دیسنی (نام یک شرکت فیلمسازی در آمریکا) برای گروه دوم گزینه عاقلانهای نمیباشد.
توانایی تعریف و شناسایی بخشهای بازار ابزاری قوی برای اداره بهتر کسب و کار فراهم می کند. فیلمهای خانوادگی برای فروش مطلوب هستند یا فیلمهای مستند؟ سود بیشتر در ناحیه شمال غرب است یا جنوب شرق؟ سود اجارهکنندگان بیشتر است یا خریداران؟ تقریبا راه های بیشماری برای گروهبندی دادهها وجود دارد. اما برای گروهبندی با یک دید عمیق در کسب و کار راههای کمی وجود دارد.
دادههای مخفی درون سازمانی برای تحلیل تجارت بسیار سودمند میباشد. خرده فروشی که میداند مشتریانش در چه گروهی قرار دارند، میتواند فروش را بر یک اساس منظم هدایت کند.
سلام ممنونم مطلب عالی بود