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

طبق تعریف اکتشاف دانش (KD) عبارتست از پروسه ای جهت استخراج اطلاعات مهم و اساسی، ضمنی، قبلا ناشناخته و سودمند از داده های خام در پایگاه داده های بزرگ. هدف اصلی اکتشاف دانش یافتن دانش نهفته در داده ها با کمترین (یا عدم) دخالت انسانی است. مراحل یک پروسه اکتشاف دانش بصورت زیر است:
  • گردآوری دادهبه طور کلی دو روش برای جمع آوری دادهها وجود دارد. در حالت اول خود طراح مدل تولید داده را نیز کنترل میکند. این روش، آزمون طراحی شده نامیده میشود. دومین وضعیت هنگامی است که شخص خبره نمیتواند تأثیری در فرآیند تولید داده داشته باشد. این وضعیت با نام رویکرد مشاهدهای شناخته میشود.
  • پاک سازی داده ها (Data Cleaning): در این مرحله دادههای غیرمعتبر از مجموعه دادههای آموزشی خارج میشود. دادههای دارای خطا یا پرت و اطلاعات ناکامل، نمونههایی از دادههای زائد هستند که باید پاکسازی در مورد آنها انجام شود.  دو راه برای برخورد با دادههای زائد وجود دارد که یکی تشخیص و خذف دادههای زائد به عنوان بخشی از مرحلهی پیش پردازش است و دیگری ارائهی مدلی که مقاوم نسبت به این داده باشد.
  • تبدیل داده ها (Data Transformation): در این گام دادهها به قالبی قابل استفاده برای دادهکاوی در میآیند. اختلاف در بازه مقادیر ویژگیها باعث تأثیر منفی در کارایی مدل نهایی میشود. لذا در این مرحله سعی میشود تمامی ویژگیها در یک بازهی یکسان نرمالیزه شوند تا از تأثیر تفاوت بازهها جلوگیری به عمل آید.
  • برآورد مدل یا داده کاوی: بخش اصلی فرآیند دادهکاوی این بخش است که در آن با استفاده از روشها و تکنیکهای خاص، استخراج الگوهای دانش صورت میگیرد. به طور کلی روشها و الگوریتمهای مختلفی جهت یادگیری و تولید یک مدل بر اساس دادههای ورودی وجود دارد. به نوعی الگوریتمهای مزبور را میتوان یک روال جستجو نیز در نظر گرفت. این روال سعی میکند مدلی پیدا کند که به بهترین نحو دادههای ورودی را پوشش دهد. بایستی توجه نمود که الگوریتمهای دادهکاوی که در این مرحله اجرا میگردند، با توجه به ماهیت مسألهای که فرآیند دادهکاوی سعی در تحلیل دادههای آن را دارد، طراحی میگردند. به عبارت دیگر الگوریتم مزبور با توجه به انواع کاربردهای دادهکاوی  پیاده سازی میگردد.
  • ارزیابی الگوها (Pattern Evaluation): تشخیص الگوهای صحیح مورد نظر از سایر الگوها در این مرحله انجام میشود. صحت الگوها بر اساس یکسری از معیارهای سنجیده انجام میشود.
  • نمایش دانش (Knowledge Representation): در این بخش به منظور ارائهی دانش استخراج شده به کاربر، از یکسری ابزارهای بصریسازی استفاده میشود. برای استفاده از دانش و مدل استخراج شده، بایستی آن دانش قابل تفسیر باشد. این امر به خاطر آن است که انسان تمایل ندارد که اساس و پایهی تصمیمهای خود را بر مبنای مدلهای پیچیدهی جعبه سیاه قرار دهد. موضوع مهمی که اینجا وجود دارد آن است که اهداف دقت مدل و قابلیت درک آن معمولاً  با هم در تضاد هستند. اغلب مدلهای ساده، قابلیت تفسیر بهتری دارند اما دقت آنها پایینتر است. از طرف دیگر مدلهای دقیق معمولاً  ساختار پیچیدهای دارند.
شکل زیر مراحل پروسه ی اکتشاف دانش از داده ها را نشان می دهد.

انواع روشهای اکتشاف دانش از داده ها:
  • خوشه بندی (Clustering): در خوشهبندی، هدف یافتن مجموعه متناهی از دستهها یا خوشهها برای توصیف دادههاست.
     
  • طبقه بندی (Classification):هدف در دستهبندی دادهها این است که یک مدل پیشگویی کننده بدست آوریم که این مدل اولا توانایی دستهبندی دادههای ورودی را داشته باشد و ثانیاً بتوان از آن جهت پیشگویی برای تعیین دستهی یک داده که تازه به سیستم اضافه شده، استفاده نمود.
  • تخمین (Regression):هدف در رگرسیون ارائهی یک مدل پیشگویی کننده با توانایی نگاشت یک نمونهی دادهای به یک متغیر تخمینی است.
  • خلاصه سازی (Summarization):شامل روشهایی جهت یافتن توصیفی فشرده برای یک مجموعه داده میشود.
منبع: وبلاگ مصطفی سبزه کار