دانش‌نامه سایبری/1:

داده‌کاوی چیست؟

تاریخ انتشار : ۲۰ بهمن ۱۳۹۳

در يک تعريف غير رسمی داده کاوی فرآيندی است، خودکار برای استخراج الگوهايی که دانش را بازنمايی مي کنند، که اين دانش به صورت ضمنی در پايگاه داده‌های عظيم، انباره داده (Data warehouses) و ديگر مخازن بزرگ اطلاعات، ذخيره شده است.

گرداب- واحد آموزش و پژوهش: در دو دهه قبل توانايي‌های فنی بشر در برای توليد و جمع آوری دادهها به سرعت افزايش يافته است. عواملی نظير استفاده گسترده از بارکد برای توليدات تجاری، به خدمت گرفتن کامپيوتر در کسب و کار، علوم، خدمات دولتی و پيشرفت در وسائل جمع آوری داده، از اسکن کردن متون و تصاوير تا سيستمهای سنجش از دور ماهواره ای، در اين تغييرات نقش مهمی دارند.

به‌طور کلی استفاده همگانی از وب و اينترنت به عنوان يک سيستم اطلاع رسانی جهانی ما را مواجه با حجم زیادی از داده و اطلاعات می‌کند. اين رشد انفجاری در دادههای ذخيره شده، نياز مبرم وجود تکنولوژی های جديد و ابزارهای خودکاری را ايجاد کرده که به صورت هوشمند به انسان ياری رسانند تا اين حجم زياد داده را به اطلاعات و دانش تبديل کند: داده کاوی به عنوان يک راه حل برای اين مسائل مطرح است.

در يک تعريف غير رسمی داده کاوی فرآيندی است، خودکار برای استخراج الگوهايی که دانش را بازنمايی مي کنند، که اين دانش به صورت ضمنی در پايگاه داده های عظيم، انباره داده (Data warehouses) و ديگر مخازن بزرگ اطلاعات، ذخيره شده است.

داده کاوی بطور همزمان از چندين رشته علمی بهره مي برد نظير: تکنولوژی پايگاه داده، هوش مصنوعی، يادگيری ماشين، شبکه های عصبی، آمار، شناسايی الگو، سيستم های مبتنی بر دانش (Knowledge-based system)، حصول دانش (Knowledge-acquisition)، بازيابی اطلاعات (Information retrieval)، محاسبات سرعت بالا (High-performance computing) و بازنمايی بصری داده (Data visualization).

داده کاوی در اواخر دهه 1980 پديدار شد، در دهه 1990 گام‌های بلندی در اين شاخه از علم برداشته شده و انتظار می رود در اين قرن به رشد و پيشرفت خود ادامه دهد.

واژه های «داده کاوی» و «کشف دانش در پایگاه داده» (Knowledge Discovery in Database) اغلب به صورت مترادف یکدیگر مورد استفاده قرار می گیرند. کشف دانش به عنوان يک فرآيند در شکل 1-1 نشان داده شده است.

داده‌کاوی چیست؟
شکل1: داده کاوی به عنوان يک مرحله از فرآيند کشف دانش

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

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

داده‌ها اغلب حجیم، اما بدون ارزش هستند. داده به تنهایی قابل استفاده نیست، بلکه دانش نهفته در داده‌ها قابل استفاده است. به این دلیل اغلب به داده کاوی، تحلیل داده ای ثانویه (Secondary Data Analysis) گفته می‌شود.

1-1. چه چيزی سبب پيدايش داده کاوی شده است؟

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

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

در شکل 1-2 اين روند تکاملی در پايگاه های داده نشان داده شده است.

داده‌کاوی چیست؟
شکل2: سير تکاملی صنعت پايگاه داده

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

ابزارهای داده کاوی، داده‌ها را آناليز می‌کنند و الگوهای داده‌ای را کشف می‌کنند که می‌توان از آن در کاربردهايی نظير: تعيين استراتژی برای کسب و کار، پايگاه دانش (Knowledge base) و تحقيقات علمی و پزشکی، استفاده کرد. شکاف موجود بين داده‌ها و اطلاعات سبب ايجاد نياز برای ابزارهای داده کاوی شده است تا داده‌های بی ارزش را به دانشی ارزشمند تبديل کنيم.

به طور ساده داده کاوی به معنای استخراج يا «معدن کاری (Mining) دانش از مقدار زيادی داده خام است. البته اين نامگذاری برای اين فرآيند تا حدی نامناسب است، زيرا به طور مثال عمليات معدن کاری برای استخراج طلا از صخره و ماسه را طلا کاوی می ناميم، نه ماسه کاوی يا صخره کاوی. بنابراين بهتر بود به اين فرآيند نامی شبيه به «استخراج دانش از داده» می‌داديم که متاسفانه بسيار طولانی است.

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

