Machine learning
with Agha Ali Raza
CS 535/EE 514 Machine Learning (Fall 2020)
Description
Machine learning (ML) techniques allow computers to adapt to data and solve new problems that are related to previously encountered problems, more efficiently. Such techniques allow machines to perform useful exploratory and predictive tasks without being explicitly programmed. ML finds its applications in speech recognition and synthesis, machine translation, object recognition, chat bots, question-answering, natural language understanding, anomaly detection, medical diagnosis and prognosis, autonomous vehicles and robots, time series forecasting, and much more. This introductory course covers the theoretical foundations and practical applications of ML and the design, implementation, and analysis of various ML algorithms. Students will learn to compare across and choose the most appropriate algorithms for various problem types and be able to design and implement their solutions. Students will be prepared for both industry and academia as well as for pursuing advanced courses.
People
Dr. Agha Ali Raza
Instructor
Haris Bin Zia
Teaching Assistant
M. Usama Saleem
Teaching Assistant
M. Hashim Javed
Teaching Assistant
Hira Dhamyal
Teaching Assistant
Course Objectives
The goal of this course is to get the students excited about Machine Learning and to enable them to:
Develop a strong grip on the theory behind statistical learning
Understand and rigorously go through the phases of the design, implementation, and evaluation of fundamental ML algorithms
Choose the appropriate algorithm for each problem type and be able to compare the strengths and weaknesses of algorithms
Appreciate the end-to-end organic integration of ML in its application areas all the way from data sources, annotation pipelines, and choice of algorithms to societal biases, explainability of models and potentials to impact and even disrupt existing processes
Learning Outcomes
By the end of the course, students should be able to:
Develop an appreciation for what is involved in learning models from data, and integrating ML in existing real-world processes
Thoroughly understand the ML pipeline from design and data gathering to meaningful and relevant evaluation
Learn a wide variety of learning algorithms, and formulate and implement solutions to machine learning problems
Apply algorithms to real-world problems, optimize the trained models and report on the expected performance
Material
Textbooks
Machine Learning, Tom Mitchell, McGraw Hill, 1997 – TM
The Elements of Statistical Learning: Data mining, Inference, and Prediction, Hastie, Trevor, Robert Tibshirani, and Jerome Friedman, Springer Science & Business Media, 2009 – ESLII
Reference books
Speech and Language Processing by Jurafsky and Martin, Ed 3 (online draft) – SLP
Machine Learning: A Probabilistic Perspective, Murphy, Kevin P. MIT press, 2012 – Murphy.
Pattern Recognition and Machine Learning, Christopher M. Bishop, Springer, 2006 – Bishop.
Introduction to Machine Learning, Ethem Alpaydin, Ed 2, MIT Press, 2010 – Alpaydin.
Deep Learning, Ian Goodfellow and Yoshua Bengio and Aaron Courville, 2016 – Goodfellow
Course Overview
Lectures
Assignments
Acknowledgements
Our special thanks to Professors Roni Rosenfeld, Kilian Weinberger, Andrew Ng, Sarmad Hussain, Dan Jurafsky, James H. Martin, Christopher Manning, and Victor Levrenko, whose Machine Learning, Natural Language Processing, and Speech Processing courses inspired the contents of several lectures in this series.
We would also like to express our gratitude towards Kalid Azad (Better Explained), Joshua Starmer (StatQuest), and Grant Sanderson (3blue1brown), as their amazing educational videos motivated and simplified several complex explanations in this course.