Credits: 1 (0-0-2)
Description
About one third of the course will be devoted to programming aspects. One third would be devoted to assignments and experiments, and one third to a term project.
Refresher on fundamentals of python programming. Implementation of linear models (linear, logistic and polynomial regressors) from scratch without using libraries, implementation of naive Bayes, verification of perceptron convergence algorithm, validation of different regularization techniques, generation of biasvariance curves; Kernel machines - Experiments with hyperparameters, effect of kernel functions, margins. Implementation and study of classification and regression trees, back-propagation, dropout, batch normalization; study of choice of loss functions on deep neural network performance. Implementations of a CNN, GRU on image and sequential tasks. ML on edge - Implementation and optimization of algorithms on edge hardware such as FPGA. Term project - Proposing, solving and implementing a real-world ML problem.