با توجه به مطالب عنوان شده، با اينکه اين فرآيند تا حدی دارای نامگذاری ناقص است ولی اين نامگذاری (يعنی داده کاوی) بسيار عموميت پيدا کرده است. البته اسامی ديگری نيز برای اين فرآيند پيشنهاد شده که بعضا بسياری متفاوت با واژه داده کاوی است. نظير: استخراج دانش از پايگاه داده، استخراج دانش (Knowledge Extraction)، آناليز داده/الگو، باستان شناسی داده (Data archaeology)، و لايروبی داده‌ها (Data dredging).

1-2. مراحل کشف دانش

کشف دانش دارای مراحل تکراری زير است:

1) پاکسازی داده‌ها Data cleaning (از بين بردن نويز و ناسازگاری داده‌ها)؛

2- يکپارچه سازی داده‌ها Data integration (چندين منبع داده ترکيب می‌شوند).

3- انتخاب داده‌ها Data selection (داده های مرتبط با آناليزازپايگاه داده بازيابی می شوند).

4- تبديل کردن داده‌ها Data transformation (تبديل داده‌ها به فرمی که مناسب برای داده کاوی باشد مثل خلاصه‌سازی Summary و همسان‌سازی Aggregation)

5-داده کاوی (فرآيند اصلی که روال‌های هوشمند برای استخراج الگوها از داده‌ها به کار گرفته مي‌شوند)

6-ارزيابی الگو Pattern evaluation (برای مشخص کردن الگوهای صحيح و مورد نظربه وسيله معيارهای اندازه گيری)

7-ارائه دانش Knowledge presentation (يعنی نمايش بصری، تکنيک‌های بازنمايي دانش برای ارائه دانش کشف شده به کاربر استفاده می‌شود)

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

«داده کاوی عبارتست از فرآيند يافتن دانش از مقادير عظيم داده های ذخيره شده در پايگاه داده، انباره داده ويا ديگر مخازن اطلاعات».

بر اساس اين ديدگاه يک سيستم داده کاوی به طور نمونه دارای اجزاء اصلی زير است که شکل 1-3 بيانگر معماری سيستم است.

داده کاوی چیست؟ (قسمت اول)
شکل3: معماری يک نمونه سيستم داده کاوی

1. پايگاه داده، انباره داده يا ديگر مخازن اطلاعات: که از مجموعه ای از پايگاه داده ها، انباره داده، صفحه گسترده (Spread sheets)، يا ديگر انواع مخازن اطلاعات. پاکسازی داده‌ها و تکنيک‌های يکپارچه سازی روی اين داده‌ها انجام می‌شود.

2. سرويس دهنده پايگاه داده يا انباره داده: که مسئول بازيابی داده‌های مرتبط بر اساس نوع درخواست داده کاوی کاربر می‌باشد.

3. پايگاه دانش: اين پايگاه از دانش زمينه (Domain knowledge) تشکيل شده تا به جست‌وجو کمک کند، يا برای ارزيابی الگوهای يافته شده از آن استفاده می‌شود.

4. موتور داده کاوی (Data mining engine): اين موتور جزء اصلی از سيستم داده کاوی است و به طور ايده‌آل شامل مجموعه‌ای از پيمانه‌هايی (Module) نظير توصيف (Characterization)، تداعی (Association)، کلاسبندی (Classification)، آناليزخوشه‌ها (Cluster analysis)، و آناليز تکامل وانحراف (Evolution and deviation analysis) است.

5. پيمانه ارزيابی الگو (Pattern evaluation module): اين جزء معيارهای جذابيت (Interesting measures) را به کار می‌بندد و با پيمانه داده کاوی تعامل می‌کند. بدين‌صورت که تمرکز آن بر جست‌وجو بين الگوهای جذاب می‌باشد، و از يک حد آستانه جذابيت استفاده می‌کند تا الگوهای کشف شده را ارزيابی کند.

6. واسط کاربرگرافيکی (Graphical User Interface): اين پيمانه بين کاربر و سيستم داده کاوی ارتباط برقرار می‌کند، به کاربر اجازه می‌دهد تا با سيستم داده کاوی از طريق پرس‌وجو (Query) ارتباط برقرار کند، اين جزء به کاربر اجازه می‌دهد تا شمای پايگاه داده يا انباره داده را مرور کرده، الگوهای يافته شده را ارزيابی کرده و الگوها را در فرم‌های بصری گوناگون بازنمايی کند.

