Data world with Mina
4.15K subscribers
376 photos
62 videos
169 files
405 links
minarabti32@gmail.com
منبع مطالب يادگيري ماشين،پايتون ،داده كاوي ،هوش مصنوعي، دانلود داده، فيلم هاي آموزشي رايگان، داده
ارتباط با ادمین
@Datalook_mina
اینستاگرام:mina.rabti
Download Telegram
🧠 راهنمای تنظیم Hyperparameterهای مدل LSTM

اگر برای پروژه‌های Time Series از LSTM استفاده می‌کنید، انتخاب درست Hyperparameterها می‌تواند تأثیر زیادی روی سرعت آموزش، دقت و تعمیم‌پذیری مدل داشته باشد.

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

━━━━━━━━━━━━━━━━━━

🟢 1. پارامترLearning Rate | نرخ یادگیری

مشخص می‌کند وزن‌های مدل در هر مرحله از بهینه‌سازی چقدر تغییر کنند.

🔸 خیلی زیاد → آموزش ناپایدار و عبور از نقاط کمینه
🔸 خیلی کم → همگرایی بسیار آهسته

مقدار مناسب برای شروع: 0.001

البته بهتر است با توجه به روند تغییرات Loss تنظیم شود.

━━━━━━━━━━━━━━━━━━

🟢 2. پارامتر مهم Number of Layers | تعداد لایه‌ها

عمق شبکه LSTM را مشخص می‌کند.

🔸 لایه‌های کم، مثلاً 1 → ممکن است برای الگوهای پیچیده کافی نباشد.
🔸 لایه‌های زیاد، مثلاً 4+ → افزایش ریسک Overfitting و مشکلاتی مانند Vanishing Gradient

مقدار مناسب برای شروع: 2 تا 3 لایه

━━━━━━━━━━━━━━━━━━

🟢 3. پارامتر Number of LSTM Units | تعداد واحدهای LSTM

هر LSTM Unit شامل مکانیزم‌هایی برای Input، Forget و Output Gate است و به مدل کمک می‌کند وابستگی‌های زمانی را یاد بگیرد.

🔸 Units بیشتر → ظرفیت یادگیری بالاتر
🔸 Units بیش از حد → افزایش Overfitting و هزینه محاسباتی

محدوده مناسب برای شروع: 50 تا 200 واحد

━━━━━━━━━━━━━━━━━━

🟢 4. پارامتر Dropout Rate | نرخ Dropout

این نرخ Dropout یک تکنیک Regularization است که در زمان آموزش، به‌صورت تصادفی بخشی از نورون‌ها را غیرفعال می‌کند.

🔸 خیلی کم → اثر ناچیز در کنترل Overfitting
🔸 خیلی زیاد → ممکن است مدل نتواند الگوهای مفید را به‌خوبی یاد بگیرد.

محدوده مناسب: 0.2 تا 0.5

━━━━━━━━━━━━━━━━━━

🟢 5.پارامتر Sequence Length | طول توالی

مشخص می‌کند مدل چه تعداد از گام‌های زمانی گذشته را برای پیش‌بینی مشاهده کند.

🔸 خیلی کوتاه → از دست رفتن بخشی از وابستگی‌های زمانی
🔸 خیلی بلند → مصرف حافظه بیشتر و احتمال ورود نویز بیشتر

محدوده مناسب برای شروع: 10 تا 100 Time Step

📌 البته این پارامتر باید با توجه به ماهیت سری زمانی و Seasonality داده انتخاب شود.

━━━━━━━━━━━━━━━━━━

🟢 6. پارامتر مهم L2 Regularization | منظم‌سازی L2

با اعمال جریمه روی وزن‌های بزرگ، به کنترل پیچیدگی مدل و کاهش Overfitting کمک می‌کند.

🔸 خیلی کم → Regularization ضعیف
🔸 خیلی زیاد → احتمال Underfitting

محدوده مناسب برای شروع: 0.001 تا 0.01

━━━━━━━━━━━━━━━━━━

🟢 7. و پارامتر Batch Size | اندازه Batch

تعداد نمونه‌هایی است که مدل قبل از هر بار به‌روزرسانی وزن‌ها پردازش می‌کند.

🔸 Batch کوچک (16–32)
→ به‌روزرسانی‌های تصادفی‌تر، معمولاً Generalization بهتر، اما نیاز احتمالی به Epoch بیشتر

🔸 Batch بزرگ (256+)
→ آموزش سریع‌تر، اما ممکن است Generalization ضعیف‌تری داشته باشد.

محدوده مناسب برای شروع: 32 تا 256

━━━━━━━━━━━━━━━━━━

🎯 جمع‌بندی برای شروع Tuning

اگر بخواهیم یک نقطه شروع ساده برای یک مدل LSTM داشته باشیم:

📌 Learning Rate → 0.001
📌 LSTM Layers → 2–3
📌 LSTM Units → 50–200
📌 Dropout → 0.2–0.5
📌 Sequence Length → 10–100
📌 L2 → 0.001–0.01
📌 Batch Size → 32–256

⚠️ این مقادیر قانون ثابت نیستند. بهترین Hyperparameterها به اندازه دیتاست، نویز، طول وابستگی‌های زمانی، Seasonality و پیچیدگی مسئله بستگی دارند.

💡 نکته مهم: به‌جای تغییر هم‌زمان همه پارامترها، بهتر است Hyperparameter Tuning را با یک Search Space منطقی و روش‌هایی مثل Random Search، Bayesian Optimization یا Optuna انجام دهید.

#LSTM #DeepLearning #TimeSeries #MachineLearning #HyperparameterTuning #Python #DataScience
15👍4🔥1