PS2
Welcome to PS2 for CS 320! This homework assignment has 3 parts: gradient descent, bias/variance, and fairness.
Assignment logistics
This is a partner assignment, which means you should complete all pieces of the homework with your assigned partner. (Note that this means you should complete the assignment together. You should not divide-and-conquer.)
Collaboration and academic honesty
You can talk to others in the class about general problem solving strategies, but you should not share code, writing, or specific insights with people other than your partner. The standard class academic honesty policies apply (see the syllabus for more details, but the tldr is that you can freely use (with citation) documentation or materials on Moodle, you can use other static online material with caution, and you cannot use generative AI.) As always, reach out to Anna with and questions about collaboration or AI usage.
Part 1: Gradient descent
In ps2_part1_gradient.ipynb, you'll implement gradient descent from scratch for logistic regression.
Part 2: Hypothesis spaces, bias, and variance
Complete ps2_part2_bias_variance. This one doesn't contain any coding.
Part 3: fairness
In ps2_part2_fairness, you'll analyze the fairness of a model and explore ways to make the model more fair.
Handing in the assignment
To prepare your submission, upload the whole folder to Google drive. Then, open collect_submission.ipynb in Colab and follow the instructions there.
Make sure that only one person in each partnership submits to Gradescope (after submitting, you can add the other partner as a group member).
Grading
Each notebook in this homework will be weighted equally. Each sub-problem will be graded out of 4 points, where 4 indicates mastery, 3 proficency, 2 significant progress, and 1 minimal progress. Your grade for each notebook will be the average of your score on each of its subparts. See Moodle for more details on homework grading.
Tips
- Make sure to save your work, especially in .py files and also in the .ipynb file!
- If your kernel is disconnected (e.g., if you take a break from working), you will need to re-run all previous cells
- Please make sure you've run each notebook, in order, before submitting. I should be able to see all of the cell outputs, and if I rerun the whole notebook, I should see exactly the same cell outputs as what you submit.