CS 273P: Machine Learning and Data Mining Winter 2021
||HH 262 MW 6:30-7:50pm
||DBH 4088 Wed 2-3pm
Homework: You may discuss each assignment with others, but are
required to code and write up each assignment independently.
Late homework policy: If you get a note from the Student's Office
(personal problems) or infirmary (medical problems) requesting
a postponement, it will be honored. Otherwise, late homework
will not be accepted.
Textbooks (not required)
- Course description
How can a machine learn from experience, to become better at a given task? How can we automatically extract knowledge or make sense of massive quantities of data? These are the fundamental questions of machine learning. Machine learning and data mining algorithms use techniques from statistics, optimization, and computer science to create automated systems which can sift through large volumes of data at high speed to make predictions or decisions without human intervention.
Machine learning as a field is now incredibly pervasive, with applications from the web (search, advertisements, and suggestions) to national security, from analyzing biochemical interactions to traffic and emissions to astrophysics. Perhaps most famously, the $1M Netflix prize stirred up interest in learning algorithms in professionals, students, and hobbyists alike; now, websites like Kaggle host regular open competitions on many companies' data.
This class will familiarize you with a broad cross-section of models and algorithms for machine learning, and prepare you for research or industry application of machine learning techniques.
- Lecture schedule
- Course Introduction
- Model Complexity; Nearest Neighbors
- Bayes Classifiers; Naive Bayes; Bayes Error
- Linear Regression, Gradient Descent, Cross Validation, Regularization
- Linear Classification, Perceptron, Logistic Regression, Multi-Class, Cross-Entropy
- VC dimension, Structural risk minimization, AIC, BIC
- SVM, Lagrangian and Dual, Kernel Trick
- Decision Trees, Entropy, Information Gain
- Neural Nets, Back Propagation, Convolutional Neural Nets
- Ensemble of learners, Bagging, Boosting
- Clustering, K-Means, Agglomerative clustering, Gaussian Mixtures, EM
- Latent spaces models, PCA, SVD, Eigen-face, Recommendation Systems
- Reinforcement Learning, MDP, Value function, Policy iteration, Monte Carlo, TD, Q-learning
- Programming Assignments
Intro to AI, Calculas, Linear Algebra, Python Programming
- Grading Policy
- Assignments: 30%
- Course Project: 15%
- Mid-term: 20%
- Final: 30%
- Participation: 5%
- Class participation, Polls, Discussions on Piazza, etc
- Homework Policy
We will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates and myself. Rather than emailing questions to me, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email firstname.lastname@example.org.
- Machine learning by Kevin P. Murphy
- Deep Learning by Goodfellow, Bengio and Courville
Find our class page at: https://piazza.com/uci/winter2021/cs273p/home
For assignments you are allowed to discuss the assignments verbally with other class members, but you are not allowed to look at or to copy anyone else's written solutions or code. All problem solutions and code submitted must be material you have personally written during this quarter, except for any standard library or utility functions.
For class projects all reports submitted must be written by you or members of your project team. Code generated for class projects can be a combination of code written by team members and publicly-available code. You should clearly indicate in your reports and in your code documentation which parts of your code was written by you or your team and which parts of your code was written by others.
Academic honesty is a requirement for passing this class. Any student who compromises the academic integrity of this course is subject to a failing grade. The work you submit must be your own. Academic dishonesty includes, but is not limited to copying answers from another student, allowing another student to copy your answers, communicating exam answers to other students during an exam, attempting to use notes or other aids during an exam, or tampering with an exam after it has been corrected and then returning it for more credit. If you do so, you will be in violation of the UCI Policies on Academic Honesty (see link). It is your responsibility to read and understand these policies. Note that any instance of academic dishonesty will be reported to the Academic Integrity Administrative Office for disciplinary action and may be cause for a failing grade in the course.