👈نویسنده : ملیحه باغبان

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

تکنیک های مختلفی وجود دارد که امکان استخراج اطلاعات ناشناخته از داده ها را فراهم می کند. به طور کلی، یک تکنیک رویکرد مفهومی است که امکان استخراج و اجرای الگوریتم معین را فراهم می کند.

تکنیک های داده کاوی را می توان بسته به فرآیندی که برای استخراج دانش استفاده می شود به دو گروه طبقه بندی کرد:

تکنیک های نظارت شده و بدون نظارت (supervised and unsupervised techniques)

تکنیک های نظارت شده یا پیش بینی. روش‌های نظارت شده روش‌هایی هستند که سعی می‌کنند رابطه بین ویژگی‌های ورودی (که گاهی متغیرهای مستقل نامیده می‌شوند) و یک ویژگی هدف (گاهی اوقات به عنوان متغیر وابسته شناخته می‌شوند) را کشف کنند. رابطه کشف شده در ساختاری که به عنوان مدل نامیده می شود نشان داده می شود.

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

تمایز بین دو مدل اصلی نظارت شده مفید است: مدل های طبقه بندی (طبقه بندی کننده ها) و مدل های رگرسیون. مدل های رگرسیون فضای ورودی را در یک دامنه با ارزش واقعی ترسیم می کنند.

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

نکته: این مدل ماشین با استفاده از داده های برچسب گذاری شده و داشتن جواب های درست یاد می گیرند که در لاتین به آن Supervised learning می گویند.

مثال های مختلفی از یادگیری ماشین با نظارت:

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

نمونه دیگری از این دست یادگیری می توان زد پیشبینی مقدار عددی می باشد، به عنوان مثال قیمت یک ماشین با مجموعه ویژگی هایی مثل (مسافت طی شده، برند، سن ماشین و ...). از این دست مثال ها با عنوان regression نامیده می شوند.

برای آموزش سیستم، شما باید تعداد زیادی نمونه یا به عبارتی داده، در اختیار سیستم بگذارید که شامل label و predictor ها باشد.

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

طبقه بندی - Classification

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

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

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

طبقه بندی نوعی الگوریتم یادگیری ماشینی تحت نظارت است. برای هر ورودی داده شده، الگوریتم های طبقه بندی به پیش بینی کلاس متغیر خروجی کمک می کنند. 

برخی از پرکاربردترین الگوریتم های طبقه بندی

نزدیکترین همسایه K—Nearest Neighbor

درختان تصمیم Decision Trees

بیز ساده Naive Bayes

ماشین‌های بردار پشتیبانی Support Vector Machines

نزدیکترین همسایه ها:

فرض کنید شما یک فروشگاهِ مواد غذایی و دو دسته مشتری دارید، مشتریانِ دسته اول، کسانی هستند که بیشتر از ۱۰۰ هزار تومان در هر بار مراجعه از شما خریداری می‌کنند و دسته‌ی دوم مشتریانی هستند که در هر مراجعه معمولاً کمتر از ۱۰ هزار تومان خرید می‌کنند. شما که فروشنده‌ی با تجربه‌ای هستید، به سبب چند سالی که در این مغازه فعالیت دارید می‌دانید که مشتریان دسته‌ی اول خانم‌هایی هستند که سن بالای ۴۰ سال دارند و با اتومبیل به فروشگاه شما می‌آیند (مثلاً در مراجعه‌ی آن‌ها به این الگو دقت کرده‌اید). و دسته‌ی دوم، یعنی همان مشتریانی که کمتر از ۱۰ هزار تومان از شما خریداری می کنند. معمولاً آقایانی هستند که سن زیر ۲۵ سال دارند و بدون اتومبیل به فروشگاه می‌آیند. حال فرض کنید، یک مشتری جدید به فروشگاه آمده است. این شخص یک خانم ۴۵ ساله است که با اتومبیلِ خود به فروشگاه آمده. شما این مشتری جدید را در کدام دسته (با توجه به مشتریان قبلی) قرار میدهید؟ انتظار دارید که این شخص چقدر از شما خرید کند؟قطعاً بدون فکر کردن، دسته‌ی اول را برای پاسخ به سوالِ بالا انتخاب می‌کنید. دلیل آن بسیار ساده است. این خانم ۴۵ ساله با اتومبیل، بسیار نزدیک‌تر به مشتریانِ دسته‌ی اول است تا مشتریانِ دسته‌ی دوم (دسته‌ی دوم، آقایانی بودند که زیر ۲۵ سال سن داشتند و بدون اتومبیل به فروشگاه می‌آمدند). واژه نزدیک‌تر، در واقع پایه‌ی عملیاتِ طبقه‌بندیِ K نزدیک‌ترین همسایه می‌باشد. در این الگوریتم، هر کدام از نمونه‌های جدید (مثلاً مشتری‌های جدید) با تمامی نمونه‌های قبلی مقایسه می‌شوند و به هر کدام از نمونه‌های قبلی که نزدیک‌تر باشند، به آن دسته از نمونه‌ها تعلق می گیرند. این دقیقاً همان کاری است که در مثال اول توسط فروشنده‌ی با تجربه‌ی فروشگاه مواد غذایی انجام شد.

