نگاهی به جادوی الگوریتم‌ها: یادگیری نظارت شده و بدون ناظر

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

شما هر روز به طور مستقیم و غیرمستقیم با این الگوریتم‌ها سروکار دارید! اما چگونه؟

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

از این الگوریتم‌ها می‌توان در حوزه‌های بسیار متنوعی استفاده کرد. برای مثال می‌توان از آن‌ها برای پیش‌بینی داشتن سرطان براساس تصاویر MRI شما و درک مکالمات شما هنگام صحبت با الکسا و غیره استفاده کرد.

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

یادگیری ماشینی نظارت شده:

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

Y = f(x)

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

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

  1. طبقه‌بندی (Classification: طبقه‌بندی داده‌ها به گروه‌های از پیش تعیین شده)
  2. رگرسیون (Regression: پیش‌بینی مقادیر ازروی داده‌های عددی)

1. طبقه‌بندی

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

در زیر چند مدل طبقه‌بندی رایج آورده شده است:

  • Random Forest
  • Decision Trees
  • Logistic Regression
  • Support Vector Machines
  • Convolution Neural Networks (image deep learning)

2. Regression

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

برخی از الگوریتم‌های رگرسیون معروف موارد زیر هستند:

  • (Simple and Multiple) Linear Regression
  • Regression Decision Trees
  • Ridge or Lasso Linear Regression
  • Bayesian Linear Regression
  • Polynomial Regression

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

یادگیری ماشینی بدون نظارت:

یادگیری بدون نظارت یکی دیگر از روش‌های یادگیری ماشینی است و همان‌طور که از اسم آن قابل حدس است به هیچ ناظری برای آموزش نیاز ندارد و الگوها از داده‌های ورودی بدون برچسب استنتاج می‌شوند.

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

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

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

این الگوریتم برای دو نوع مسئله کاربرد دارد:

  1. Clustering خوشه‌بندی (گروه‌بندی داده‌ها بر اساس شباهت‌ها)
  2. Association(کشف قوانین دقیقی که الگوهای داده‌های شما را توصیف می‌کند)


1. خوشه‌بندی(Clustering )

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

  • K-Means Clustering
  • Mean-Shift Clustering
  • Hierarchical Clustering
  • Expectation–Maximization (EM) Clustering using Gaussian Mixture Models (GMM) or EM GMM
  • Deep Neural Networks


2. Association

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

  • Learning Classifier System
  • Association Rule Learning
  • Apriori Algorithm
  • Singular-Value Decomposition

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

عصر دیجیتال، عصر انفجار داده‌ها!

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


با آیفا آشنا شوید!
با توجه به نقش مهم سرویس‌های هوش مصنوعی در ابعاد مختلف زندگی امروز، مجموعه فناپ به‌عنوان یکی از اعضای برتر سازمان نظام صنفی رایانه‌ای کشور و برخوردار از گواهینامه رتبه یک سازمان برنامه و بودجه کشور برای اجرا و مشاوره پروژه‌ها و طرح‌های انفورماتیک در زمینه‌های مختلف، بر اساس مسئولیت خود در زمینه حمایت و توسعه طرح‌های نوآورانه انفورماتیک در کشور، اقدام به توسعه سامانه‌های کاربردی به‌روز تحت برند «آیفا» نموده است که قابلیت هوشمندسازی فرآیندهای کسب‌وکارها و سازمان‌ها را دارد. سرویس‌های برچسب‌گذاری داده، پردازش تصویر و نویسه‌خوان (OCR)، پردازش زبان طبیعی، و کشف تقلب از جمله سرویس‌های موجود در شرکت فناپ هستند که در طراحی آن‌ها از به‌روزترین الگوریتم‌های یادگیری ماشین و هوش مصنوعی استفاده شده است و ساختار آن‌ها به گونه‌ای است که از انعطاف لازم برای اضافه شدن به سایر سیستم‌های نظارتی، مدیریتی، خدماتی و CRM برخوردار هستند. برای کسب اطلاعات بیشتر می‌توانید به وبسایت مرکز مطالعات و تحقیقات فناپ و همین‌طور صفحه مربوط به گروه هوش مصنوعی آیفا مراجعه کنید.
دانلود کاتالوگ سرویس‌های هوش مصنوعی آیفا


· Instagram: aifa.pod

· Linkedin: fanap-aifa

· Website: research.fanapsoft.com

· Email: Fanapsoft.research@fanap.ir