In Fall 2018, I offered an undergraduate-level class entitled "Machine Learning for Engineers" in the Department of Electrical and Computer Engineering at Rutgers University--New Brunswick. The learning outcomes of this class included:
- Mastery of the basic terminology and concepts in machine learning
- Understanding of the basic building blocks of practical machine learning systems
- Mathematical understanding of commonly used machine learning algorithms
- Ability to develop basic machine learning systems in Jupyter/Python
- Recognition of common pitfalls that come with machine learning systems
As part of the hands-on component of this class, students were required to submit mini Jupyter exercises that reinforced the theoretical concepts learned in class. This repository provides my solutions to these exercises. The best way to view these solutions is using Jupyter's nbviewer, although GitHub's own notebook renderer does an adequate job of displaying many of these notebooks.
All material in this repository is being shared under the MIT License. Please adhere to the requirements listed in the license before using any or parts of this material.
- Exercise #1: Warming-up With Data and Plots
- Exercise #2: Understanding Principal Component Analysis (PCA)
- Exercise #3: Gradient Descent and Parameter Estimation
- Exercise #4: k-Nearest Neighbor Classification