مبحث ۶: ارزیابی مدلها
Model Evaluation
۱. این مبحث دقیقاً درباره چیست؟
ارزیابی مدل (Model Evaluation) فرآیند سنجش عملکرد یک مدل یادگیری ماشین است. ساختن یک مدل کافی نیست؛ باید بدانیم مدل چقدر خوب عمل میکند، آیا قابل اعتماد است و آیا در محیط واقعی بهدرستی کار خواهد کرد.
بدون ارزیابی صحیح، ممکن است مدلی را مستقر کنیم که در عمل شکست بخورد. انتخاب معیار ارزیابی مناسب یکی از مهمترین تصمیمات در هر پروژه ML است و در آزمون بسیار پرتکرار است.
۲. تعریف ساده
تعریف ساده: ارزیابی مدل یعنی بررسی اینکه مدل ما چقدر خوب پیشبینی میکند و کجاها اشتباه میکند.
۳. تعریف تخصصی
تعریف تخصصی: ارزیابی مدل مجموعهای از روشها و معیارهای کمّی برای سنجش توانایی تعمیمپذیری مدل، شناسایی نقاط ضعف و مقایسه مدلها با یکدیگر است. شامل معیارهای عملکرد (Performance Metrics)، روشهای اعتبارسنجی (Validation Methods) و تحلیل خطا میشود.
۴. مفاهیم کلیدی
۴.۱. ماتریس درهمریختگی (Confusion Matrix) 🔴
برای طبقهبندی دودویی (Binary Classification):
| پیشبینی: مثبت | پیشبینی: منفی | |
|---|---|---|
| واقعی: مثبت | TP (True Positive) درستمثبت | FN (False Negative) منفیکاذب |
| واقعی: منفی | FP (False Positive) مثبتکاذب | TN (True Negative) درستمنفی |
توضیح ساده هر خانه: - TP: مدل گفت «بله» و واقعاً «بله» بود ✅ - TN: مدل گفت «خیر» و واقعاً «خیر» بود ✅ - FP: مدل گفت «بله» ولی واقعاً «خیر» بود ❌ (هشدار اشتباه / خطای نوع اول) - FN: مدل گفت «خیر» ولی واقعاً «بله» بود ❌ (نادیدهگرفتن / خطای نوع دوم)
۴.۲. معیارهای ارزیابی طبقهبندی 🔴
| معیار | فرمول | توضیح ساده | کِی مهمتر است؟ |
|---|---|---|---|
| دقت (Accuracy) | (TP+TN) / کل | چند درصد کل پیشبینیها درست بود | داده متوازن |
| صحت (Precision) | TP / (TP+FP) | از آنهایی که «مثبت» پیشبینی شدند، چند درصد واقعاً مثبت بودند | وقتی FP هزینهبر است (مثل اتهام اشتباه) |
| حساسیت (Recall/Sensitivity) | TP / (TP+FN) | از تمام موارد واقعاً مثبت، چند درصد شناسایی شدند | وقتی FN خطرناک است (مثل تشخیص سرطان) |
| F1-Score | 2 × (P×R)/(P+R) | میانگین هارمونیک Precision و Recall | وقتی هر دو FP و FN مهماند |
| AUC-ROC | سطح زیر منحنی ROC | توانایی کلی مدل در تفکیک کلاسها (۰ تا ۱) | مقایسه کلی مدلها |
| Specificity | TN / (TN+FP) | از موارد واقعاً منفی، چند درصد درست شناسایی شدند | تکمیلکننده Recall |
۴.۳. منحنی ROC و AUC 🔴
- ROC (Receiver Operating Characteristic): نمودار Recall (TPR) در مقابل FPR (1 - Specificity) در آستانههای مختلف.
- AUC (Area Under Curve): سطح زیر منحنی ROC.
- AUC = ۱.۰ → مدل کامل
- AUC = ۰.۵ → مدل تصادفی (بیفایده)
- AUC < ۰.۵ → مدل بدتر از تصادفی
۴.۴. اعتبارسنجی متقاطع (Cross-Validation) 🔴
- تعریف: تقسیم داده به K بخش (Fold)، آموزش روی K-1 بخش و ارزیابی روی بخش باقیمانده. این فرآیند K بار تکرار میشود.
- رایجترین نوع: K-Fold Cross-Validation (معمولاً K=5 یا K=10)
- مزیت: استفاده کاملتر از داده، ارزیابی پایدارتر
- توضیح ساده: مثل اینکه ۵ بار آزمون بدهید و هر بار بخش متفاوتی از سؤالات جدید باشد. نمره نهایی = میانگین ۵ آزمون.
۴.۵. معیارهای ارزیابی رگرسیون 🟠
ارجاع: جزئیات در مبحث ۵ (رگرسیون) توضیح داده شده. خلاصه: MAE, MSE, RMSE, R².
۵. چگونه کار میکند؟
فرآیند ارزیابی:
۱. تقسیم داده → Train / Validation / Test
↓
۲. آموزش مدل روی Train
↓
۳. تنظیم فراپارامترها با Validation (یا Cross-Validation)
↓
۴. ارزیابی نهایی روی Test
↓
۵. محاسبه معیارهای مناسب (Accuracy, F1, AUC, ...)
↓
۶. تحلیل Confusion Matrix و شناسایی نقاط ضعف
۶. مثال واقعی
سیستم تشخیص بیماری
مسئله: یک مدل ML برای تشخیص سرطان سینه طراحی شده.
ماتریس درهمریختگی: | | پیشبینی: سرطانی | پیشبینی: سالم | |--|-----------------|---------------| | واقعی: سرطانی | TP = ۸۵ | FN = ۱۵ | | واقعی: سالم | FP = ۱۰ | TN = ۸۹۰ |
محاسبات: - Accuracy = (۸۵+۸۹۰)/۱۰۰۰ = ۹۷.۵٪ - Precision = ۸۵/(۸۵+۱۰) = ۸۹.۵٪ - Recall = ۸۵/(۸۵+۱۵) = ۸۵٪ ← ۱۵ بیمار سرطانی شناسایی نشدند! - F1 = 2×(۰.۸۹۵×۰.۸۵)/(۰.۸۹۵+۰.۸۵) ≈ ۸۷.۲٪
نکته مشاورهای: در تشخیص سرطان، Recall مهمتر از Precision است چون FN (نادیدهگرفتن بیمار) خطرناکتر از FP (هشدار اضافی) است.
۷. مثال خیلی ساده
فرض کنید یک دزدگیر خانه دارید: - TP: دزد آمد، دزدگیر زنگ زد ✅ - TN: دزدی نبود، دزدگیر ساکت ماند ✅ - FP: دزدی نبود، اما دزدگیر زنگ زد (هشدار اشتباه) ❌ - FN: دزد آمد ولی دزدگیر زنگ نزد (خطر!) ❌
۸. تفاوت مفاهیم مشابه
Precision vs Recall 🔴
| ویژگی | Precision (صحت) | Recall (حساسیت) |
|---|---|---|
| سؤال | از مثبتهای پیشبینیشده، چند تا واقعاً مثبت؟ | از مثبتهای واقعی، چند تا شناسایی شد؟ |
| فرمول | TP / (TP + FP) | TP / (TP + FN) |
| FP مهم | بله — Precision پایین = FP زیاد | خیر |
| FN مهم | خیر | بله — Recall پایین = FN زیاد |
| اولویت | وقتی هشدار اشتباه هزینهبر است | وقتی نادیدهگرفتن خطرناک است |
| مثال | فیلتر اسپم (اسپمنشدن ایمیل مهم) | تشخیص سرطان (نباید بیماری را از دست بدهیم) |
Accuracy vs F1-Score 🔴
| شرایط | بهترین معیار | دلیل |
|---|---|---|
| داده متوازن | Accuracy | هر دو کلاس اهمیت مشابه |
| داده نامتوازن | F1-Score یا AUC | Accuracy گمراهکننده |
۹. مزایا و محدودیتها
مزایا ✅
- تصمیمگیری آگاهانه: انتخاب بهترین مدل
- شناسایی ضعفها: فهم اینکه مدل کجا اشتباه میکند
- مقایسه مدلها: امکان مقایسه عادلانه بین الگوریتمها
- جلوگیری از بیشبرازش: با Cross-Validation
محدودیتها ⛔
- انتخاب معیار نامناسب: میتواند به تصمیم اشتباه منجر شود
- عدم توجه به هزینه خطا: هر نوع خطا هزینه متفاوتی دارد
- داده آزمایشی محدود: نتایج ممکن است تعمیمپذیر نباشند
۱۰. کاربردهای مهم
| حوزه | معیار مهمتر | دلیل |
|---|---|---|
| تشخیص بیماری | Recall | FN = بیمار شناسایینشده = خطرناک |
| فیلتر اسپم | Precision | FP = ایمیل مهم رفته به اسپم = آزاردهنده |
| تشخیص تقلب | F1 / AUC | هم FP و هم FN هزینهبر |
| خودروی خودران | Recall | FN = عدم تشخیص عابر = فاجعه |
| سیستم پیشنهاد | Precision@K | کیفیت K پیشنهاد اول |
۱۱. دیدگاه مشاورهای
انتخاب معیار ارزیابی مناسب:
سؤال کلیدی: «هزینه کدام نوع خطا بیشتر است؟»
- FP هزینهبر (هشدار اشتباه) → Precision مهمتر
- FN هزینهبر (نادیدهگرفتن) → Recall مهمتر
- هر دو مهم → F1-Score
- مقایسه کلی → AUC-ROC
- داده متوازن → Accuracy کافی است
مهمترین خطا:
- استفاده از Accuracy برای داده نامتوازن
- ارزیابی مدل روی داده آموزشی (نه آزمایشی)
- عدم استفاده از Cross-Validation
۱۲. 🔴 نکات طلایی آزمون
- Confusion Matrix: TP, TN, FP, FN را کاملاً بلد باشید و بتوانید از روی جدول محاسبه کنید.
- Accuracy ≠ بهترین معیار. در داده نامتوازن گمراهکننده است.
- Precision: «از مثبتهای پیشبینیشده چند تا درست بود؟» — FP مهم.
- Recall: «از مثبتهای واقعی چند تا پیدا شد؟» — FN مهم.
- F1 = میانگین هارمونیک Precision و Recall (نه حسابی!).
- AUC = 0.5 → مدل تصادفی. AUC = 1 → مدل کامل.
- Cross-Validation: K-Fold با K=5 یا ۱۰. داده کم → Leave-One-Out.
- Trade-off بین Precision و Recall: افزایش یکی معمولاً به کاهش دیگری منجر میشود.
- ارزیابی نهایی باید روی داده Test (جدا) باشد — نه Train و نه Validation.
- FP = خطای نوع اول | FN = خطای نوع دوم.
۱۳. ⚠️ دامهای رایج آزمون
دام ۱: «Accuracy ۹۹٪ یعنی مدل عالی.»
❌ اگر ۹۹٪ داده یک کلاس باشد، مدلی که همه را آن کلاس پیشبینی کند ۹۹٪ دقت دارد ولی بیفایده است.دام ۲: «Precision و Recall یکی هستند.»
❌ Precision = TP/(TP+FP) و Recall = TP/(TP+FN). مخرجها متفاوتاند و هر کدام جنبه متفاوتی از خطا را میسنجند.دام ۳: «F1 = میانگین حسابی Precision و Recall.»
❌ F1 = میانگین هارمونیک = 2×P×R/(P+R). میانگین هارمونیک به مقدار کمتر حساستر است.دام ۴: «ارزیابی روی داده آموزشی کافی است.»
❌ عملکرد روی داده آموزشی نشانه بیشبرازش ممکن است. ارزیابی باید روی داده آزمایشی جدا باشد.دام ۵: «AUC بالا = Precision بالا.»
❌ AUC توانایی کلی تفکیک را نشان میدهد ولی لزوماً به Precision بالا ترجمه نمیشود، بخصوص در داده نامتوازن.
۱۴. 🧠 خلاصه یکدقیقهای
اگر فقط یک دقیقه وقت داشتم...
- Confusion Matrix: TP, TN, FP, FN — پایه همه معیارها
- Accuracy = (TP+TN)/کل — فقط برای داده متوازن
- Precision = TP/(TP+FP) — وقتی FP هزینهبر
- Recall = TP/(TP+FN) — وقتی FN خطرناک
- F1 = میانگین هارمونیک P و R — وقتی هر دو مهم
- AUC: ۰.۵=تصادفی، ۱=کامل
- Cross-Validation: K-Fold برای ارزیابی پایدارتر
- انتخاب معیار = «هزینه کدام خطا بیشتر است؟»
- ارزیابی نهایی حتماً روی داده Test جداگانه
- Trade-off: Precision ↑ = معمولاً Recall ↓
۱۵. نقشه ذهنی
ارزیابی مدل (Model Evaluation)
│
├── Confusion Matrix
│ ├── TP (درستمثبت)
│ ├── TN (درستمنفی)
│ ├── FP (مثبتکاذب) ← خطای نوع ۱
│ └── FN (منفیکاذب) ← خطای نوع ۲
│
├── معیارهای طبقهبندی
│ ├── Accuracy ← داده متوازن
│ ├── Precision ← FP مهم
│ ├── Recall ← FN مهم
│ ├── F1-Score ← هر دو مهم
│ ├── AUC-ROC ← مقایسه کلی
│ └── Specificity
│
├── معیارهای رگرسیون
│ ├── MAE, MSE, RMSE, R²
│ └── (← ارجاع به مبحث ۵)
│
├── روشهای اعتبارسنجی
│ ├── Train/Validation/Test Split
│ ├── K-Fold Cross-Validation
│ └── Leave-One-Out
│
└── Trade-offs
├── Precision vs Recall
└── Bias vs Variance
۱۶. ارتباط با سایر مباحث
| مبحث مرتبط | نوع ارتباط |
|---|---|
| طبقهبندی (مبحث ۳) | معیارهای ارزیابی طبقهبندی |
| رگرسیون (مبحث ۵) | MAE, MSE, R² |
| مبانی ML (مبحث ۱) | بیشبرازش، تعمیمپذیری |
| MLOps (فصل ۵) | مانیتورینگ عملکرد مدل پس از استقرار |
| اخلاق AI (فصل ۶) | عدالت و سوگیری در ارزیابی |
۱۷. سؤالات احتمالی آزمون
مدلی دارای TP=80, TN=900, FP=20, FN=0 است. Precision چقدر است؟
در تشخیص سرطان، کدام معیار ارزیابی اولویت بالاتری دارد؟
F1-Score چگونه محاسبه میشود؟
AUC = 0.5 به چه معناست؟
برای ارزیابی مدل با داده محدود، کدام روش مناسبتر است؟
در کدام سناریو Accuracy معیار مناسبی نیست؟
مدلی Precision = ۹۵٪ و Recall = ۴۰٪ دارد. تفسیر صحیح کدام است؟
۱۸. سطحبندی مطالب
🔴 سطح ۱ — ضروری:
- Confusion Matrix و TP, TN, FP, FN
- Accuracy, Precision, Recall, F1-Score
- AUC-ROC (تفسیر مقادیر)
- انتخاب معیار مناسب بر اساس مسئله
- Cross-Validation (K-Fold)
🟠 سطح ۲ — مهم:
- Trade-off بین Precision و Recall
- مشکل Accuracy در داده نامتوازن
- Specificity
- Leave-One-Out Cross-Validation
🟢 سطح ۳ — تکمیلی:
- Precision-Recall Curve
- Log Loss
- Cohen's Kappa
📚 مراجع و منابع علمی معتبر
منابع مرتبط با همین موضوع- Google Research
- Springer
- Scikit-Learn