CSCI-4930/5930: Machine Learning

Cross-listed course (ugrad+grad), Student Commons -1500+ Remote, 2020

Welcome to Machine learning course. What is machine learning? It is concerned with the question of how to write computer programs that automatically improve with experience. Over the very recent years, the field has expanded so much in every direction of our daily lives that we mostly are unaware of its existence. But, as a concerned citizen of the world, we are going to know the nuts and bolts of machine learning.

The course is based on fundamental knowledge of computer science principles and techniques, probability and statistics, calculus, and the theory and application of linear algebra. The course provides a broad introduction to pattern recognition from given data and how it can relate to machine learning. Topics include supervised learning, unsupervised learning, semi-supervised learning, neural network, and reinforcement learning algorithms. The course will also discuss recent applications of these machine learning concepts in solving real-world problems.

Course objectives

By the end of the course you are expected to gain the following skills:

  1. Develop an understanding on how to extract patterns from data.
  2. Develop an understanding on a wide variety of machine learning algorithms – how the algorithms work, and their practical usages.
  3. Understand different types of optimization techniques, which are heavily utilized in many of the learning algorithms.
  4. Capable of discussing pros and cons of the learning algorithms.
  5. Be able to implement the covered algorithms in class by themselves using Python programming language.
  6. Apply the algorithms to solve real world problems.


For undergraduates:

  1. MATH-3195 (Linear algebra and differential equations)
  2. CSCI-3412 (Algorithms).

For graduate students:

  1. The graduate standing.

Topics covered

  1. Introduction to Machine Learning
  2. Your first machine learning model, exploratory data analysis and model evaluation
  3. Supervised learning: Regression
  4. Multiple linear regression
  5. Data preprocessing
  6. Logistic regression
  7. Gradient Descent
  8. Evaluating Linear Regression models
  9. Bias-variance tradeoffs
  10. Overfitting, underfitting
  11. Splitting datasets
  12. Logistic regression
  13. Multi-class classification
  14. Introduction to clustering, k-means
  15. Hierarchical clustering algorithm
  16. Introduction to reinforcement learning
  17. Ways to evaluate clustering algorithms
  18. Principal component analysis
  19. Introduction to Support Vector machines
  20. Introduction to Artificial neural Networks
  21. Tensorflow and Keras
  22. Ethics and AI
  23. Naive Bayes classifier
  24. Introduction to Ensemble learning
  25. Ridge and Lasso regressionn
  26. Hyper-parameter tuning
  27. Time-series data analysis