کلید های اصلی یادگیری ماشین : Supervised Learning

 یک مدل یادگیری ماشین را آموزش می‌دهم تا یک نقشه ذهنی  از ورودی‌ها به خروجی‌ها را یاد بگیرد. این فرآیند با استفاده از یک مجموعه داده برچسب‌خورده (Labeled Dataset) انجام می‌شود. در ادامه، به زبان ساده و با استفاده از "مدلی از کلیدها"، مفاهیم اصلی Supervised Learning را توضیح می‌دهم:

کلید مفهومتوضیح ساده
 داده‌های ورودی (Input Data)ویژگی‌ها (Features)مقادیری که مدل بر اساس آن‌ها تصمیم می‌گیرد. مثلاً در پیش‌بینی قیمت خانه، ویژگی‌ها می‌توانند متراژ، تعداد اتاق‌ها، و محل خانه باشند.
 برچسب‌ها (Labels)خروجی هدف (Target Output)نتیجه‌ای که می‌خواهیم مدل آن را پیش‌بینی کند. مثلاً قیمت خانه.
 داده‌ی آموزشی (Training Data)مجموعه داده‌ی برچسب‌خوردهشامل نمونه‌هایی است که ورودی و خروجی آن‌ها مشخص است، و برای آموزش مدل استفاده می‌شود.
 الگوریتمروش یادگیریالگوریتم مشخص می‌کند که مدل چطور باید رابطه بین ورودی‌ها و خروجی‌ها را یاد بگیرد (مثلاً خطی، درخت تصمیم، شبکه عصبی و...)
تابع هزینه (Loss Function)معیار خطافاصله‌ی بین پیش‌بینی مدل و خروجی واقعی را اندازه می‌گیرد. هدف، کاهش این خطاست.
آموزش (Training)فرآیند یادگیریمدل با دیدن نمونه‌های زیاد و تنظیم پارامترهای داخلی خودش، سعی می‌کند الگوهای موجود را یاد بگیرد.
 اعتبارسنجی (Validation)ارزیابی در حین یادگیریبررسی عملکرد مدل روی داده‌هایی که در آموزش دیده نشده‌اند، برای جلوگیری از یادگیری بیش‌ازحد (Overfitting).
 پیش‌بینی (Prediction)خروجی مدلپس از آموزش، مدل می‌تواند برای ورودی‌های جدید، خروجی را پیش‌بینی کند.
 دقت (Accuracy)ارزیابی عملکردمعیاری برای سنجش این‌که مدل چقدر خوب یاد گرفته است. (بسته به نوع مسئله، از معیارهای مختلف مثل MAE, MSE, Precision, Recall و غیره استفاده می‌شود).
 دسته‌بندی و رگرسیوندو نوع مسئلهاگر خروجی مدل دسته باشد (مثلاً "بله/خیر")، مسئله دسته‌بندی است. اگر خروجی عددی باشد (مثلاً قیمت)، مسئله رگرسیون است.

 

مثال ساده:

فرض کن می‌خواهیم تشخیص بدهیم که آیا یک ایمیل اسپم است یا نه:

  • ورودی‌ها: تعداد دفعات تکرار کلمات خاص، طول ایمیل، وجود لینک یا نه...

  • برچسب‌ها: اسپم (1) یا غیر اسپم (0)

  • مدل: یک الگوریتم یادگیری مثل Logistic Regression یا Random Forest

  • خروجی: مدل برای هر ایمیل جدید می‌گوید اسپم است یا نه

 

یک مثال ساده از یادگیری نظارت‌شده (Supervised Learning) با پایتون و استفاده از کتابخانه‌ی معروف scikit-learn :

کد پایتون (با توضیح):

# 1. نصب کتابخانه‌های لازم
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# 2. بارگذاری دیتاست معروف Iris
data = load_iris()
X = data.data         # ویژگی‌ها (features)
y = data.target       # برچسب‌ها (labels)

# 3. تقسیم داده به آموزش و تست (۷۰٪ آموزش، ۳۰٪ تست)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 4. انتخاب یک مدل یادگیری - Random Forest
model = RandomForestClassifier()

# 5. آموزش مدل
model.fit(X_train, y_train)

# 6. پیش‌بینی بر اساس داده‌های تست
y_pred = model.predict(X_test)

# 7. ارزیابی دقت مدل
accuracy = accuracy_score(y_test, y_pred)
print(" دقت مدل: ", accuracy)

 

خروجی نمونه:

 

 دقت مدل: 1.0

(یعنی مدل تونسته 100٪ داده‌های تست رو درست پیش‌بینی کنه – البته در داده‌های ساده‌ای مثل Iris این خیلی معمولیه.)

 

نکات آموزشی از این کد:

مرحلهمفهوم یادگیری
load_iris()استفاده از داده‌های برچسب‌خورده
train_test_split()جدا کردن داده‌ها برای جلوگیری از overfitting
fit()آموزش مدل بر اساس داده‌ها
predict()پیش‌بینی بر اساس داده‌های جدید
accuracy_score()سنجش عملکرد مدل

 

 

مدل بعدی