This course is about the application of machine learning (ML) concepts and models to
solve challenging real-world problems.
The emphasis of the course is on the methodological and practical aspects of designing, implementing, and using ML solutions.
Course topics develop around the notion of ML process pipeline, that identifies the multi-staged process of building and deploying an ML solution. An ML pipeline includes:
The process proceeds both forward and backward, iterating each stage until a
satisfactory solution model is built.
The workflow of an ML pipeline is illustrated in the figure below (source: Practical ML with Python).
The course tackles all the stages of the ML pipeline, presenting conceptual insights and
providing algorithmic and software tools to select and implement effective ways of
proceeding and dealing with the challenges of the different stages.
The python ecosystem for data science and ML pandas, numpy, matplotlib, scikit-learn, keras, notebooks is introduced and used to retrieve, store, manipulate, visualize, and perform exploratory analysis of the data.
The first part of the course addresses the data part of the pipeline, from data
mining and collection, to data filtering and processing, to feature engineering for
different types of data (numeric, categorical, textual, image, temporal).
Next, unsupervised learning (UL) techniques are introduced to further operating on the data by learning effective representations, perform dimensionality reduction and data compression. UL techniques include: Clustering models, Principal Component Analysis (PCA), Autoencoders.
Moving from data to techniques for classification and regression, a number supervised ML models are presented, including:
The different models are introduced by a conceptualization of the main
underlying ideas and by providing the algorithmic and software tools necessary to
experiment with the model on different datasets.
A discussion of the aspects of generalization, bias and variance, model evaluation and selection using cross-validation techniques, completes the ML pipeline.
The different techniques are tested and evaluated in problem scenarios from different domains and based on different data types. Selected problem domains include: natural language processing, machine vision, financial forecasting, logistics, production planning, diagnosis and prediction for bio-medical data.
Students who successfully complete the course will have acquired a general knowledge
of the main concepts and techniques of data science and ML, and will be adept
to use ML in different fields of application.
The course will provide the students with a toolkit of different skills needed to effectively go through the entire ML pipeline. The students will acquire conceptual and practical knowledge about:
Having passed either 15-112 or 15-110 with a C (minimum).
The basic notions of linear algebra, calculus, and probability theory that are necessary for the understanding of the formal concepts will be explained assuming no or little previous knowledge.
Grade: 35% Laboratory Assessments, 35% Homework, 30% Project
In addition to the lecture handouts and python notebooks (that will be made available after each lecture), during the course additional material will be provided by the instructor to cover specific parts of the course.
A number of (optional) textbooks can be consulted to ease the understanding of the different topics (the relevant chapters will be pointed out by the teacher), these include, but are not restricted to:
|1/12||General concepts, ML pipeline: Machine learning for data-driven decision making, extracting information from data, finding structures. Machine learning pipeline: from data sources to final model learning and deployment.|
|1/14||General ML scheme, Learning with a teacher (Supervised Learning): Overview of the general ML scheme (from data to features, ML task, ML problem); Supervised Learning as learning with a teacher / supervisor; data labels and error quantification; preparing a labeled dataset: issues, processes; definition of classification and regression tasks; practical examples.|
|1/15||ML Tasks: Supervised Learning (Classification, Regression); feature spaces; geometric view; Unsupervised Learning (Finding patterns and relations, clustering, compression, dimensionality reduction); Reinforcement Learning (Sequential decision-making).|
|1/21||Optmization problems, Generalization, ML Workflow Optmization problem for SL; empirical error; model complexity and overfitting; expected generalization (out-of-sample) error; validation sets and estimation of the generalization error; canonical SL problem; SL workflow; building a model in the ML pipeline; promoting generalization.|
|1/22||Laboratory - Complete example with Python ecosystem for the ML pipeline : Format (CSV, JSON, XML) and sources of data, access and find data on the Internet (HTML/HTTP, Web scraping, Kaggle datasets); a first complete example with data; introduction to Numpy, Scikit-learn, Pandas, Matplotlib, Jupyter notebooks.|
|1/28||Data processing: Data cleaning and filtering, dealing with missing values, duplicates, and outliers, data scaling, aggregation and summarization|
|2/4||Feature extraction, selection and engineering 2: From raw data to features that better represent the underlying problem to the predictive ML models (numeric, categorical, temporal data)|
|2/11||Unsupervised learning for representation learning and finding structure in data: Clustering at work.|
|2/18||Unsupervised learning models for data compression and dimensionality reduction: Vector quantization, Autoencoders|
|2/25||Classification with human-readable models: Decision trees at work in the ML pipeline|
|3/8||Classification with distance-based methods: Nearest neighbors|
|3/10||Classification with distance-based methods: Nearest neighbors at work in the ML pipeline|
|3/17||Model evaluation and selection: Model selection techniques, cross-validation|
|3/24||Classification with parametric models: Support Vector Machines (SVMs)|
|3/31||Classification with probabilistic models: Logistic regression|
|4/7||Regression with non linear models: Feature maps, kernelization|
|4/14||Deep learning models: CNN case study with image/text data|
|4/21||Student Project Presentations I|
|4/22||Student Project Presentations II|
Homework is due on autolab by the posted deadline. Assignments submitted past the deadline will incur the use of late days.
You have 6 late days in total, but cannot use more than 2 late days per homework. No credit will be given for homework submitted more than 2 days after the due date. After your 6 late days have been used you will receive 20% off for each additional day late.
You can discuss the exercises with your classmates, but you should write up your own solutions. If you find a solution in any source other than the material provided on the course website or the textbook, you must mention the source.
In general, for all types of assignments and tests, CMU's directives for academic integrity apply and must be duly followed.
|Gianni Di Caroemail@example.com||Thursdays 4:30-5:30pm + pass by my office at any time ...||M 1007|
|Aliaa Essameldinfirstname.lastname@example.org||TBD||M 1004|