بایاس و واریانس
آموزش مفهوم بایاس و واریانس: Underfitting و Overfitting، تشخیص و راهحلهای عملی
بایاس و واریانس
دو منبع خطای اصلی مدل که تعادل بین آنها هنر یادگیری ماشین است.
بایاس (Bias)
خطای ناشی از سادهاندیشانه بودن مدل. مدل رابطههای پیچیده داده را نمیبیند:
- مثال: پیشبینی قیمت خانه فقط با «تعداد اتاق» و نادیده گرفتن متراژ!
- نتیجه: خطای بالا روی آموزش و تست → Underfitting
واریانس (Variance)
خطای ناشی از حساسیت بیش از حد مدل به داده آموزش. مدل نویز را حفظ میکند:
- مثال: درختی که برای هر خانه یک قانون جدا دارد!
- نتیجه: خطای کم روی آموزش، خطای زیاد روی تست → Overfitting
جدول تشخیص
| خطای Train | خطای Test | وضعیت | |
|---|---|---|---|
| Underfitting | بالا | بالا | بایاس زیاد |
| تعادل ✅ | کم | کم و نزدیک به Train | بهینه |
| Overfitting | خیلی کم | خیلی بیشتر از Train | واریانس زیاد |
راهحل Underfitting
- مدل پیچیدهتر (درخت عمیقتر، ویژگی بیشتر)
- مهندسی ویژگی بهتر
- کاهش Regularization
- آموزش طولانیتر
راهحل Overfitting
- داده بیشتر: بهترین راهحل
- Regularization: جریمه پیچیدگی (L1/L2)
- مدل سادهتر (عمق کمتر)
- Dropout (شبکه عصبی) و early stopping
- اعتبارسنجی متقابل برای تشخیص زودهنگام
Regularization (نظمدهی)
به تابع خطا، جریمهای برای ضرایب بزرگ اضافه میشود تا مدل ساده بماند:
- L1 (Lasso): جریمه قدرمطلق ضرایب — بعضی ضرایب صفر میشوند (انتخاب ویژگی!)
- L2 (Ridge): جریمه مربع ضرایب — ضرایب کوچک ولی صفر نمیشوند
from sklearn.linear_model import Ridge, Lasso
ridge = Ridge(alpha=1.0) # alpha: شدت جریمه
lasso = Lasso(alpha=0.1)
همیشه خطای Train و Test را با هم ببینید. شکاف زیاد بین آنها = زنگ خطر Overfitting!
جمعبندی
- بایاس زیاد = Underfitting = سادهاندیشی
- واریانس زیاد = Overfitting = حفظ کردن
- تعادل با: داده بیشتر، مدل مناسب، Regularization
این مبحث بخشی از دوره آموزش کامل ماشین لرنینگ است.