Machine Learning for Problem Solving

Units: 12

Description: Machine Learning (ML) is centered around automated methods that improve their own performance through learning patterns in data, and then using the uncovered patterns to predict the future and make decisions. ML is heavily used in a wide variety of domains such as business, finance, healthcare, security, etc. for problems including display advertising, fraud detection, disease diagnosis and treatment, face/speech recognition, automated navigation, to name a few. “If I had an hour to solve a problem I'd spend 55 minutes thinking about the problem and 5 minutes thinking about solutions.” — Albert Einstein “A problem well put is half solved.” — John Dewey This course aims to equip students with the practical knowledge and experience of recognizing and formulating machine learning problems in the wild, as well as of applying machine learning techniques effectively in practice. The emphasis will be on learning and practicing the machine learning process, involving the cycle of feature design, modeling, and scaling. “All models are wrong, but some models are useful.” — George Box As there exists “no free lunch”, we will cover a wide range of different models and learning algorithms, which can be applied to a variety of problems and have varying speed-accuracy-scalability tradeoffs. In particular, the topics include generalized linear models, decision trees, bayesian networks, network-based classification, density estimation, latent factor models, feature selection, ensemble methods, and instance-based learning. The class will include biweekly homework each containing a mini-project (i.e., a problem solving assignment that involves programming) in addition to other conceptual and technical questions, a midterm, a final exam, and a longer-term project. The term project gives students a chance to dig into an area of their choice and apply machine learning concepts to a substantial problem in that area. This course is designed to give a graduate-level student a thorough grounding in the methodologies, technologies, and best practices used in machine learning. This course does not assume any prior exposure to machine learning theory or practice. The prerequisites are basic knowledge of linear algebra and probability as well as proficiency in a programming language of choice. For course related details (syllabus, assignments, etc.) see: http://www.andrew.cmu.edu/user/lakoglu/courses/95828/index.htm

Prerequisites: Students are expected to have the following background: • Basic knowledge of probability • Basic knowledge of linear algebra • Working knowledge of basic computing principles • Basic programming skills at a level sufficient to write a reasonably non-trivial computer program in a language of preference

Syllabus: 95-828_Machine_Learning_Syllabus_S17.pdf