درختان تصمیم:درخت‌ها کاربردِ فراوانی در علومِ کامپیوتر و مهندسی نرم‌افزار دارند. از ساختمان داده و طراحیِ الگوریتم تا سیستم‌های عامل و سیستم‌های توزیع شده، همه به نوعی و در قسمت‌های مختلف از درخت‌های تصمیم استفاده کرده‌اند. در داده‌کاوی و طبقه‌بندی نیز این درخت‌ها جایگاهِ ویژه‌ای دارند و بسیاری از الگوریتم‌های طبقه‌بندی بر پایه‌ی این درخت‌ها ساخته شده‌اند. به آن‌ها درخت‌های تصمیم می‌گویند زیرا می‌توانند یک تصمیمِ خاص (مثلاً اینکه به یک شخص وام بدهیم یا نه) را بر اساسِ اطلاعاتِ گذشته اتخاذ کنند.به صورت رایج در فعالیت‌­های بازاریابی، مهندسی و پزشکی استفاده می‌­شود.در ساختار درخت تصمیم، پیش­بینی به دست آمده از درخت در قالب یک سری قواعد توضیح داده می‌­شود. هر مسیر از ریشه تا یک برگ درخت تصمیم، یک قانون را بیان می­‌کند و در نهایت برگ با کلاسی که بیشترین مقدار رکورد در آن تعلق گرفته برچسب می­‌خورد.

اجزای اصلی درخت تصمیم

برگ (Leaf Nodes): گره­‌هایی که تقسیم‌­های متوالی در آنجا پایان می‌­یابد. برگ‌­ها با یک کلاس مشخص می­‌شوند.

ریشه (Root Node): منظور از ریشه، گره آغازین درخت است.

شاخه (Branches): در هر گره داخلی به تعداد جواب‌­های ممکن شاخه ایجاد می‌­شود.

بیزساده: فرض کنید در حال قدم‌زدن در یک پارک هستید و جسمی قرمز در مقابل خود مشاهده می‌کنید. این جسم قرمز می‌تواند چوب‌دستی، خرگوش یا توپ باشد. شما قطعاً فرض می‌کنید که آن جسم یک توپ است. چرا؟بیایید تصور کنیم که در حال ساخت ماشینی هستیم که وظیفه‌اش طبقه‌بندی یک جسم میان سه گروه چوب‌دستی، توپ و خرگوش است. در ابتدا احتمالاً به این فکر می‌کنیم که ماشینی که می‌سازیم بتواند ویژگی‌های جسم را شناسایی کند و سپس آن را با یکی از گروه‌هایی که می‌خواهیم در آن‌ها طبقه‌بندی کنیم مطابقت دهد.به‌طوری که مثلاً اگر جسم دایره‌ای شکل باشد، پیش‌بینی کند که یک توپ است یا اگر آن جسم یک موجود زنده باشد، آن‌گاه پیش‌بینی ماشین ما خرگوش باشد، یا در مثالی که داشتیم، اگر جسم قرمز باشد، به‌احتمال زیاد آن را توپ در نظر بگیرد. چرا؟ زیرا از دوره‌ی کودکی ما توپ‌های قرمز زیادی دیده‌ایم، اما یک خرگوش قرمز یا یک چوب‌دستی قرمز در نظر ما بسیار بعید است. بنابراین در مثالی که داریم ویژگی ما رنگ قرمز است که آن را با هر سه گروه مطابقت می‌دهیم و می‌بینیم که احتمال اینکه این جسم یک توپ باشد خیلی بیشتر است.این تعریف ساده الگوریتم بیز ساده (Naïve Bayes)‌ است.الگوریتم بیز ساده (Naive Bayes) بیشتر در تجزیه‌وتحلیل احساسات (Sentiment Analysis)، فیلتر هرزنامه‌ها (Spam Filtering)، سیستم‌های توصیه‌گر (Recommendation Systems) و غیره استفاده می‌شود. پیاده‌سازی آن سریع و آسان است، اما بزرگ‌ترین عیب آن نیاز به مستقل‌بودن پیش‌بینی‌کننده‌ها یا همان ویژگی‌هاست؛ در دنیای واقعی ویژگی‌ها معمولاً به‌هم‌وابسته هستند که این عملکرد طبقه‌بندی‌کننده ضعیف می‌کند.

