AML / Spring 2016 - Algorithmic Machine Learning
This course aims at providing a solid algorithmic foundation to the design of scalable machine learning algorithms, with particular emphasis on the MapReduce programming model. Students will get familiar with a wide range of topics, including theory and problems of practical interest, such as finding similar items, frequent itemset mining, clustering and supervised learning.
In addition, this course will cover algorithms for mining data streams, and elements of recommender systems.
The expected learning outcomes for students following this course are :
- Learn and apply techniques to design scalable machine learning algorithms, including supervised and unsupervised learning methods and streaming, on-line algorithms
- Learn the Apache Spark programming model, and use this model to design state-of-the-art parallel machine learning algorithms
- Acquire familiarity with existing machine learning libraries, such as ScikitLearn and Pandas, and use such tools to design data processing pipelines
- Apply machine learning algorithms in a variety of practical use cases, using real-life datasets
Students will develop the following skill set :
- Concieve software systems and applications to explore, analyze and exploit large volume of data
- Critical thinking and statistical validation of data analysis results
Understand the steps required to move from prototypes to production systems
Clouds / Fall 2015 - Distributed Systems and Cloud Computing
The course is complemented by a number of lab sessions to get hands-on experience with Hadoop and the design of scalable algorithms with MapReduce.