با انجام فرآيند داده کاوی، دانش، ارتباط يا اطلاعات سطح بالا از پايگاه داده استخراج می@شود و قابل مرور از ديدگاه‌های مختلف خواهد بود. دانش کشف شده در سيستم های تصميم يار، کنترل فرآيند، مديريت اطلاعات و پردازش پرس‌وجو (Query processing) قابل استفاده خواهد بود.

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

1-3. جایگاه داده کاوی در میان علوم مختلف

ریشه‌های داده کاوی در میان سه خانواده از علوم، قابل پیگیری است. مهم‌ترین این خانواده‌ها، آمار کلاسیک (Classic Statistics) می‌باشد. بدون آمار، هیچ داده کاوی وجود نخواهد داشت، بطوری‌که آمار، اساس اغلب تکنولوژی‌هایی است که داده کاوی بر روی آن‌ها بنا می‌شود. آمار کلاسیک مفاهیمی مانند تحلیل رگرسیون، توزیع استاندارد، انحراف استاندارد، واریانس، تحلیل خوشه، و فاصله‌های اطمینان را که همه این موارد برای مطالعه داده و ارتباط بین داده‌ها می‌باشد، را در بر می‌گیرد. مطمئنا تحلیل آماری کلاسیک نقش اساسی در تکنیک‌های داده کاوی ایفا می‌کند.

دومین خانواده‌ای که داده کاوی به آن تعلق دارد هوش مصنوعی (Artificial Intelligence) است. هوش مصنوعی که بر پایه روش‌های ابتکاری است و با آمار ضدیت دارد، تلاش دارد تا فرایندی مانند فکر انسان، را برای حل مسائل آماری به‌کار بندد. چون این رویکرد نیاز به توان محاسباتی بالایی دارد، تا اوایل دهه 1980 عملی نشد. هوش مصنوعی کاربردهای کمی را در حوزه‌های علمی و حکومتی پیدا کرد، اما نیاز به استفاده از کامپیوترهای بزرگ باعث شد همه افراد نتوانند از تکنیک‌های ارائه شده استفاده کنند.

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

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

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

کاربردهای معمول تجاری: از قبیل تحلیل و مدیریت بازار، تحلیل سبد بازار، بازاریابی هدف، فهم رفتار مشتری، تحلیل و مدیریت ریسک؛

مدیریت و کشف فریب: کشف فریب تلفنی، کشف فریب‌های بیمه‌ای و اتومبیل، کشف حقه‌های کارت اعتباری، کشف تراکنش‌های مشکوک مالی (پولشویی)؛

متن کاوی (Text Mining): پالایش متن (نامه‌های الکترونیکی، گروه‌های خبری و غیره)؛

پزشکی: کشف ارتباط علامت و بیماری، تحلیل آرایه‌های DNA، تصاویر پزشکی؛

ورزش: آمارهای ورزشی؛

وب کاوی (Web Mining): پیشنهاد صفحات مرتبط، بهبود ماشین‌های جست‌وجوگر یا شخصی‌سازی حرکت در وب سایت؛

1-4. داده کاوی چه کارهایی نمی‌تواند انجام دهد؟

داده کاوی فقط یک ابزار است و نه یک عصای جادویی. داده کاوی به این معنی نیست که شما راحت به کناری بنشینید و ابزارهای داده کاوی همه کار را انجام دهد.

داده کاوی نیاز به شناخت داده‌ها و ابزارهای تحلیل و افراد خبره در این زمینه ها را از بین نمی‌برد.

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

1-5. داده کاوی و انبار داده‌ها (Data warehouse)

معمولا داده‌هایی که در داده کاوی مورد استفاده قرار می‌گیرند از یک انبار داده استخراج می‌شوند و در یک پایگاه داده (Database) یا مرکز داده‌ای (Data mart) ویژه برای داده کاوی قرار می‌گیرند.

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

پایگاه داده مربوط به داده کاوی می‌تواند جزئی از سیستم انبار داده‌ها باشد و یا می‌تواند یک پایگاه داده جدا باشد.

داده کاوی چیست؟ (قسمت اول)
شکل 4: داده‌ها از انباره داه‌ها استخراج می‌شوند

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

داده کاوی چیست؟ (قسمت اول)
شکل5: داده‌ها از چند پایگاه داده استخراج شده‌اند

نویسندگان: مصطفی کیخا، علی عباسی