GNR 652 - Machine Learning for Remote Sensing - I

GNR 652 - Machine Learning for Remote Sensing - I


Prof Biplab Banarjee

Motivation to take this course:

The main motivation to take this course is to learn the basic concepts of Machine Learning like Supervised and unsupervised learning, Reinforcement learning, Feature Recognition, Neural Networks, etc


Only one section, not a core course

Semester: Spring ‘20

Course Difficulty:

The course content is moderately difficult, but the exams and quizzes are easy. The coding assignments are also of a moderate level.

Time commitment required:

There is 3 hours of lecture time per week. The coding assignment takes around 3-4 hours each to complete. And other assignments around 1 hour each.

Attendance Policy:

75% attendance is compulsory, below that there is a penalty

Grading Policy and Statistics:

The grading was pretty lenient. Around 45% of the class got AB or above. Refer ASC for detailed statistics.


The following prerequisites were preferable but not mandatory

  • Linear Algebra
  • Basic calculus and function optimization
  • Probability
  • Python/Julia

Evaluation Scheme:

  • 25% Mid-semester exam
  • 35% End semester exam
  • 20% Course Project
  • Implement any paper
  • Use ML for some applications (preferably using satellite images)
  • 20% Assignments (Coding and Paper review)
  • 10% Coding assignments (2-3)
  • 10% Assignment/Quiz

Course Contents (in brief):

  • Math refresher– probability, linear algebra, calculus
  • Supervised learning – regression, effects of regularization, loss function, gradient based parameter optimization
  • Supervised learning – Classification: Basic idea, nearest neighbor based classifier, probabilistic classifiers, parameter estimation techniques (maximum likelihood, maximum a posteriori), Gaussian mixture models and expectation maximization, Introduction to graphical models (Bayesian networks, Markov random fields, Conditional random fields, Hidden Markov Model), support vector machines (soft and hard margin, idea of kernel functions)
  • Supervised learning – neural networks for classification and regression (multi-layer perceptron model), derivation of back-propagation, radial basis function networks
  • Unsupervised classification – clustering and density estimation, k-means clustering, graph-cut based clustering, mean-shift clustering and kernel density estimate
  • Dimensionality reduction techniques – idea of feature transformation and feature selection, principal component analysis, independent component analysis, neighborhood component analysis, auto-encoder (basic, denoising, sparse)
  • Semi-supervised learning – probabilistic methods, transductive SVMs, graph based semi- supervised learning
  • Weakly supervised learning – idea of weak supervision, zero-shot, few-shot learning
  • Introduction to deep learning
  • Convolutional networks – architectures in detail, CNN for image classification, semantic image segmentation, and object detection
  • Recurrent networks – basic RNN, LSTM, GRU The above content was described by the professor at start but was not completed during this semester due to covid-19 situation.

Mechanism of Instruction and Teaching Style

The professor taught all theory in class with the help of slides. The tutorials were held by the TA who showed and explained the actual code working. All the assignments were to be submitted on moodle before a given deadline.

Feedback on Tutorials/Assignments/Projects etc

The tutorials and assignments are good and do contribute to one’s learning.

How strongly would you recommend someone for taking this course?

If you are interested in learning ML this course is a good place to begin. If you have already taken any other ML course or plan to take any other ML course, then i won’t recommend you take this course as you won’t learn anything new.

When did you take this course? What will be the ideal semester to take this course? Any other course which can be done before this?

I took this course in the 6th sem but this course can be taken in the 4th sem as well.

Feedback on Exams:

The Endsem didn’t happen due to Covid-19. The Midsem and the quizzes were easy.

Importance of course:

This course is very important as it teaches Machine Learning. ML has gained importance everywhere. ML is being used in various researches as well as in non-core sectors like finance. And also knowing ML makes you eligible for many IAFs/JAFs as many companies have Machine Learning as an eligibility criteria.

References used:

  • Understanding Machine Learning. Shai Shalev-Shwartz and Shai Ben-David. Cambridge University Press. 2017. Available online.
  • Pattern recognition and machine learning by Christopher Bishop, Springer Verlag, 2006.
  • Hastie, Tibshirani, Friedman The elements of Statistical Learning Springer Verlag
  • T. Mitchell. Machine Learning. McGraw-Hill, 1997.
  • Deep Learning by Ian Goodfellow, Yoshua Bengio and Aaron Courville, MIT Press, 2016 (some chapters).

Youtube courses of – Ali Ghodsi, Nando De Freitas and many more

  • Coursera & Andrew NG

Review by: Rohan Gulve