$24
Note:
You are expected to submit both a report and code. For your code, please include clear README files. When not specifically mentioned, use the default data provided in our program package.
“########## Please Fill Missing Lines Here ##########” is used where input from you is needed.
1. Linear Regression
In LinearRegression\linearRegression.py, fill in the missing lines in the python code to estimate , using (1) closed-form solution, (2) batch gradient descent, and (3) stochastic gradient descent.
Report the learned weights and MSE (Mean Square Error) in the test dataset for each version, are they the same and why?
Apply z-score normalization for each feature x and report whether the normalization affect and MSE (Mean Square Error) in the test dataset, for all
three versions of the algorithm, and why?
2. Logistic Regression and Model Selection
In LogisticRegression\LogisticRegression.py, fill in the missing lines in the python code to estimate , using (1) batch gradient descent and (2) Newton Raphson method.
a. Report the learned weights and accuracy (Mean Square Error) in the test dataset for each version, are they the same and why? Discuss the pros and cons of the two methods.
b. Similar to linear regression, regularization can be added to logistic regression.
Consider the new objective function as:
( ) = − ∑( − log(1 + exp{ }))/n + ∑ 2
=0
dimensionality of attributes. Please compute its first derivative ( ) and where n is the total number of data points in the training dataset and p is the
implement a regularized batch gradient descent algorithm accordingly. Discuss how the regularization is affecting the training loss (in terms of average log likelihood) and test accuracy based on the experimental results.