01.112 Machine Learning¶
No. of Credits: 12 Subject Credits
A working knowledge of programming in Python or Java and a strong foundation in probability and statistics, and optimization (topics such as dynamic programming)
Machine learning is the study of algorithms that improve their performance at some task with experience. In this course, students will learn how machine learning has led to many innovative real-world applications. The students will also gain an in-depth understanding of a broad range of machine learning algorithms from basic to state-of-the-art, such as: naïve Bayes, logistic regression, neural networks, clustering, probabilistic graphical models, reinforcement learning and SVMs.
At the end of the term, students will be able to:
- Recognize the characteristics of machine learning that make it useful to real-world problems.
- Explain the basic underlying concepts for supervised discriminative and generative learning.
- Explain the concepts of cross-validation and regularization, be able to use them for estimation of algorithm parameters.
- Characterize machine learning algorithms as supervised, semi-supervised, and unsupervised.
- Have heard of a few machine learning toolboxes.
- Use support vector machines.
- Use regularized regression algorithms.
- Explain the concept behind neural networks for learning non-linear functions.
- Apply unsupervised algorithms for clustering.
- Explain the foundation of generative models.
- Implement the inference and learning algorithms for the hidden Markov model.
- Explain the learning algorithm for hidden Markov model with latent variables.
- Explain algorithms for learning Bayesian networks.
- Explain reinforcement learning algorithms.
- List useful real-world applications of machine learning.
- Implement and apply machine learning algorithms.
- Choose appropriate algorithms for a variety of problems.
This set of course notes was graciously shared by Tey Siew Wen , updated as of 06 February 2020.
Follow her on GitHub and give her your messages of appreciation!