ماشین‌های بردار پشتیبانی: فرض کنیم من صاحب یک کسب‌وکار هستم و هر روز تعداد زیادی ایمیل از مشتری‌ها دریافت می‌کنم. بعضی از این ایمیل‌ها شکایت‌ها و نارضایتی‌هایی هستند که من هرچه سریع‌تر باید به آن‌ها پاسخ بدهم و به آن‌ها رسیدگی کنم. در غیر این صورت کسب‌وکار من با ضرر روبرو خواهد شد. من به دنبال راهی هستم که این ایمیل‌ها را هرچه سریع‌تر تشخیص بدهم(پیدا کنم) و پاسخ آن‌ها را زودتر از بقیه ارسال کنم.

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

رویکرد دوم: من می‌توانم از یک الگوریتم یادگیری ماشین نظارت شده استفاده کنم.

قدم اول: به تعدادی ایمیل نیاز دارم.(هرچه بیشتر بهتر)

قدم دوم: عنوان ایمیل‌های قدم اول رو می‌خوانم و آن‌ها را در یکی از دو گروه «شکایت است» و یا «شکایت نیست» طبقه‌بندی می‌کنم. اینجوری می‌توانم ایمیل‌ها را برچسب ‌گذاری کنم.

قدم سوم: روی این مجموعه داده، مدلی را آموزش می‌دهم.

قدم چهارم: کیفیت یا صحت پیش‌بینی های مدل آموزش داده‌شده را ارزیابی می‌کنم.(با استفاده از روش Cross Validation)

قدم پنجم: از این مدل برای پیش‌بینی این که ایمیل‌های جدیدی که رسیده‌اند، شکایت هستند یا نه، استفاده می‌کنم.

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

موارد کاربرد یادگیری با نظارت Supervised ML به شرح زیر است:

بیوانفورماتیک (Bioinformatics)

ساختار کمی (Quantitative Structure)

بازاریابی بانک اطلاعاتی (Database Marketing)

تشخیص دست خط(Handwriting Recognition)

بازیابی اطلاعات (Information Retrieval)

یادگیری درجه‌­‌بندی (Learning to Rank)

استخراج اطلاعات (Information Extraction)

تشخیص اشیاء در دید رایانه‌‌­ای (Object Recognition In Computer Vision)

تشخیص نوری کاراکترها (Optical Character Recognition)

تشخیص اسپم (Spam Detection)

تشخیص الگو (Pattern Recognition)

و ….

لینک منابع: منبع اول، منبع دوم، منبع سوم, منبع چهارم، منبع پنجم، منبع ششم، منبع هفتم، منبع هشتم، منبع نهم، منبع دهم، منبع یازدهم، منبع دوازدهم، منبع سیزدهم

Martín, L., Baena, L., Garach, L., López, G., & De Oña, J. (2014). Using data mining techniques to road safety improvement in Spanish roads. Procedia-social and behavioral sciences160, 607-614.

مدرس: ملیحه باغبان، دانشجوی دکتری علم اطلاعات ودانش شناسی/ بازیابی اطلاعات و دانش

این مبحث برای دانشجویان علم اطلاعات و دانش شناسی گردآوری و ارائه می گردد



چهارشنبه 19 آبان 1400
ارسال نظر برای این مطلب

کد امنیتی رفرش