در یکی از پروژه‌هایی که روی سیستم پیشنهاددهی محصول کار می‌کردم، تیم پس از چند هفته تلاش برای برچسب‌گذاری داده‌ها به بن‌بست رسید. دیتاست بزرگ بود اما برچسب‌ها ناقص و پراکنده بودند. راه‌حل نهایی نه در برچسب‌گذاری بیشتر بود و نه در مدل پیچیده‌تر؛ راه‌حل در انتخاب نوع درست یادگیری ماشین بود. به‌جای اصرار بر Supervised Learning که به داده برچسب‌خورده کامل نیاز داشت، رویکرد ترکیبی Supervised و Unsupervised استفاده کردیم و در دو هفته به نتیجه رسیدیم. بر اساس داده‌های Stanford AI Index ۲۰۲۶، سرمایه‌گذاری جهانی روی ML در ۲۰۲۵ از مرز ۱۵۰ میلیارد دلار گذشت و بخش بزرگی از این سرمایه‌گذاری در انتخاب نوع یادگیری برای مسائل خاص صرف می‌شود. در این راهنما، همان چارچوبی را می‌کاوم که در پروژه‌های واقعی برای انتخاب نوع یادگیری به کار می‌برم.

چهار نوع اصلی یادگیری ماشین

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

نکته مهمی که در توضیحات ابتدایی زیاد دیده نمی‌شود: این چهار دسته، سلسله‌مراتبی نیستند — یعنی هیچ‌کدام «پیشرفته‌تر» از دیگری نیست. انتخاب بین آن‌ها به مسئله، داده و منابع بستگی دارد. بسیاری از پروژه‌های موفق از ترکیب دو یا چند نوع استفاده می‌کنند.

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

یادگیری نظارت‌شده (Supervised Learning)

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

یادگیری نظارت‌شده خود به دو زیرشاخه تقسیم می‌شود. اول، طبقه‌بندی (Classification) که خروجی از دسته‌های مشخص است. مثلاً: این ایمیل اسپم است یا نه. دوم، رگرسیون (Regression) که خروجی یک مقدار پیوسته است. مثلاً: قیمت این خانه چقدر است.

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

الگوریتم‌های محبوب Supervised

  • Linear Regression و Logistic Regression
  • Decision Trees و Random Forests
  • Support Vector Machines (SVM)
  • Neural Networks
  • Gradient Boosting (XGBoost، LightGBM)

یادگیری بدون نظارت (Unsupervised Learning)

در یادگیری بدون نظارت، داده آموزشی فقط شامل ورودی است — بدون خروجی مطلوب. الگوریتم باید خودش ساختار، الگو و گروه‌بندی را در داده کشف کند. این رویکرد برای مسائلی مناسب است که در آن‌ها نمی‌دانیم «پاسخ درست» چیست، اما می‌خواهیم ساختار پنهان را ببینیم.

زیرشاخه‌های اصلی Unsupervised Learning عبارتند از خوشه‌بندی (Clustering) که داده‌ها را به گروه‌های مشابه تقسیم می‌کند، کاهش ابعاد (Dimensionality Reduction) که داده را به نمایش‌های فشرده‌تر تبدیل می‌کند، و کشف ناهنجاری (Anomaly Detection) که نقاط پرت را شناسایی می‌کند.

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

الگوریتم‌های محبوب Unsupervised

  • K-Means Clustering
  • Hierarchical Clustering
  • DBSCAN
  • Principal Component Analysis (PCA)
  • Autoencoders
  • t-SNE و UMAP

یادگیری نیمه‌نظارت‌شده (Semi-supervised)

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

این رویکرد در مسائلی مثل طبقه‌بندی تصاویر پزشکی، تشخیص گفتار و ترجمه ماشینی کاربرد دارد. در پروژه‌های خودم، وقتی با دیتاستی مواجه می‌شوم که فقط ۱۰٪ برچسب دارد، این رویکرد معمولاً ۱۵ تا ۳۰ درصد بهبود دقت نسبت به Supervised خالص ایجاد می‌کند.

سه تکنیک اصلی Semi-supervised وجود دارد. اول، Self-training که مدل با داده برچسب‌خورده آموزش می‌بیند و سپس داده بدون برچسب را برچسب‌گذاری می‌کند. دوم، Co-training که از دو مدل مستقل استفاده می‌کند و هرکدام دیگری را آموزش می‌دهد. سوم، Graph-based Methods که روابط بین داده‌ها را مدل می‌کند.

یادگیری تقویتی (Reinforcement Learning)

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

کاربردهای شاخص Reinforcement Learning شامل بازی‌های استراتژیک (مانند AlphaGo)، کنترل ربات، رانندگی خودکار، و بهینه‌سازی تبلیغات دیجیتال است. در سال‌های اخیر، RL نقش کلیدی در آموزش مدل‌های زبانی بزرگ داشته است. در مقاله LLM چیست و معماری آن چگونه است جزئیات فنی این کاربرد را می‌توانید ببینید.

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

