/machine-learning

Slides and Python code examples for undergraduate machine learning

Primary LanguageJupyter Notebook

Machine Learning

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.

Course Structure

  • 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)

Slides

  • Lecture 1: Introduction to Machine Learning, Basics of Python, Review of Linear Algebra and NumPy PDF

  • Lecture 2: Review of Linear Algebra and Python Libraries PDF

  • Lecture 3: Linear Regression (Gradient, Polynomial Regression, and Regularization) PDF

  • Lecture 4: Logistic Regression and Classification PDF

  • Lecture 5: SVMs, Decision Trees, and Random Forests PDF

  • Lecture 6: Unsupervised Learning and Clustering PDF

  • Lecture 7: Neural Networks and Keras PDF

  • Lecture 8: Training Deep Neural Networks (Regularization and Optimization) PDF

  • Lecture 9: Introduction to Convolutional Neural Networks PDF