Senior Professor,
Dept. of Computer Science and Information Systems
First Semester, BITS F464 (Machine Learning):
Scope and Objectives of the course: This course is an undergraduate course on Machine Learning. ML is the sub-field of Artificial Intelligence. It helps engineers build automated systems that learn from experiences. It helps machines make data-driven decisions. For example, Google Maps for navigation uses the route network, real-time traffic characteristics, time of travel etc. to predict an appropriate path for you using ML algorithms. ML is a muti-disciplinary field, with roots in Computer Science, and Mathematics. ML methods are best described using linear and matrix algebra and their behaviour are best understood using the tools of probability and statistics. By integrating mathematical principles, you will learn to effectively address machine learning challenges, developing a deep understanding similar to that of professional data scientists. According to the latest estimates, 328 million terabytes of data are created daily. With this increasing amounts of data, the need for automated methods for data analysis continues to grow. The goal of this course is to develop methods that can automatically detect patterns in data, and then use the uncovered patterns to predict the future outcomes of interest. This course will cover many ML and Gen AI models and algorithms, including Linear regression, Multi-layer neural networks, Support vector machines, Bayesian networks, Gaussian mixture models, Clustering algorithms, Generative adversarial networks (GANs), RNNs, and Reinforcement learning techniques. Hands-on experience will be emphasized, allowing you to select optimal models and master the essential implementation details critical to their success. Practical sessions (Coding assignments) will involve working with real-world data, enhancing your proficiency in debugging and refining models through various ML techniques. The course objectives are the following:
Course Handout: Click here.
Class Presentations:
Sl. No. |
Topic |
Class Presentations |
1. |
Course Administration and Motivation |
|
2. |
Machine Learning Overview |
|
3. |
Machine Learning Frameworks |
|
4. |
Supervised Learning - I (Version Space) | Click here |
5. |
Supervised Learning - II (Decision Trees/ Random Forests) |
|
6. |
Model Evaluation (Bias, Variance, Cross-validation, Confusion Matrix, Out-of-Bag metric etc.) |
|
7. |
Regression Models (Linear Regression, Logistic Regression, Gradient Descent, Stochastic GD) |
|
8. |
Linear Discriminant Functions for Classification, Least Squares for Classification, Fisher's Discriminant Function |
|
9. |
Probabilistic approach to Machine Learning (Bayesian Networks, Naïve Bayes Algorithm) |
|
10. |
Neural Networks - I (Connectionist Models: Perceptron, Multi Layer Perceptron (MLP), Back Propagation Algorithm, Regularization, Augmentation) |
|
11. |
Neural Networks - II (Convolutional Neural Networks, Recurrent Neural Networks, Autoregressive Models and Generative Adversarial Networks (GANs)) |
|
12. |
Instance-based and Kernel-based Learning (k-Nearest Neighbor (k-NN), and Support Vector Machines (SVMs)) |
|
13. |
Un-supervised learning (K-Means Clustering, Gaussian Mixture Models, Principal Component Analysis (PCA) for feature reduction) |
|
14. |
Re-inforcement Learning (Markov Decision Process and Q-Learning) |
|
Programming Assignments:
Sl. No. |
Problem Definition |
Problem Statement |
1 |
Data Exploration, Pre-Processing and Data Wrangling |
|
2 |
Decision Forests using TensorFlow |
|
3 |
Regression and LDA using TensorFlow |
|
4 |
Gaussian Naïve Bayes and Perceptron |
|
5 |
Mini Project |
Second Semester, CS F211 (Data Structures and Algorithms):
Scope and Objectives of the Course: A data structure is a collection of large amounts of data values, the relationships among them, and the functions or operations that can be applied on them. In order to be effective, data has to be organized in a manner that adds to the effectiveness of an algorithm, and data structures such as stacks, queues, linked lists, heaps, trees, and graphs provide different capabilities to organize and manage large amounts of data. While developing a program or an application, many developers find themselves more interested in the type of algorithm used rather than the type of data structure implemented. However, the choice of data structure used for a particular algorithm is always of paramount importance. For example, B-trees have unique abilities to organize indexes and hence are well suited for implementation of databases; Linked lists are well suited for backtracking algorithms like, accessing previous and next pages in a web browser; Tries are well suited for implementing approximate matching algorithms like, spell checking software or predicting text in dictionary lookups on Mobile phones; Graphs are well suited for path optimization algorithms (like in Google maps) or searching in a Social graph (like Facebook). As computers have become faster and faster, the problems they must solve have become larger and more complex, requiring development of more complex programs. This course will also teach students good programming and algorithm analysis skills so that they can develop such programs with a greater degree of efficiency.
The primary objectives of the course are as under:
At the end of the course, you should understand common data structures and algorithms, be able to develop new data abstractions (interfaces) and use existing library components in C++.
Will appear soon...
This website uses cookies or similar technologies, to enhance your browsing experience.