CS 452 Machine Learning
The goal of machine learning is to program computers to use example data or past experience to solve a given problem. In this course, students will be introduced to the key concepts, approaches and techniques underlying machine learning, as well as be introduced to the numerous successful applications of machine learning in our world. Students will also gain hands-on experience in implementing machine learning algorithms to solve problems.
To understand and be able to explain the differences between the three main styles of learning: supervised, reinforcement, and unsupervised; and to determine which of the three learning styles is appropriate to a particular problem domain. To be able to implement simple algorithms for supervised learning, reinforcement learning, and unsupervised learning. To be able to evaluate the performance of a simple learning system on a real-world dataset. To be able to explain the problem of overfitting, along with techniques for detecting and managing the problem.
- Overview; Definition and examples of broad variety of machine learning tasks, including classification;
- General statistical-based learning, maximum likelihood;
- Supervised learning: decision trees, neural networks, support vector machines; nearest-neighbor algorithms; unsupervised learning and clustering; introduction to reinforcement learning; cross-validation and performance evaluation; application of machine learning algorithms to data mining.
Labs include a mix of guided inquiry learning using a set of assignments with a deliverable and report, and time to work on open-ended projects with the aid of the lecturer.
- Prerequisites: Programming 2 / CS212 Computer Programming or CS112 Computer Programming for Engineering, EITHER Statistics and Quantitative Methods OR Statistics for Engineering & Economics