Hyperparameter Tuning & Model
Optimization
• Enhancing ML/DL Model Performance
Introduction
• Model performance depends on data &
architecture but also on hyperparameters.
• Hyperparameters: Configurations set before
training (e.g., learning rate, batch size).
• Objective: Find hyperparameters that
minimize validation error.
Hyperparameters vs Parameters
• Parameters: Learned from data (Weights,
Biases)
• Hyperparameters: Set before training
(Learning rate, # layers, Batch size)
Common Hyperparameters
• Learning Rate (LR)
• Batch Size
• Epochs
• Number of Layers/Neurons
• Regularization (Dropout, L2)
• Optimizer Choice (SGD, Adam, RMSProp)
Hyperparameter Tuning
Techniques
• 1. Manual Search
• 2. Grid Search
• 3. Random Search
• 4. Bayesian Optimization
• 5. Hyperband & Population-Based Methods
Manual Search
• Manually pick hyperparameters and observe
performance
• Pros: Simple, no extra libraries
• Cons: Slow, inefficient
Grid Search
• Exhaustive search over predefined parameter
grid
• Pros: Systematic, easy to implement
• Cons: Computationally expensive
• Python Example:
• from sklearn.model_selection import
GridSearchCV
• from [Link] import
RandomForestClassifier
Random Search
• Randomly sample hyperparameters from
defined ranges
• Pros: Faster, often better
• Cons: May miss some combinations
• Python Example:
• from sklearn.model_selection import
RandomizedSearchCV
• from [Link] import randint
• param_dist = {'n_estimators': randint(50,200),
Bayesian Optimization
• Uses probabilistic model to predict best
hyperparameters
• Iterative: sample -> fit -> choose next
• Pros: Efficient
• Cons: Complex to implement
Hyperband & Population-Based
Methods
• Hyperband: allocate resources efficiently,
discard poor configs
• Population-Based Training: parallel models,
evolve hyperparameters
• Pros: Efficient
• Cons: Complex, needs parallelism
Learning Rate Scheduling
• Adjust LR during training for better
convergence
• Schedulers: Step Decay, Exponential Decay,
Cosine Annealing
• Python Example:
• import [Link] as optim
• from [Link].lr_scheduler import
CosineAnnealingLR
• optimizer = [Link]([Link](),
lr=0.01)
Regularization Techniques
• Dropout: randomly deactivate neurons
• L1/L2 Regularization: penalize large weights
• Early Stopping: stop training when validation
loss stops improving
Model Optimization Workflow
• 1. Select Model Architecture
• 2. Define Hyperparameter Space
• 3. Choose Search Strategy
• 4. Train & Evaluate
• 5. Adjust & Repeat
Case Study Example
• Dataset: MNIST Handwritten Digits
• Task: Digit Classification
• Process:
• Baseline CNN -> 92% accuracy
• Hyperparameter Tuning -> 98% accuracy
Comparison Table of Techniques
• Manual: Simple, Slow
• Grid Search: Systematic, Expensive
• Random Search: Faster, often better
• Bayesian Opt: Efficient, Complex
• Hyperband/PBT: Very efficient, needs
parallelism
Key Takeaways
• Hyperparameter tuning is crucial for high
performance
• Random search often outperforms grid search
• LR scheduling & regularization boost
generalization
• Automated tools like Optuna, Ray Tune save
time
References
• Goodfellow et al., Deep Learning, 2016
• Scikit-learn documentation: GridSearchCV &
RandomizedSearchCV
• PyTorch Learning Rate Scheduler
Documentation