داده کاوی فرایند یافتن الگوهای مفید یا همبستگی بین داده ها است. این الگوها و ارتباط بین داده ها می تواند اطلاعاتی در مورد یک مشکل خاص در حال مطالعه را فراهم آورد. بنابراین از این اطلاعات برای بهبود دانش مورد نیاز برای حل مشکل می توان استفاده نمود. تکنیک های داده کاوی به طور گسترده در بخش های مختلف اقتصاد کاربرد دارد. در ابتدا این تکنیک ها توسط شرکت های بزرگ برای تجزیه و تحلیل داده های مصرف کننده از دیدگاه های مختلف مورد استفاده قرار گرفت. سپس داده ها مورد بررسی قرار گرفت و اطلاعات مفید با هدف افزایش سودآوری استخراج شد. ایده استفاده از اطلاعات پنهان در روابط میان داده ها توسط محققین رشته های کشاورزی برای پیش بینی روند آینده فرآیندهای کشاورزی مورد استفاده قرار گرفت. به عنوان مثال داده های جمع آوری شده در طول تخمیر یک محصول را می توان برای پیش بینی نتیجه تخمیر در حالی که هنوز در روزهای اولیه روند قرار دارد، مورد استفاده قرار داد. مثال دیگر پارامترهای آب خاک برای نوع خاصی از خاک را می توان برای تخمین رفتار انواع مشابه همان خاک مورد استفاده قرار داد. اصول استفاده شده برای برخی از تکنیک های داده کاوی جدید نیستند. تکنیک های داده کاوی در علوم کشاورزی و زیست محیطی کاربرد بسیاری دارند (پیش بینی تغییرات اقلیمی، طبقه بندی خاک و ...). نرم افزار MATLAB محیط مناسبی برای انجام تکنیک های داده کاوی می باشد.
چرا داده کاوی؟
مقدار زیادی از اطلاعات در دسترس از منابع مختلف برای بسیاری از فعالیت های انسانی در مناطق مختلف وجود دارد که می تواند برای بهبود فرایندهای مختلف به کمک تکنیک های داده کاوی مورد استفاده واقع شود. به طور مثال ژنوم مواد غذایی مانند گوجه فرنگی با هدف بهبود ژنتیکی ویژگی های آن مورد مطالعه قرار گرفته است. بنابراین باید تجزیه و تحلیل پیچیده ای برای کشف اطلاعات ارزشمند پنهان در این حجم عظیم داده ها انجام شود. به طور کلی مجموعه های زیادی از داده از منابع مختلف در همه علوم در دسترس دانشمندان و محققین قرار دارد.
سنسورهای مختلف برای ثبت تصویر و صدا در بخش های مختلف صنایع و کشاورزی برای پایش یا برای انجام وظایف متفاوتی مورد استفاده قرار می گیرد. به منظور استخراج اطلاعات مفید، این داده ها باید مورد تجزیه و تحلیل قرار بگیرند. به طور مثال مجموعه ای از تصاویر ثبت شده از سیب را برای انتخاب سیب خوب با هدف بازاریابی می توان مورد استفاده قرار داد. یا مجموعه ای از صداهای ضبط شده از حیوانات می تواند وجود بیماری یا شرایط بد محیط زیست را نشان دهد. تکنیک های محاسباتی را برای انجام این وظایف و جایگذینی با توانایی انسانی می توان طراحی کرد.
در واقع این تکنیک ها قابلیت اجرای یک روش کارآمد و حتی در یک محیط مضر برای انسان را دارند. بنابراین تکنیک های داده کاوی برای افزایش توانایی ما در حل یک مشکل خاص قابل توسعه می باشند. از آنجا که این تکنیک ها به طور ویژه برای انجام وظایف خاصی توسعه می یابند امید است که قادر به انجام کار بهتر از انسان باشند.
به طور مثال یک مزرعه دار باتجربه به راحتی از روی صدای حیوانات قادر به تشخیص بیماری در آن ها می باشد اما همین موضوع برای افراد دیگر مشکل بزرگی می باشد. مثال دیگر یک کارشناس باتجربه، هنگام عبور سیب ها از نوار نقاله قادر به جدا کردن سیب بد از سیب خوب می باشد ولی درصد حذف سیب های بد بستگی به سرعت عبور سیب ها از نوار نقاله و هم چنین مقدار توجه فرد دارد.
به اثبات رسیده است که برای انسان مشکل است که در طولانی مدت بر روی یک موضوع خاص متمرکز شود. بر خلاف انسان سیستم های کامپیوتری برای اجرای تکنیک های محاسباتی با مشکلی مواجه نمی شود. بنابراین محققان برای توسعه تکنیک های کامپیوتری برای حل این مسائل تلاش می کنند.
داده کاوی برای حل مشکلات فوق طراحی شده است. تکنیک های مورد استفاده در داده کاوی را می توان در دو گروه بزرگ تقسیم بندی نمود:
گروه اول : شامل تکنیک هایی که ارائه شده به وسیله مجموعه ای از دستورالعمل ها یا زیر وظایف برای انجام یک وظیفه خاص توسعه یافته اند.
گروه دوم : شامل تکنیک هایی است که دستور العمل خاصی را برای انجام یک وظیفه خاص ارائه نمی دهد اما دستورالعمل هایی برای یادگیری روش هایی برای انجام یک وظیفه خاص را ارائه می دهد.
به طور مثال روش نزدیکترین همسایه مجموعه ای از دستورالعمل ها را برای طبقه بندی ارائه می دهد بنابراین جز گروه اول قرار می گیرد. اما شبکه های عصبی مصنوعی و ماشین بردار پشتیبانی به دنبال یافتن روشی خاص برای یادگیری چگونگی طبقه بندی داده ها می باشد بنابراین به گروه دوم تعلق دارد.
داده کاوی فرایند تجزیه و تحلیل داده ها از دیدگاه های مختلف و خلاصه آن به اطلاعات مفید است.
تکنیک های داده کاوی
اساس موفقیت تکنیک های داده کاوی به توانایی گروهبندی داده های در دسترس در دسته های مجزا می باشد به گونه ای که داده های هر گروه بیشترین شباهت را از نظر خصوصیات با یکدیگر داشته باشند. میزان شباهت بین نمونه های مختلف بر اساس تابع فاصله اندازه گیری شده و نمونه های مشابه در یک کلاس یا خوشه قرار می گیرند. بنابراین موفقیت تکنیک های داده کاوی بستگی به فاصله مناسب بین داده ها دارد.
هم چنین مدل های تجزیه مولفه های اصلی (PCA)، رگرسیون و درون یابی از تکنیک های مورد استفاده در داده کاوی می باشد.
طبقه بندی تکنیک های داده کاوی
تکنیک های داده کاوی به صورت سلسه مراتبی و پلرتیشن بندی تقسیم شده است. رویکرد خوشه بندی سلسه مراتبی ایجاد خوشه های درختی می باشد. ریشه این درخت می تواند یک خوشه حاوی کلیه داده ها باشد. پس به صورت شاخه به شاخه، خوشه اولیه به زیر خوشه ها تقسیم می شود. تا زمانی که تعداد مورد نظر از خوشه بدست آید. بنابراین در اینجا تکنیک سلسه مراتبی به تفرقه و جداسازی اشاره دارد. علاوه بر این ریشه درخت می تواند شامل یک مجموعه از خوشه ها باشد که هر خوشه فقط دارای یک نمونه باشد. بنابراین شاخه به شاخه خوششه ها برای تشکیل خوشه بزرگتر با هم ادغام می شوند تا زمانی که تعداد مورد نظر از خوشه بدست آید. در این مورد تکنیک سلسه مراتبی به تراکم اشاره دارد.
روش K-means :
مقدار K اشاره به تعداد خوشه دارد که در آن داده ها تفکیک شده اند. خوشه ها به وسیله مراکزشان نشان داده شده اند. بر اساس این ایده، هر نمونه باید به مرکز خوشه خود نزدیکتر باشد. اگر این مورد تایید نشود هر پارتیشن اصلاح می شود تا اینکه هر نمونه به خوشه ای که به مرکز آن نزدیک تر است تعلق گیرد. تابع فاصله در بین خوشه ها نقش مهمی دارد زیرا بر اساس ارزش های ارائه شده توسط این تابع نمونه می تواند از یک خوشه به خوشه دیگر برود.
روش biclustering :
این روش پارتیشن بندی داده ها در دو بعد را انجام میدهد. پارتیشن ها بر اساس مجموعه ای از نمونه ها و مجموعه ای از ویژگی های مورد استفاده برای نمایندگی آن ها ارائه می شوند. این روش می تواند برای خوشه بندی و طبقه بندی استفاده شود.
از روش های طبقه بندی داده ها می توان به نزدیکترین همسایه، شبکه های عصبی مصنوعی و ماشین بردار پشتیبانی اشاره کرد.
روش k-nearest neighbor :
یک مجموعه آموزش حاوی داده های شناخته شده مورد نیاز است. تمام نمونه هایی که در مجموعه آموزش وجود نداشته باشند، نمونه ناشناخته می باشند زیرا طبقه بندی آن ها شناخته شده نیست. هدف طبقه بندی داده های ناشناخته با استفاده از اطلاعات توسط نمونه ها در مجموعه آموزش است. هر نمونه ناشناخته باید در یک طبقه که نزدیک به همسایگان خود در مجموعه آموزش است قرار داده شود. بنابراین هر نمونه ناشناخته می تواند بر اساس طبقه بندی همسایگان خود طبقه بندی شود. k تعداد در نظر گرفته شده از نزدیکترین نمونه های شناخته شده را نشان می دهد.
روش شبکه های عصبی مصنوعی :
این روش سعی می کند به تقلید از مغز انسان عمل کند. این روش سعی بر آموزش طبقه بندی داده ها بر اساس مجموعه آموزش دارد. یک شبکه عصبی مجموعه ای از نرون های مجازی که توسط های لینک هایی به هم متصل شده اند. هر نرون وظایف بسیار ساده ای را انجام می دهد اما شبکه می تواند وظایف پیچیده ای را زمانی که همه نرون ها باهم کار کنند را انجام دهد. معمولا سلول های عصبی در شبکه ها در لایه هایی سازماندهی شده اند که این نوع از شبکه ها، پرسپترون چند لایه نامیده می شوند. چنین شبکه هایی توسط لایه هایی از سلول های عصبی تشکیل شده اند که شامل لایه ورودی، یک یا بیشتر لایه پنهان و لایه خروجی است. یک مجموعه آموزش برای تنظیم پارامترهای شبکه به طوری که یک خروجی از پیش تعیین شده بدست آمده زمانی که یک سیگنال ورودی خاص ارائه شده باشد، مورد استفاده قرار می گیرد. امید است که این شبکه قادر به تعمیم نمونه ها در مجموعه آموزش و ارائه طبقه بندی خوب و با صحت بالا باشد.
ماشین بردار پشتیبان :
اساس این روش طبقه بندی خطی و طبقه بندی نمونه ها در دو کلاس می باشد. این روش هم چنین می تواند بسط داده شده و برای طبقه بندی داده ها در بیش از دو کلاس استفاده شود. البته این در شرایطی قابل اجرا است که از بیش از یک ماشین بردار پشتیبانی در یک ساختار درختواره استفاده شود زیرا هر یک از ماشین بردار پشتیبان برای طبقه بندی فقط به دو کلاس قابلیت کاربرد دارد. این روش در موردی که در آن داده ها به صورت غیر خطی قابل جدا شدن باشند نیز کارا می باشد. در اینجا توابع هسته ای برای تبدیل فضای اصلی در یکی دیگر از کلاس هایی که به صورت خطی از یکدیگر جدا شده اند مورد استقاده قرار می گیرد.
منابع :
کوثری، م، ر، اسمعیل زاده حسینی، م، کتاب MATLAB در علوم محیطی (پردازش داده)
Data Mining in Agriculture Book, Antonio Mucherino, Petraq J.Papajorgji, Panos M. Pardalos, Springer