Aim of course:
To familiarize students with implementation of optimization algorithms, combinatorial optimization problems, algorithms for statistics, machine learning and deep learning, algorithms for sampling, simulation, Bayesian inference, and other dynamical, stochastic models, using programming languages like Python, R and Matlab. The course will involve 3 hours of Lab practice along with 1 hour of theory per week. The course will cover a subset of the major topics listed below. Some examples are listed for each of the topics. The theory sessions would involve discussions related to some of the examples given under the listed topics. The Lab practice sessions will involve implementation of models discussed during the theory sessions.
Major Contents:
Theory and Implementation of Numerical Optimization Schemes: e.g. Gradient (or Steepest) descent, Newton’s method, Coordinate optimization method, Quasi Newton methods like BFGS, Proximal methods. Theory and Implementation of Stochastic optimization, variance reduction and acceleration methods: e.g. stochastic gradient descent, stochastic averaged gradient, Nesterov Acceleration, Nonlinear acceleration. Theory and Implementation of Algorithms for Machine Learning Problems: Using optimization methods developed for numerical optimization to implement classification, regression and clustering algorithms in statistics and machine learning. Theory and Implementation of Combinatorial Optimization Problems: e.g. Travelling Salesperson Problem, Set Covering Problem, Knapsack problem, Simulated Annealing. Theory and Implementation of Algorithms for Deep Learning: e.g. Backpropagation algorithm, Adam, AMSGrad for Deep Feedforward and Convolution networks. Theory and Implementation of sampling and simulation algorithms: e.g. Markov Chain Monte Carlo methods, Thompson sampling, Adaptive sampling methods, simulations of multivariate processes. Theory and Implementation Bayesian Inference models: e.g. Expectation Maximization, Bayesian Networks. Other Dynamical and Stochastic Models: e.g. Queueing models (M/M/1, M/G/1 etc.), numerical methods for solving Integral equations, ODEs, PDEs.Text and References
