A repository of my solutions to the homework assignments, bonus exercise, and final exam for the Fall 2023 installment of CS/CNS/EE 156a: Learning Systems taught by Professor Yaser Abu-Mostafa at the California Institute of Technology.
Requires Python 3.10 and the following packages:
- CVXOPT
- Matplotlib
- NumPy
- pandas
- requests
- scikit-learn
- SciPy
- The
cs156a.pyfile in the main directory acts as a Python module with helper functions that are used throughout the homework assignments and final exam. - The
hwdirectory contains subdirectories for each homework assignment. Within the subdirectories, thehw*.docxandhw*.pdffiles are the writeups, thehw*.pyandhw*.ipynbfiles are functionally equivalent Python scripts and Jupyter Notebooks for the entire assignment, and thep**_**.pyfiles are Python scripts for individual problems. - Similarly, the
finaldirectory contains the writeup infinal.docxandfinal.pdf, a Python script and Jupyter Notebook for the entire exam infinal.pyandfinal.ipynb, and Python scripts for individual problems in thep**_**.pyfiles. - The
bonusdirectory contains the writeup inbonus.docxandbonus.pdf, completed bonus exercise Jupyter Notebook templates inBonus_Part_1.ipynbandBonus_Part_2.ipynb, and model data and figures generated during training in the various subdirectories,*.npy, and*.pngfiles.
Note that the hw*.py and hw*.ipynb files, final.py, and
final.ipynb import cs156a.py, while the p**_**.py files are
standalone Python scripts that only depend on the Python standard
library and the pre-requisite packages listed above.