- Final update: 2018. 12. 15.
- All right reserved @ Il Gu Yi 2018
- Implementation various optimization algorithms based on gradient descent
- Only use numpy, don't use deep learning framework like TensorFlow
- Low level coding in each algorithm
- Python 3.6
numpy
,matplotlib
- Jupyter notebook
- OS X and Linux (Not validated on Windows but probably it might work)
- Gradient Descent
- Stochastic Gradient Descent
- Coordinate Gradient Descent
- Linear Regression with 5 optimizers
- Gradient Descent
- Momentum
- Nesterov Momentum
- Adagrad (paper link)
- RMSprop (Tieleman and Hinton's Lecture slide, 2012)
- Adam optimizer (arXiv:1412.6980)
- optimizer implemented by TensorFlow
- optimizer implemented by TensorFlow for plot
- S. Ruder, An overview of gradient descent optimization algorithms (arXiv:1609.04747)
- S. Ruder's blog: An overview of gradient descent optimization algorithms (the same content as above)
- Louis Tiao's blog: Visualizing and Animating Optimization Algorithms with Matplotlib
- Some codes for 3D plot and contour plot are borrowed from this blog
Il Gu Yi