This course is an introduction to machine learning concepts, techniques, and algorithms. Topics include regression analysis, statistical and probabilistic methods, parametric and non-parametric methods, classification, clustering, and neural networks. This course covers both foundational and practical aspects by (1) discussing the motivations behind popular machine learning algorithms; (2) developing a mathematical foundation for the methods of machine learning; (3) writing programs in Python for implementing machine learning algorithms; and (4) evaluating the designed systems to determine whether they work well for a particular task.
-
Part 1: Fundamentals of Machine Learning
- Review of Python’s main scientific libraries: NumPy, Pandas, and Matplotlib
- Steps in a typical machine learning project
- Learning by fitting a model to data and optimizing a cost function
- Linear regression, regularization, logistic regression, support vector machines, decision trees/random forests, ensemble learning, K-means clustering, DBSCAN
- Challenges of using machine learning systems
-
Part 2: Neural Networks and Deep Learning
- What neural nets are and what they are good for
- Building and training feedforward neural nets or multilayer perceptrons (MLPs)
- Understanding different forms of gradient descent (e.g., Nesterov, RMSProp, and Adam)
- Convolutional neural networks (CNNs) for deep computer vision and recurrent neural nets (RNNs)
- Lecture 1: Introduction to Machine Learning, Basics of Python, Review of Linear Algebra and NumPy PDF