داده کاوی[۲] در یک تعریف ساده فرآیندی جهت کشف دانش از مجموعههای دادهای بزرگ میباشد. در بسیاری از موارد، اصطلاح داده کاوی مترادف با عبارت کشف دانش از داده[۳] بکار میرود، اما در حقیقت داده کاوی یکی از مراحل اصلی کشف دانش است. شکل ۱-۱ . فرایند کشف دانش از داده را نشان میدهد و همانطور که مشخص است این فرایند شامل یک دنباله تکراری از مراحل زیر است [۳۷]:
پاکسازی دادهها[۴] (جهت حذف نویز و دادههای ناسازگار)
یکپارچه سازی دادهها[۵] (مرحلهای که چند منبع دادهای با هم ترکیب میشوند)
انتخاب دادهها[۶] (مرحلهای که دادههای مرتبط با فرایند تحلیل، از پایگاه داده بازیابی میشوند)
تبدیل دادهها[۷] (مرحلهای که دادهها به شکلی مناسب برای انجام تحلیل، تبدیل میشوند. به عنوان مثال عملیاتی نظیر خلاصه سازی[۸] و همسان سازی[۹] میتوانند برای تبدیل استفاده شوند)
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت nefo.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
داده کاوی (فرایند اصلی که در آن از روشهای هوشمند و آماری به منظور استخراج الگوهای دادهای استفاده میشود)
ارزیابی الگو[۱۰] (جهت تشخیص الگوهای صحیح و مورد نظر با بهره گرفتن از معیارهای اندازه گیری)
ارائه دانش (مرحلهای که از روشهای نمایش بصری و ارائه دانش جهت نمایش دانش کشف شده به کاربر استفاده میشود)
شکل ۱-۱ فرایند کشف دانش از داده [۳۷]
۱-۳- روشهای داده کاوی
کارهایی که در داده کاوی انجام میشود را میتوان به دو گروه توصیفی[۱۱] و پیشگویانه[۱۲] دسته بندی نمود. فعالیتهای توصیفی میتوانند ویژگیهای اصلی دادهها را در پایگاه داده نمایان سازند. فعالیتهای پیشگویانه نیز جهت پیشگویی، بر روی دادههای موجود، اعمال استنتاجی انجام میدهند. برخی از مهمترین روشهای داده کاوی عبارتند از : دسته بندی[۱۳]، خوشهبندی[۱۴]، کشف قوانین انجمنی[۱۵] و تشخیص دادههای دور افتاده[۱۶]. از بین روشهای مطرح شده، خوشهبندی و کشف قوانین انجمنی فعالیت توصیفی ودستهبندی و تشخیص دادههای دور افتاده فعالیت پیشگویانه محسوب میشوند.
۱-۴- خوشهبندی
تحلیل خوشه یکی از فعالیتهای مهم انسان میباشد. در کودکی ما با بهبود ناخود آگاه خوشهبندی در ذهنمان یاد میگیریم که چگونه بین سگها و گربهها، یا حیوانات و گیاهان تفاوت قائل شویم [۳۰]. خوشهبندی اغلب به عنوان اولین گام و یکی از مهمترین روشهای تحلیل دادهها بشمار میآید. خوشهبندی فرآیندی است که در آن اشیاء در گروههایی از اشیاء مشابه دسته بندی میشوند. هر گروه یا خوشه شامل اشیائی است که شبیه به یکدیگرند و متفاوت از اشیاء گروههای دیگر میباشند. خوشهبندی شکلی از مدل سازی داده است که ریشه در ریاضیات و آمار دارد [۸]. بر خلاف دسته بندی که یک روش یادگیری نظارت[۱۷] شده است، خوشهبندی یک روش یادگیری نظارت نشده[۱۸] بحساب میآید، چرا که دادهها در دسته بندی دارای برچسب کلاس[۱۹] میباشند اما در خوشهبندی برچسب کلاس برای دادهها مشخص نیست. هدف در خوشهبندی کمینه سازی فاصله دادههای درون خوشه و بیشینه سازی فاصله دادهها بین خوشههای مختلف میباشد و از اینرو نوعی مسئله بهینه سازی محسوب میشود. برخی مواقع اصطلاحات بخش بندی[۲۰] و قطعهبندی[۲۱] نیز در تحقیقات مترادف با خوشهبندی در نظر گرفته میشوند.
انسانها بدون استفاده از روشهای خلاصه سازی قادر به کشف دانش از انبوه اطلاعاتی که در پایگاهدادهها قرار دارند، نیستند. آمارهای پایهای (نظیر میانگین و واریانس) یا نمودارهای مقایسه فراوانی[۲۲] اطلاعات اولیه و اندکی در مورد دادهها ارائه میدهند. اما تحلیل خوشه یا خوشهبندی میتواند روابط پیچیدهتری را بین اشیاء دادهای، بین صفات خاصه دادهها و یا بین این دو کشف کند [۶۱].
خوشهبندی کاربردهای گستردهای در هوش مصنوعی، زیست شناسی، مدیریت ارتباط با مشتری[۲۳]، داده کاوی، یادگیری ماشین، بازاریابی، پزشکی، تشخیص الگو، بازیابی اطلاعات و پردازش تصویر دارد. به عنوان مثال در زیست شناسی، خوشهبندی میتواند بر مبنای خصوصیات جانداران یک طبقه بندی از گونههای مختلف ایجاد کند. کاربرد دیگر خوشهبندی، درک بهتر عملکرد ژنها در فرآیندهای زیستی یک سلول است [۶۱]. در تجارت، خوشهبندی به فروشندهها کمک میکند تا گروههای متفاوتی از مشتریان را بر اساس الگوهای خریدشان کشف کنند. خوشهبندی میتواند در تشخیص گروههایی از خانهها در یک شهر مطابق با نوع خانه، ارزش و موقعیت جغرافیایی و همچنین در تشخیص گروههایی از دارندگان بیمه نامه اتومبیل با متوسط هزینه بالا کاربرد داشته باشد. خوشهبندی میتواند در گروه بندی نتایج موتورهای جستجو در وب نیز استفاده شود. شکل ۲-۱ ترسیمی دو بعدی از موقعیت مشتریان در یک شهر را نشان میدهد که از خوشهبندی اطلاعات مربوط به مشتریان یک فروشگاه بدست آمده است [۱].
شکل ۱-۲ ترسیمی دو بعدی از موقعیت مشتریان در یک شهر که شامل سه خوشه دادهای میشود. مرکز هر خوشه با “+” نشان داده شده است [۳۰].
برخی از چالشها و نیازمندیهای مطرح در زمینه خوشهبندی شامل موارد ذیل میشوند[۳۰]:
مقیاس پذیری[۲۴]: بسیاری از الگوریتمهای خوشهبندی تنها بر روی مجموعههای دادهای کوچک عملکرد خوبی دارند. اما در عمل یک مجموعه دادهای بزرگ ممکن است دارای میلیونها شئ دادهای باشد.
قابلیت کار با انواع مختلف صفات خاصه: بسیاری از الگوریتمها برای خوشهبندی دادههای عددی طراحی شده اند. اما در بسیاری از کاربردها نیاز است انواع مختلفی از دادهها نظیر دادههای دودویی، اسمی[۲۵]، ترتیبی[۲۶] و یا ترکیبی از آنها خوشهبندی شود.
حداقل نیاز به تعیین پارامترهای ورودی: بسیاری از الگوریتمهای خوشهبندی نیازمند تعیین پارامترهای ورودی توسط کاربر هستند (به عنوان مثال تعداد خوشههای مورد نظر). نتایج خوشهبندی کاملا به این پارامترها وابسته است. تعیین این پارامترها در عمل کار مشکلی میباشد.
قابلیت تحمل نویز: برخی از الگوریتمهای خوشهبندی حساس به نویز میباشند که این مسئله میتواند باعث بدست آمدن خوشههایی با کیفیت پایین شود.
خوشهبندی افزایشی و غیرحساس به ترتیب ورود دادهها: برخی از الگوریتمهای خوشهبندی نمیتوانند دادههای جدید را در خوشههای موجود قرار دهند و باید خوشهبندی بر روی تمام دادهها از ابتدا انجام گیرد. چنین الگوریتمهایی به ترتیب ورود دادهها حساس میباشند. اما برخی دیگر از الگوریتمها به صورت افزایشی عمل میکنند و ترتیبهای مختلف ورود دادهها در نتایج آنها تأثیری ندارد.
خوشهبندی بر روی مجموعههای دادهای با ابعاد زیاد: یک پایگاه داده میتواند شامل چندین بعد یا صفت خاصه باشد. بسیاری از الگوریتمهای خوشهبندی تنها زمانی عملکرد خوبی دارند که تعداد صفات خاصه در مجموعه دادهای کم باشد. خوشهبندی بر روی دادههایی با صفات خاصه زیاد یک مسئله چالش برانگیر است.
روشهای موجود در خوشهبندی از جنبهه ای مختلفی میتوانند بررسی شوند. الگوریتمهای خوشهبندی میتوانند به صورت تقسیم کننده[۲۷] (بالا به پایین) یا تجمیع کننده[۲۸] (پایین به بالا) باشند. در روشهای بالا به پایین ابتدا تمام دادهها در یک خوشه واحد قرار میگیرند و سپس تا زمان رسیدن به تعداد خوشههای مورد نظر، به خوشههای مختلف تقسیم میشوند. روشهای پایین به بالا نیز ابتدا هر یک از دادهها را در یک خوشه مجزا قرار میدهند و سپس خوشهها به صورت پی در پی در هم ادغام میشوند. به چنین الگوریتمهایی، الگوریتمهای سلسله مراتبی[۲۹] نیز گفته میشود. نوع دیگری از الگوریتمهای خوشهبندی روشهای بخش بندی میباشند. این روشها به دو گروه عمده تقسیم میشوند : ۱) گروهی که هر خوشه را با استفاده مرکز ثقل اشیاء دادهای موجود در آن نشان میدهند[۳۰]. مطرح ترین الگوریتم این گروه، الگوریتم معروف k-means میباشد [۳۲،۳۱]، ۲) گروهی که هر خوشه را با نزدیک ترین شئ دادهای به مرکز خوشه نشان میدهند[۳۱]. الگوریتم k-medoid از این گروه میباشد. الگوریتمهای خوشهبندی در یک دسته بندی دیگر به دو گروه خوشهبندی سخت[۳۲] و خوشهبندی نرم[۳۳] تقسیم میشوند. در الگوریتمهای خوشهبندی سخت، خوشهها دارای اشتراک نیستند یعنی هر شئ دادهای تنها به یک خوشه تعلق دارد، اما در الگوریتمهای خوشهبندی نرم خوشهها میتوانند دارای اشتراک نیز باشند به عبارت دیگر اشیاء دادهای با درجه عضویت مشخصی به هر خوشه تعلق دارند.
مطالعات گستردهای از سال ۱۹۶۰ تاکنون بر روی روشهای خوشهبندی انجام شده است. الگوریتمهای مختلف خوشهبندی در [۸،۴۴،۵۶،۴۵،۷۰،۷۲] با جزئیات و به گونهای مناسب مورد نقد و بررسی قرار گرفته اند.
۱-۵- خوشهبندی توافقی
یکی از روشهای خوشهبندی که در تحقیقات اخیر مورد توجه قرار گرفته است، روش خوشهبندی توافقی[۳۴] میباشد. الگوریتمهای این روش میتوانند نتایج چندین خوشهبندی را با هم ترکیب کرده و به یک خوشهبندی نهایی دست یابند. نتایج مختلف خوشهبندی، یا از چندین منبع مختلف و یا از اجراهای مختلف الگوریتمهای غیر قطعی خوشهبندی بدست میآیند. هدف خوشهبندی توافقی، یافتن خوشهبندیای میباشد که علاوه بر کیفیت بالاتر و پایداری بیشتر خوشهها، مورد توافق خوشهبندیهای اولیه نیز باشد. خوشهبندی توافقی در تحقیقات و مقالات با نامهای دیگری نظیر خوشهبندی جمعی[۳۵] و اجتماع خوشهبندیها[۳۶] نیز شناخته میشود.
جهت نشان دادن حالت بسیار سادهای از خوشهبندی توافقی فرض کنید، مجموعه دادهای به شکل X={x1, x2, x3, x4, x5, x6} باشد. سه خوشهبندی π۱، π۲، π۳ نیز بر روی دادهها بدست آمده است. خوشهبندیهای π۱ و π۳هر کدام دارای سه خوشه میباشند و خوشهبندی π۲ نیز دارای ۴ خوشه است. شماره خوشهای که هر کدام از دادهها در آن قرار گرفتهاند به ازاء هر خوشهبندی در جدول ۱-۱ آمده است.
جدول ۱-۱ مثالی ساده از خوشهبندی توافقی
Π | π۳ | π۲ | π۱ | |
۱ | ۲ | ۱ | ۱ | x1 |
۲ | ۲ | ۲ |