Code for Stochastic Gradient Descent with following features, written from scratch in complete C++.
- Normalizing the dataset
- Shuffle the dataset
- Split into training and validation dataset
- Allow buffering for large dataset
- Regularization: L1, L2
- Evaluation Metrics: MAE, MSE, r-squared
- Learning rate: Adaptive, Invscaling
- Early Stopping
- Validation Error
- Logging to a file