یادگیری ماشین در تجزیه و تحلیل داده‌ها

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

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

یادگیری ماشینی چیست؟


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

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

تجزیه و تحلیل داده‌ها


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

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

اهمیت یادگیری ماشین در تحلیل داده‌ها


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

  1. دیتاها توسط ماشین کلاسه بندی شده و نتیجه گیری‌های مختلفی روی آن‌ها انجام می‌شود. این الگوریتم‌ها مبتنی بر طبقه بندی (classificationbased) یا مبتنی بر رگرسیون (regressionbased) هستند.
  2. بین الگوریتم‌های نظارتی (supervised) و بدون نظارت (Unsupervised) تفاوت وجود دارد. الگوریتم‌های نظارتی جهت توسعه آموزش نیاز به دیتای کافی دارند، اما الگوریتم‌های بدون نظارت نیازی به متغیرهای خروجی ندارند.

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

الگوریتم‌های یادگیری ماشین در تجزیه و تحلیل داده‌ها


  • الگوریتم خوشه بندی

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

  • درخت تصمیم گیری (Decision-tree learning)

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

    این روش با الگوریتم‌های یادگیری، برای طبقه بندی و تجزیه و تحلیل اطلاعات کاربردی هستند (مانند تشخیص گروه خونی افراد). برای مطالعه بیشتر مقاله  in-depth Medium article را مطالعه کنید.

  • یادگیری گروهی (Ensemble learning)

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

    آیا فکر می‌کنید شما و کارشناس هواشناسی دقیق ترین پیش بینی را داشته باشید یا میانگین هر چهار نفر؟ طبق یادگیری گروهی، پیش بینی تیمی نزدیکترین دیتا به پاسخ صحیح است؛ و میانگین دمای پیش بینی شده توسط هر فرد به این عدد نزدیک خواهد بود.
    این الگوی یادگیری ماشینی که اغلب در آنالیز داده‌ها استفاده می‌شود، به رویکرد جنگل تصادفی (random forest approach) معروف است. با ترکیب درخت تصمیم گیری در زیر مجموعه‌های تصادفی و آموزش‌های خودمحور، می‌توان جنگل‌های متنوع تصمیم گیری ایجاد کرد.

  • ماشین پشتیبانی وکتور (Support-vector Machine)
    آیا تا به حال بین دو گونه از حیوانات مثلا دو گونه تمساح تمایزی قائل شدید؟ گروهی پوزه U شکل و گونه‌ای پوزه باریک و V شکل دارند. اما اگر به Everglades سفر کرده باشید، با خزنده‌ای مواجه می‌شوید که هر دو ویژگی را دارد، چطور می‌توان تفاوت‌ها را مشخص کرد؟ الگوریتم‌های ماشین پشتیبانی (SVM) برای کمک به حل این نوع مسائل بکار می‌روند.
    برای این منظور ابتدا یک نمودار رسم می‌کنیم که محور X آن پوزه تمساح و محور Y آن شکل دندان باشد. اکنون باید داده‌های زیادی جمع آوری و پلن‌های ممکن را بررسی کنیم تا دو گروه مجزا ایجاد شوند.
    هدف، یافتن یک پلن منحصر به فرد است که دیتاهای پرت را خارج و نزدیکترین اطلاعات به هرگونه را انتخاب نماید. این الگوریتم با نمودارهای دو بعدی و برای داده‌های طبقه بندی شده استفاده می‌شود. با ترکیب این نمودارها، پارامترها و تکنیک‌های مختلف، می‌توان یک نمودار غیرخطی ترسیم و مسائل پیچیده‌تری را حل نمود. ویدیوی زیر توضیحات بیشتری را در این مورد ارائه می‌دهد.
  • رگرسیون خطی یا نمودار scatterplot

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

  • رگرسیون لجستیک

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