تاریخچه داده کاوی:
اخیراً دادهکاوی موضوع بسیاری از مقالات، کنفرانسها و رسالههای علمی شده است، اما این واژه تا اوایل دهه 60 مفهومی نداشت و به کار برده نمیشد. در دهه 60 و پیش از آن زمینههایی برای ایجاد سیستمهای جمع آوری و مدیریت دادهها ایجاد شد و تحقیقاتی در این زمینه انجام پذیرفت که منجر به معرفی و ایجاد سیستمهای مدیریت پایگاه دادهها گردید. ایجاد و توسعه مدل های دادهای برای پایگاه سلسلهمراتبی، شبکهای و به خصوص رابطهای در دهه 70، منجر به معرفی مفاهیمی همچون شاخص گذاری و سازماندهی دادهها و در نهایت ایجاد زبان پرسش SQL در اوایل دهه 80 گردید تا کاربران بتوانند گزارشات و فرمهای اطلاعاتی مورد نظر خود را، از این طریق ایجاد نمایند. توسعه سیستمهای پایگاهی پیشرفته در دهه 80 و ایجاد پایگاههای شیء گرا، کاربرد گرا و فعال باعث توسعه همه جانبه و کاربردی شدن این سیستمها در سراسر جهان گردید.
تعاریف داده کاوی:
دادهکاوی تعاریف مختلفی دارد که در زیر بیان شده است:
1) دادهکاوی مرحلهای از فرآیند کشف دانش است که با کمک الگوریتمهای خاص داده کاوی و با کارایی قابل قبول محاسباتی، الگوها یا مدلها را در دادهها پیدا میکند.
2) دادهکاوی، آمار در مقیاس و سرعت است.
فرآیند کشف دانش/ داده کاوی:
بر اساس دیدگاهی که دادهکاوی را بخشی از فرآیند کشف دانش میدانند، کشف دانش شامل مراحل متعددی مطابق با شکل زیر است. همچنین جزئیات مربوط به فرآیند KDD در زیر آورده شده است:
1) درک کامل حوزه کاربرد:
شامل درک دانش پیشین مرتبط، اهداف کاربر نهایی و غیره میباشد.
2) ایجاد مجموعه داده های هدف:
انتخاب مجموعه دادهها یا تمرکز روی زیرمجموعهای از متغییرها یا نمونههای داده که قرار است روی آنها اکتشاف انجام شود، ایجاد مجموعه دادههای هدف نامیده میشود.
3) پیش پردازش یا پاکسازی داده:
عملیات مقدماتی مثل حذف اغتشاش یا نقاط پرت، جمع کردن اطلاعات لازم برای مدل کردن یا مقابله با اغتشاش، تصمیم گیری در مورد چگونگی رفتار با دادههای مفقوده، در نظر گرفتن توالی زمانی و تغییرات شناخته شده در اطلاعات، پاکسازی دادهها نامیده میشود.
4) کاهش دادهها و تصویر کردن آنها:
یافتن مشخصههای مفید برای داده بسته به هدف وظیفه و استفاده از روشهای کاهش بُعد یا تبدیل برای کاهش تعداد موثر متغییرهای مورد نظر یا پیدا کردن نمود مناسب و معادل دادهها، کاهش دادهها نامیده میشود.
5) انتخاب عملیات دادهکاوی:
تصمیم گیری در مورد هدف فرآیند KDD که میتواند دسته بندی، رگرسیون، خوشه بندی یا غیره باشد.
6) انتخاب روشهای دادهکاوی:
این گام شامل انتخاب روشهای جستجوی الگوها در دادهها بوده و شامل انتخاب مدلها و پارامترهای مناسب تطابق یک روش دادهکاوی خاص با معیارهای کلی فرآیند KDD است.
7) دادهکاوی برای استخراج الگوها/مدلها:
در این گام به جستجوی الگوهای مورد نظر به یک یا چند شکل خاص (قواعد یا درختان دسته بندی، رگرسیون، خوشهبندی و مانند آن) پرداخته می شود.
8) تفسیر و ارزیابی الگوها/مدلها:
لازم است الگوها و مدلهای مختلف به منظور استفاده بعدی مورد ارزیابی و تفسیر قرار گیرند.
9) پایش یا تثبیت دانش کشف شده:
ترکیب این دانش با سیستم اجرایی یا حداقل مستند سازی و گزارش آن به گروههای علاقه مند، تثبیت دانش یا پایش نامیده می شود. این کار شامل بررسی و حل تضادهای بالقوه این دانش با دانشهای مورد قبول (یا کشف شده) پیشین میباشد. ممکن است میان هر قدم و قدم قبلی آن عملاً نوعی تکرار رخ دهد.
انواع دادههای مورد استفاده در دادهکاوی:
یک مجموعه داده از اشیاء داده تشکیل شده است. نام های دیگر شیء داده عبارتند از: رکورد، نقطه، بردار، الگو، واقعه، مورد، نمونه، مشاهده و یا موجودیت. هر شیء داده نیز با تعدادی ویژگی توصیف میشود که خصوصیات اصلی آن شیء را بیان میکنند. نامهای دیگر ویژگی عبارتند از متغییر، خصیصه، فیلد، مشخصه و یا بُعد.
ویژگی های کمی و کیفی:
یک ویژگی خاصیتی از یک شیء داده میباشد که ممکن است از شیئی یه شیئی دیگر یا از زمانی به زمان دیگر متفاوت باشد. یک راه ساده و مفید برای تعیین نوع ویژگی، تشخیص خواص اعداد متناظر با آن ویژگی است. معمولاً خواص زیر برای توصیف ویژگیها استفاده میشود.
1) تمایز = و #
2) ترتیب >، <، =>، =<
3) جمع پذیری + و –
4) ضرب * و /
با توجه به این خواص می توان 4 نوع ویژگی تعریف کرد: اسمی، رتبهای یا ترتیبی، فاصلهای یا بازهای و نسبتی یا نسبی.
ویژگی های گسسته و پیوسته:
راه دیگر تفکیک ویژگیها، بر حسب تعداد مقادیری است که میتوانند بگیرند.
1) گسسته: ویژگی گسسته، مجموعه مقادیر محدود و یا نامحدود قابل شمارش دارد. ویژگیهای گسسته معمولاً با متغییرهای صحیح نمایش داده میشوند. ویژگیهایی دودویی حالت خاصی از ویژگیهای گسستهاند که فقط دو مقدار مانند 0 و 1 دارند. ویژگیهای دودویی اغلب به شکل بولی یا متغییرهای دارای دو مقدار 0 و 1 بیان میشوند.
2) پیوسته: ویژگی پیوسته دارای مقادیری از نوع اعداد حقیقی است. ویژگیهای پیوسته نوعاً با متغییرهای اعشاری با دقت محدود بیان میشوند.به طور نظری، هر کدام از انواع مقیاسهای اندازه گیری (اسمی، رتبه ای، فاصله ای و نسبی) میتوانند با هر یک از انواع مقادیر عددی (دودویی، گسسته و پیوسته) ترکیب شوند.
کاربرد های داده کاوی (KDD):
1) اطلاعات کسب و کار
2) تحلیل داده های بازاریابی و فروش
3) تحلیل سرمایه گذاری
4) تایید وام
5) تشخیص تقلب
6) اطلاعات ساخت و تولید
7) کنترل و زمانبندی
8) مدیریت شبکه
9) تحلیل نتایج آزمایشات فنی
10) اطلاعات علمی
11) فهرست برداری تحقیقات مربوط به آسمان
12) پایگاه داده های پزشکی
13) زلزله یابی در زمین شناسی
14) اطلاعات شخصی
چالش های داده کاوی:
1) پایگاه داده بزرگتر:پایگاه داده با صدها فیلد و جدول، میلیونها رکورد و اندازههای چند میلیارد بایتی کاملاً متداول هستند و استفاده از پایگاه داده ترابایتی معمول میشود.
2) بُعد زیاد:نه تنها اغلب تعداد زیادی رکورد در پایگاه داده وجود دارد بلکه تعداد زیادی فیلد (ویژگی، متغییر) ممکن است موجود باشند، بنابراین مسئله دارای ابعاد زیادی است. یک مجموعه داده با بُعد بالا مشکلزا است زیرا فضای جستجو نیاز به تلاش برای استقراء مدل را به طور فزایندهای بزرگ میکند. به علاوه این مشکل، یافتن شانسیِ الگوهای بدلی و جعلی را افزایش میدهد. چاره این مشکل استفاده از روشهای کاهش بُعد موثر و استفاده از دانش پیشین برای تشخیص متغییرهای نامربوط است.
3) پیش پردازش:وقتی الگوریتم به دنبال بهترین پارامترهای یک مدل خاص با استفاده از مجموعه محدودی داده میگردد، ممکن است دادهها را پیش پردازش کند که منجر به عملکرد ضعیف روی دادههای آزمون شود.
4) تشخیص معنادار بودن آماری: وقتی سیستم در جستجوی مدلهای متعددی است این مشکل (که مرتبط به پیش پردازش است) رخ میدهد. یک راه غلبه بر این مشکل استفاده از روشهایی است که آمار آزمون را به عنوان تابعی از جستجو تنظیم میکنند.
5) داده ها و دانش در حال تغییر: دادههای سریعاً در حال تغییر و بی ثبات ممکن است الگوهای کشف شده قبلی را بی اعتبار کنند. به علاوه متغییرهای اندازهگیری شده در یک پایگاه داده ممکن است با اندازهگیریهای جدید در طول زمان، اصلاح شده حذف و یا افزایش یابند. راه حلهای ممکن عبارتند از: روشهای تدریجی برای به هنگام کردن الگوها و برخورد با تغییر به عنوان یک فرصت کشف (با به کار بردن آن به عنوان راهنمایی برای جستجوی خود الگوهای متغییر).
6) داده مفقوده و مغشوش: این مشکل به خصوص در پایگاه دادههای تجاری حاد است. اگر در پایگاه داده از ابتدا با هدف کشف دانش طراحی نشده باشد ممکن است فاقد برخی از ویژگیهای مهم باشد. راه حل ممکن به کار بردن استراژدیهای آماری پیچیدهتر برای تشخیص متغییرها و وابستگی های مخفی است.
7) روابط پیچیده بین فیلد ها: ویژگیها یا مقادیر با ساختار سلسه مراتبی، روابط میان ویژگی ها و نیز انواع روشهای پیچیده نمایش دانش، نیاز به الگوریتم هایی دارند که بتوانند به طور موثر از این اطلاعات استفاده کند. الگوریتمهای داده کاوی به طور تاریخی برای رکوردهای (ویژگی – مقدار) ساده توسعه یافتهاند. البته روش های جدیدی برای عمل روی رابطه بین متغییرها در حال توسعهاند.
8) قابل درک بودن الگوها: در بسیاری از کاربردهای داده کاوی، اینکه کشفیات برای انسان قابل فهمتر شوند، بسیار مهم است. راههای ممکن عبارتند از: نمایش گرافیکی، ساختاربندی قواعد با گراف های جهتدار غیردوری، به کارگیری زبان طبیعی و فنون مصورسازی داده و دانش.
9) تعامل با کاربر و دانش پیشین: بسیاری از روشها و ابزارهای فعلی KDD واقعاً تعاملی نیستند و نمیتوانند به آسانی دانش پیشین درباره یک مسئله (به جز در موارد ساده) در نظر بگیرند. استفاده از دانش حوزه مورد مطالعه در همه مراحل فرآیند KDD مهم است.
10) تلفیق با سیستم های دیگر: یک سیستم اکتشاف دانش ممکن است به تنهایی مفید نبوده و بهتر باشد با سایر سیستمها تلفیق یا یکپارچه شود. نمونههای تلفیق عبارتند از: تلفیق با DBMS (از طریق رابط پرسوجو)، تلفیق با صفحه گستردهها و ابزار های مصورسازی و همچنین میتوان حسگرهایی را برای قرائت بلادرنگ دادهها با این سیستمها تلفیق نمود.
یادگیری ماشین:
برای یادگیری ماشین تعریف سادهای را می توان بیان کرد به این صورت که: به هر برنامهی کامپیوتری که بتواند کارائی خود را در انجام بعضی وظایف یا کسب تجربه بهبود ببخشد، یادگیری ماشین گویند.
یادگیری با نظارت:
یادگیری با نظارت یک روش عمومی در یادگیری ماشین است که در آن به یک سیستم، مجموعهای از جفتهای ورودی - خروجی ارائه شده و سیستم تلاش می کند تا تابعی از ورودی به خروجی را فرا گیرد. یادگیری تحت نظارت نیازمند تعدادی داده ورودی به منظور آموزش است. با این حال ردهای از مسائل وجود دارند که خروجی مناسب که یک سیستم یادگیری تحت نظارت نیازمند آن است، برای آنها موجود نیست. این نوع از مسائل چندان قابل جوابگویی با استفاده از یادگیری تحت نظارت نیستند. یادگیری تقویتی مدلی برای مسائلی از این قبیل فراهم میآورد.
یادگیری بدون نظارت:
این نوع یادگیری زمانی رخ می دهد که ماشین با استفاده از دادههایی، آموزش میبیند که هیچ گونه برچسب گذاری روی آن انجام نشده باشد. در این روش هرگز به الگوریتمها گفته نمیشود که دادهها نمایانگر چه هستند. بنابراین در این نوع یادگیری نیازی به حضور ناظر یا خبره نیست.
نکته کلیدی در مورد یادگیری نظارت نشده آن است که پس از پردازش اطلاعات بدون برچسب، تنها کافی است که یک نمونه از دادههای برچسب گذاری شده در اختیار الگوریتم یادگیری قرار داده شده است تا کارائی کامل پیدا کند.
مفاهیم دسته بندی:
بسیاری از روش های دسته بندی در علومی مانند: یادگیری ماشین، بازشناسی الگو و آمار کاربرد دارند. دستهبندی برای تخصیص یک برچسب به مجموعهای از دادهها که هنوز دسته بندی نشدهاند، استفاده میشود. پس از آن دادهها براساس ویژگی هایشان به دسته هایی که نام آنها از قبل مشخص میباشد، تخصیص داده میشوند. دسته بندی برای یادگیری قواعد و یا ساختن مدلی به منظور پیش بینی دستهی دادههای جدید به کار می رود. دادههای مورد استفاده برای ساختن مدل، دادههای آموزش یا دادههای ترتیب مدل نامیده میشوند.
روش های مختلف دسته بندی:
روشهای زیادی برای دسته بندی وجود دارد که از آن جمله میتوان به موارد ذیل اشاره کرد:
1) بیز ساده و شبکه های بیزین
2) نزدیکترین همسایگی
3) شبکههای عصبی
4) درخت تصمیم
5) رگرسیون (خطی، غیرخطی)
روش دسته بندی درخت تصمیم:
ساختار درخت تصمیم در یادگیری ماشین، یک مدل پیشبینی کننده میباشد که حقایق مشاهده شده در مورد یک پدیده را به استنتاجهایی در مورد مقدار هدف آن مقدار پدیده نقش میکند. تکنیک یادگیری ماشین برای استنتاج یک درخت تصمیم از دادهها، یادگیری درختتصمیم نامیده میشود که یکی از رایجترین روشهای دادهکاوی است. هر گرهی داخلی متناظر یک متغییر و هر کمان به یک فرزند، نمایانگر یک مقدار ممکن برای آن متغییر است. یک گرهی بزرگ، با داشتن مقادیر متغییرها که با مسیری از ریشهی درخت تا آن گرهی بزرگ بازنمایی میشود، مقدار پیشبینی شدهی متغییر هدف را نشان میدهد. یک درخت تصمیم ساختاری را نشان میدهد که برگها نشان دهندهی دستهبندی و شاخهها ترکیبات فصلی صفاتی که منتج به این دستهها را بازنمایی میکنند. یادگیری یک درخت تصمیم میتواند با تفکیک کردن یک مجموعهی منبع به زیرمجموعههایی براساس یک تست مقدار صفت انجام شود. این فرآیند به شکل بازگشتی در هر زیرمجموعهی حاصل از تفکیک تکرار میشود. عمل بازگشت زمانی کامل میشود که تفکیک بیشتر سودمند نباشد یا بتوان یک دستهبندی را به همهی نمونههای موجود در زیرمجموعهی به دست آمده اعمال کرد.
درختان تصمیم قادر به تولید توصیفات قابل درک برای انسان، از روابط موجود در یک مجموعه دادهای هستند و میتوانند برای وظایف دستهبندی و پیش بینی به کار روند. این تکنیک به شکل گستردهای در زمینههای مختلفی همچون تشخیص بیماری، دستهبندی گیاهان و استراژدیهای بازاریابی مشتری به کار رفته است. این ساختار تصمیم گیری میتواند به شکل تکنیکهای ریاضی و محاسباتی که به توصیف، دستهبندی و عام سازی یک مجموعه داده کمک میکنند، نیز معرفی شوند. انواع صفات در درخت تصمیم به دو نوع صفات دستهای و صفات حقیقی بوده که صفات دستهای، صفاتی هستند که دو یا چند مقدار گسسته میپذیرند (یا صفات سمبلیک) در حالی که صفات حقیقی مقادیر خود را از مجموعهی اعداد حقیقی میگیرند.
انواع روش های هرس کردن:
انواع روشهای هرس کردن عبارتند از:
1) روش هرس از قبل: روشهایی که در آنها، رشد درخت قبل از اینکه به نقطهای برسد که کاملاً مثالهای آموزشی را دستهبندی کند متوقف میشوند. (مشکل این روشها در تعیین زمان توقف رشد درخت است.)
2) روش هرس بعدی: روش هایی که اجازه میدهند درخت کاملاً ساخته شود و دادهها را Over Fit کند، سپس آن را هرس میکنند. (این روشها در عمل موفقتر هستند.)
روش نزدیکترین همسایگی:
الگوریتم نزدیکترین همسایگی از سه گام زیر تشکیل شده است:
1) محاسبه فاصله نمونه ورودی با تمام نمونههای آموزشی
2) مرتب کردن نمونههای آموزشی براساس فاصله و انتخاب K همسایه نزدیکتر
3) استفاده از دستهای که اکثریت را در همسایه های نزدیک به عنوان تخمینی برای دستهی نمونه ورودی دارد.
گام اول در روش نزدیکترین همسایگی این است که باید فاصله نمونه ورودی با تمام نمونههای آموزشی محاسبه شود. گام دوم الگوریتم باید K همسایه نزدیکتر را انتخاب کند. نهایتاً در گام سوم، الگوریتم باید دستهای را که حائز اکثریت در بین همسایههاست به عنوان دستهی نمونهی جدید در نظر بگیرد. اگرچه روش نزدیکترین همسایگی، روش ساده و موثری است ولی سرعت کمی دارد.
شبکه های بیزین:
شبکههای بیزین وابستگیهای شرطی بین متغییرها (ویژگیها) را شرح میدهد. با استفاده از این شبکهها دانش قبلی در زمینه وابستگی بین متغییرها با دادههای آموزش مدل و دسته بندی، ترکیب میشوند. در اینجا یک کلاس از طبقهبندی شبکه بیزین را شرح خواهیم داد.
الگوریتم بیز ساده:
یک شبکه بیزین، بیز ساده ساختار سادهای است که در آن نود کلاس به عنوان والد بقیه نود هاست. در ساختار بیز ساده هیچ ارتباط دیگری مجاز نیست و فرض میشود که همه ویژگیها مستقل از یکدیگر هستند. بیز ساده در دستهبندیهایی که مجموعه داده وسیعی ندارند، استفاده نمیشود. این دسته بندی در سال 1702-1761 توسط توماس بیز، به نام قضیه بیز پیشنهاد و نامگذاری شد. در سالهای اخیر تلاش زیادی برای بهبود دستهبندی بیز ساده در زمینههای زیر صورت گرفته است: انتخاب زیرمجموعهای از ویژگیها و تخفیف یافتن استقلال فرض شده. کارائی دستهبندی بیز ساده حتی اگر استقلال فرض شده بین ویژگیها در بیشتر مجموعههای داده غیر واقعی باشد، خوب است. استقلال بین ویژگیها هر ارتباطی را بین آنها نادیده میگیرد. توسعه ساختار بیز ساده برای نمایش صریح وابستگی متغییرها روشی برای غلبه بر محدودیتهای بیز ساده است.
نرم افزار های داده کاوی:
تا به امروز نرمافزارهای تجاری و آموزشی فراوانی برای دادهکاوی در حوزههای مختلف دادهها به دنیای علم و فناوری عرضه شدهاند. هر یک از آنها با توجه به نوع اصلی دادههایی که مورد کاوش قرار میدهند، روی الگوریتمهای خاصی متمرکز شدهاند. مقایسه دقیق و علمی این ابزارها باید جنبههای متفاوت و متعددی مانند تنوع و فرمت دادههای ورودی، حجم ممکن برای پردازش دادهها، الگوریتمهای پیادهسازی شده، روشهای ارزیابی نتایج، روش های مصور سازی، روشهای پیش پردازش دادهها، واسطهای کاربر پسند، پلتفرمهای سازگار برای اجرا، قیمت و در دسترس بودن نرم افزار صورت میگیرد.
نرم افزار رپیدماینر:
این نرمافزار یک ابزار دادهکاوی متن باز است که با زبان جاوا نوشته شده است و از سال 2001 تا به حال، توسعه داده شده است. در این نرم افزار سعی تیم توسعه دهنده، بر آن بوده است که تا حد امکان تمامی الگوریتمهای رایج دادهکاوی و همچنین یادگیری ماشین پوشش داده شوند. به گونهای که حتی این امکان برای نرمافزار فراهم شده است تا بتوان سایر ابزارهای متن باز دادهکاوی را نیز به آن الحاق نمود. رابط گرافیکی شکیل و کاربر پسند نرمافزار نیز آن را یک سر و گردن بالاتر از سایر ابزارهای رقیب قرار میدهد. از نقاط قوت نرمافزار میتوان به موارد زیر اشاره کرد.
1) ارائه گزارش و رونوشت از مراحل اجرای الگوریتم
2) ظاهر پرداخته و آراسته
3) نمای گرافیکی خوب
4) قابلیت تطابق با فایل های خروجی بسیاری از نرم افزارها مانند: اکسل
5) امکان تصحیح و خطایابی بسیار صریح
و در آخر:
در این قسمت توضیحاتی آموزنده در مورد دادهکاوی و نرمافزار رپیدماینر گذاشته شد. در آینده مطالب بیشتری را در اختیار شما قرار خواهیم داد، با آرزوی بهترینها برای شما خواننده محترم.
منابع:
بیرانوند، صبا، (1393)، بررسی روشهای مبتنی بر یادگیری ماشین در تخمین هزینه نرمافزار، گزارش سمینار کارشناسی ارشد، دانشکده مهندسی برق و کامپیوتر، یزد، تیر.
هژبر، ابراهیم، (1393)، دادهکاوی – مفاهیم و کاربرد، پروژه کارشناسی نرمافزار، دانشگاه آزاد اسلامی، ورزقان.
غضنفری، محمد، علیزاده، سمیه، تیمور پور، بابک، (1387)، دادهکاوی و کشف دانش، دانشگاه علم و صنعت ایران، تهران.
عزیزی، لعبت، (1385)، یادگیری درختهای تصمیم، گزارش پژوهش در مورد یادگیری ماشین، امیر کبیر، تهران، خرداد.
دیدگاه خود را بنویسید