CS6301: Machine Learning for Engineers and Scientists
3 Credit Course, ECSS 2.311, 2019
Spring 2019
This is a previous offering of this class. See the teaching page for current courses.
Course Overview
Class Hours: Mo/We 10:00–11:15am
Class Room: ECSS 2.311
Instructor: Gautam Kunapuli
Office: ECSS 2.717
Email: Gautam-dot-Kunapuli-@-utdallas-dot-edu
Office Hours: Wednesdays, 2:30pm-4:30pm; and by appointment
Teaching Assistant: Siwen Yan
Email: Siwen-dot-Yan-@-utdallas-dot-edu
Office Hours: Tuesdays and Fridays, 1:00pm-2:30pm at ECSS 2.104A1
Course Description
The main aim of the course is to provide Engineers and Scientists with a hands-on understanding of a broad variety of machine-learning algorithms. The course introduces several key as well as emerging/state-of-the-art machine learning alogrithms with a view toward practical usage and applications. The course aims to explore applications of machine learning in engineering, bioinformatics, economics, computer vision and many others as well as good machine learning practices in data pre-processing, modeling and evaluation.
Python Resources
The programming assignments will require coding in Python and will primarily use scikit-learn to explore various machine-learning algorithms. The following books may be useful as a quick introduction to Python:
- A Whirlwind Tour of Python (and its companion repository of Jupyter Notebooks) by Jake VanderPlas is “…a fast-paced introduction to essential components of the Python language for researchers and developers who are already familiar with programming in another language” [author];
- Python Data Science Handbook by Jake VanderPlas (and its companion repository of Jupyter Notebooks) “introduces the core libraries essential for working with data in Python: particularly IPython, NumPy, Pandas, Matplotlib, Scikit-Learn, and related packages” [author].
The following books are also useful references if you want to learn Python from scratch:
- Think Python: How to Think Like a Computer Scientist by Allen B. Downey;
- Automate the Boring Stuff with Python by Al Sweigart.
Textbooks and Course Materials
There is no required textbook for this class. However, the following books are useful references for various topics we will cover in this course:
- Pattern Recognition and Machine Learning by Christopher M. Bishop; this is a standard textbook and reference for introductory machine learning;
- Machine Learning: a Probabilistic Perspective by Kevin Murphy; another excellent book and reference, especially for probabilistic graphical models.
The following books are available online, free for personal use. Supplemental reading material will be assigned from these sources as often as possible.
- The Elements of Statistical Learning: Data Mining, Inference, and Prediction by Trevor Hastie, Robert Tibshirani and Jerome Friedman (available online)
- Deep Learning by Ian Goodfellow, Yoshua Bengio and Aaron Courville (available online) is an excellent introductory textbook for a wide-variety of deep learning methods and applications.
For even more online resources, see Awesome Machine Learning, Joseph Misiti’s curated list of Machine Learning books, frameworks, libraries and software.
Syllabus and Schedule
Week | Date | Topic | Readings | Notes |
---|---|---|---|---|
1 | Jan 14 (mo) | Introduction & Linear Regression | Bishop, Ch. 1 | |
Jan 16 (we) | Linear Regression (continued) | Andrew Ng’s Lecture Notes, Part I; Shalev-Shwartz & Ben-David, Ch. 9.2; Kilian Weinberger’s Lecture Notes (probabilistic view) | ||
2 | Jan 21 (mo) | Martin Luther King Day No class | ||
Jan 23 (we) | Perceptron | Kilian Weinberger’s Lecture Notes | ||
3 | Jan 28 (mo) | Perceptron (continued) | Computational complexity of GD vs. Stochastic GD | HW1 Out |
Jan 30 (we) | Support Vector Machines | Andrew Ng’s Lecture Notes; Bishop, Ch. 7 | ||
4 | Feb 4 (mo) | Support Vector Machines (continued) | ||
Feb 6 (we) | Decision Trees | Mitchell, Ch. 3; Kilian Weinberger’s Lecture Notes | ||
5 | Feb 11 (mo) | Decision Trees (continued) | HW1 Due HW2 Out | |
Feb 13 (we) | Nearest Neighbor Methods | Daumé III, Ch. 3 | ||
6 | Feb 18 (mo) | Good Machine Learning Practices pre-processing, model selection, cross validation, missing data, evaluation | Kotsiantis et al., 2006 | |
Feb 20 (we) | Good Machine Learning Practices (continued) | |||
7 | Feb 25 (mo) | Naive Bayes | Jerry Zhu’s Lecture Notes; Mitchell 2nd ed. Ch. 3.1-3.2; Daumé III, Ch. 9 | HW2 Due HW3 Out |
Feb 27 (we) | Naive Bayes (continued); Logistic Regression | Mitchell 2nd ed. Ch. 3.3-3.5; Bishop, 8.4.1, 9.2, 9.3, 9.4; Andrew Ng’s Lecture Notes, Pt II; Kilian Weinberger’s Lecture Notes | ||
8 | Mar 4 (mo) | Logistic Regression (continued) | Mid-Term Projects Begin | |
Mar 6 (we) | Ensemble Methods: Bagging | Bishop, Ch. 14; Hastie et al., Ch. 7.1-7.6, 8.7; Visualization of the Bias-Variance Tradeoff | ||
9 | Mar 11 (mo) | Ensemble Methods: Boosting | Hastie et al., Ch. 15; Freund and Schapire, 1999 | HW3 Due |
Mar 13 (we) | Ensemble Methods: Gradient Boosting | Friedman, 99; Mason et al., 99; Visualizing Gradient Boosting; Tong He’s Presentation on XGBoost | ||
10 | Mar 18 (mo) | Spring Break No class | ||
Mar 20 (we) | Spring Break No class | |||
11 | Mar 25 (mo) | Clustering | Tan et al., Ch. 8 | |
Mar 27 (we) | Clustering (continued) Principal Components Analysis | Andrew Ng’s Lecture Notes, Pt II | Mid-Term Projects Due HW4 Out | |
12 | Apr 1 (mo) | Principal Component Analysis (continued) | ||
Apr 3 (we) | Neural Networks | Goodfellow et al., Ch. 6 | Final Project Teams, Proposal Due | |
13 | Apr 8 (mo) | Neural Networks (continued) | ||
Apr 10 (we) | Convolutional Neural Networks | Goodfellow et al., Ch. 9 | HW4 Due | |
14 | Apr 15 (mo) | Recurrent Neural Networks | Goodfellow et al., Ch. 10 Kishan Athrey’s Tutorial on Keras | |
Apr 17 (we) | Other Machine Learning Areas | |||
15 | Apr 22 (mo) | Project Presentations Attendance is mandatory | Presentations | Presentation Guidelines |
Apr 24 (we) | Project Presentations Attendance is mandatory | Presentations | ||
16 | Apr 29 (mo) | Project Presentations Attendance is mandatory | Presentations | |
May 1 (we) | Project Presentations Attendance is mandatory | Presentations | Last day of classes | |
xx | May 8 (we) | Final Project Reports Due |
The topic schedule is subject to change at the instructor’s discretion. Please check this page regularly for lecture slides, additional references and reading materials.
Grading
The grading rubric is subject to change at the instructor’s discretion. Please check this page at the start of the semster.
- 50%, Homework (4, each 12.5%)
- 20%, Mid-term Project
- 30%, Final Project
Course Policies
Attendance Policy
Classroom attendance for all lectures is mandatory. Prolonged absence from the lectures may lead to substantial grade penalties:
- two consecutive absences, no penalty;
- 3 consecutive absences: 1 letter grade drop;
- 4 consecutive absences, F grade.
Absence due to emergency or extenuating circumstances can be excused, but proof may be required.
Homework Policy
Homework assignments are due at the start of class on the due date without exceptions, unless permission was obtained from the instructor in advance. Homework and assignment deadlines will not be extended except under extreme university-wide circumstances such as weather emergencies.
All homeworks, programming projects, take-home exams (if any) are to be written up and completed individually. You may discuss, collaborate, brainstorm and strategize ideas, concepts and problems with other students. However, all written solutions and coded programs must be your own. Copying another student’s work or allowing other students to copy your work is academically dishonest.
Academic Integrity
All students are responsible for adhering to UT Dallas Community Standards and Conduct, particularly regarding Academic Integrity and Academic Dishonesty. Any academic dishonesty, including, but not restricted to plagiarism (including from internet sources), collusion, cheating, fabrication, will result in a zero score on the assignment/project/exam and possible disciplinary action.
Students with Disabilities
UT Dallas is committed to equal access in all endeavors for students with disabilities. The Office of Student Accessability (OSA) provides academic accommodations for eligible students with a documented disability. Accommodations for each student are determined by OSA on an individual basis, with input from qualified professionals. Accommodations are intended to level the playing field for students with disabilities, while maintaining the academic integrity and standards set by the University. If you think you qualify for an academic accommodation, please visit OSA to determine eligibility.
If you have already received academic accommodation, please contact me by e-mail to schedule an appointment before classes start, if possible.