Partial re-implementation of sklearn.linear_model.LogisticRegression (using only numpy) to illustrate the use of variance reduction methods in stochastic optimization.
-
A small report on the intuition behind stochastic variance reduction in optimisation & how to use the code.
-
Report.ipynb: same as the html report, in case you want to reproduce the results -
Implementation broken down into:
-
linear_model.py -
solvers.py -
Helper functions:
datasets.py,visuals.py,tools.py -
Student performance dataset:
data/
-
To get started with the Report.ipynb notebook, create an environment using the dependencies file:
conda env create --file dependencies.ymlThen launch jupyter-notebook and select Kernel -> Change kernel -> Python [conda env:vrm]

