In this assignment, you'll be implementing a basic linear regression model. This model will be used to fit 2D data. The fits would be visualized. So the goal here is to find the curve that fits the data the best.
You will be restricted to work with 'model.py' and 'Assignment1-Linear Regression.ipynb'. On running and working through the 'Assignment1-Linear Regression.ipynb', a file named 'hyper_param.json' would be generated.
Data is 2D, and is synthetically generated. You can go through 'utils.py' for details.
- Complete some functions related to linear regression (in models.py)
- predicting values - forward
- loss function - loss
- gradient descent - backward
- Tuning various parameters of the models in order to achieve the best results (in Assignment1-Linear Regression.ipynb)
- Open 'Assignment1-Linear Regression.ipynb' via Jupyter Notebook.
- Work through the 'Assignment1-Linear Regression.ipynb' and follow the instructions therein.
- You need to submit the files: 'models.py', 'Assignment1-Linear Regression.ipynb' and 'hyper_param.json'.
NOTE: We will be testing your results with the help of 'model.py' and the hyperparameters in 'hyper_param.json'.
There is also a hint.pdf, that contains the mathematical workout for linear regression's forward (prediction) and backward (gradient descent) passes. Try to complete the assignment without looking at it, but do consult it if you get stuck.
All the best.