مفاهیم کلیدی Reinforcement Learning

  • Agent: موجودیت یادگیرنده
  • Environment: محیطی که Agent در آن عمل می‌کند
  • State: وضعیت فعلی محیط
  • Action: اقدامی که Agent انجام می‌دهد
  • Reward: بازخورد عددی که Agent دریافت می‌کند
  • Policy: استراتژی Agent برای انتخاب اقدام

جدول مقایسه جامع

معیارنظارت‌شدهبدون نظارتنیمه‌نظارت‌شدهتقویتی
نوع دادهبرچسب‌خوردهبدون برچسبترکیبیتعامل با محیط
هدفپیش‌بینیکشف ساختارپیش‌بینی با داده کمیادگیری سیاست بهینه
کاربرد شاخصتشخیص اسپمبخش‌بندی مشتریتصویر پزشکیبازی، رباتیک
پیچیدگیپایین تا متوسطمتوسطمتوسط تا بالابالا
هزینه برچسب‌گذاریبالاصفرکمصفر
الگوریتم شاخصRandom ForestK-MeansSelf-trainingQ-Learning

چگونه نوع درست را انتخاب کنیم؟

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

  1. آیا داده برچسب‌خورده دارید؟ اگر بله و کافی است، Supervised. اگر خیر، Unsupervised. اگر بخشی برچسب دارد، Semi-supervised.
  2. آیا مسئله تصمیم‌محور است؟ اگر تصمیم‌ها متوالی و پیامدها بلندمدت دارند، RL رویکرد مناسب‌تری است.
  3. آیا هدف پیش‌بینی است یا کشف؟ اگر پیش‌بینی، Supervised یا Semi-supervised. اگر کشف، Unsupervised.
  4. آیا می‌توانید محیط شبیه‌سازی کنید؟ اگر بله و پاداش مشخص است، RL. اگر خیر، رویکردهای دیگر مطمئن‌ترند.

در تجربه خودم، بیشتر پروژه‌های واقعی با Supervised شروع می‌شوند، و در صورت نیاز به Unsupervised یا Semi-supervised گسترش می‌یابند. RL تنها در پروژه‌های بسیار خاص و با محیط شبیه‌سازی‌شده ارزشمند است.

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

مثال‌های عملی و پروژه‌های واقعی

سه مثال که تفاوت‌ها را روشن می‌کنند. مثال اول — تشخیص تقلب بانکی: اینجا داده برچسب‌خورده کم و تراکنش‌های سالم زیاد است. Semi-supervised یا Unsupervised با Anomaly Detection رویکرد منطقی است. مثال دوم — توصیه فیلم: داده‌ای برچسب‌خورده به معنای دقیق وجود ندارد؛ رفتار کاربران خودش داده است. Clustering و یادگیری از شباهت کاربران، رویکرد رایج است. مثال سوم — بازی شطرنج: پاداش برد و باخت مشخص است و اقدامات متوالی‌اند. RL انتخاب طبیعی است.

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

پرسش‌های پرتکرار درباره انواع یادگیری ماشین

آیا Supervised همیشه بهتر از Unsupervised است؟ نه. اگر داده برچسب‌خورده کافی و باکیفیت باشد، Supervised برتری دارد. اما در مسائل کشف ساختار یا کشف ناهنجاری، Unsupervised انتخاب بهتری است.

آیا Semi-supervised بخشی از Supervised است؟ از منظر مفهومی، Semi-supervised در بین این دو قرار می‌گیرد. هدفش استفاده از داده بدون برچسب برای بهبود دقت مدل با داده محدود برچسب‌خورده است.

Reinforcement Learning چه تفاوتی با سه دسته دیگر دارد؟ تفاوت اصلی در نوع تعامل است. سه دسته دیگر با داده ساکن کار می‌کنند؛ RL با محیط تعامل می‌کند و از پاداش یاد می‌گیرد.

کدام نوع برای شروع مناسب‌تر است؟ Supervised Learning. چون مفاهیم پایه مثل ویژگی، برچسب، آموزش و اعتبارسنجی را شفاف می‌کند و در ادامه می‌توانید به سایر انواع گسترش دهید.

تصویر نهایی

انواع یادگیری ماشین چهار دسته اصلی دارند: نظارت‌شده، بدون نظارت، نیمه‌نظارت‌شده و تقویتی. هر کدام برای مسئله‌ای خاص طراحی شده‌اند و انتخاب بین آن‌ها به ساختار داده، نوع بازخورد و ماهیت تصمیم بستگی دارد. در پروژه‌های واقعی، ترکیب چند نوع معمولاً بهترین نتیجه را می‌دهد. اگر در پروژه‌های خود با انتخاب بین این انواع روبه‌رو شده‌اید — مثلاً انتخاب بین Supervised و Semi-supervised، یا انتخاب بین Clustering و Classification — برایم جالب است بدانید کدام مسیر در عمل مؤثرتر بود و چرا. تجربه شما می‌تواند نقطه شروع دقیق‌تری برای مهندس بعدی بسازد.