MSML601: Probability and Statistics, 3 credits. The course aims to provide a solid understanding of the fundamental concepts of probability theory and statistics. The course covers the basic probabilistic concepts such as probability space, random variables and vectors, expectation, covariance, correlation, probability distribution functions, etc. Important classes of discrete and continuous random variables, their inter-relation, and relevance to applications are discussed. Conditional probabilities, the Bayes formula, and properties of jointly distributed random variables are covered. Limit theorems, which investigate the behavior of a sum of a large number of random variables, are discussed. The main concepts random processes are then introduced. The latter part of the course concerns the basic problems of mathematical statistics, in particular, point and interval estimation and hypothesis testing. Core.
MSML602: Principles of Data Science, 3 credits. An introduction to the data science pipeline, i.e., the end-to-end process of going from unstructured, messy data to knowledge and actionable insights. Provides a broad overview of what data science means and systems and tools commonly used for data science and illustrates the principles of data science through several case studies. Core.
MSML603 Principles of Machine Learning, 3 credits. A broad introduction to machine learning and statistical pattern recognition. Topics include: Supervised learning: Bayes decision theory, discriminant functions, maximum likelihood estimation, nearest neighbor rule, linear discriminant analysis, support vector machines, neural networks, deep learning networks. Unsupervised learning: clustering, dimensionality reduction, PCA, auto-encoders. The course will also discuss recent applications of machine learning, such as computer vision, data mining, autonomous navigation, and speech recognition. Core.
MSML604 Introduction to Optimization, 3 credits. The course focuses on recognizing, solving, and analyzing optimization problems. Linear algebra overview: vector spaces and matrices, linear transformations, matrix algebra, projections, similarity transformations, norms, eigen-decomposition and SVD. Convex sets, convex functions, duality theory and optimality conditions. Unconstrained optimization: 1D search, steepest descent, Newton’s method, conjugate gradient method, DFP and BFGS methods, stochastic gradient descent. Constrained optimization: projected gradient methods, linear programming, quadratic programming, penalty functions, and interior-point methods. Global search methods: simulated annealing, genetic algorithms, particle swarm optimization. Core.
MSML605 Computing Systems for Machine Learning, 3 credits. This course will deal with the programming, software and hardware design and implementation issues of computing systems for machine learning. Topics in the programming/software domain will include: basic Python program structure, variables and assignment, built-in data types, flow control, functions and modules; basic I/O, and file operations. Classes, object-oriented programming and exceptions. Regular expressions, database access, network programming and sockets. Introduction to the Numpy, Scipy and Matplotlib libraries. Topics in the hardware domain include computer architecture, CPUs, single- and multi-core architectures, GPUs, memory and I/O systems, persistent storage, and virtual memory. Parallel processing architectures, multiprocessing and cluster processing. Core.
MSML606 Algorithms and Data Structures for Machine Learning, 3 credits. This course provides both a broad coverage of basic algorithms and data structures. Sorting, searching, graph and string algorithms. Greedy algorithm, branch-and-bound, dynamic programming and job scheduling. Arrays, linked lists, queues, stacks, and hash tables. Algorithm complexity, best/average/worst case analysis. Applications selected from machine learning problems. Core. Prerequisite: MSML605.
MSML610: Advanced Machine Learning, 3 credits. The course will cover advanced methods and techniques of machine learning. Topics include Bayesian learning, expectation-maximization algorithms, hidden Markov models, probabilistic graphical models, latent variable modeling, and Markov logic networks. Applications to computer vision and information security will be emphasized. Elective. Prerequisite: MSML603.
MSML612: Deep Learning, 3 credits. This course provides an introduction to the construction and use of deep neural networks, that is models that are composed of several layers of nonlinear processing. The class will especially focus on the foundational understanding of the main features in the structure of deep neural nets that make them attractive from the computational point of view and for a sample of applications. Specific topics include the key concept of backpropagation and its importance to reduce the computational cost of the training of the neural nets, a discussion of some of the various coding tools available and how they use parallelization, and a presentation and study of convolutional neural networks. Additional topics may include autoencoders, variational autoencoders, convolutional neural networks, recurrent and recursive neural networks, generative adversarial networks, and attention-based models. The concepts introduced in the class will be illustrated by some examples of applications chosen among various classification/clustering questions, computer vision, natural language processing. Elective. Prerequisite: MSML603.
MSML620: Estimation and Detection, 3 credits. Estimation of unknown parameters, Cramer-Rao lower bound; optimum (MAP) detection and maximum likelihood estimation and detection. Statistical decision theory, Bayes, minimax, Neyman-Pearson, simple and composite hypotheses. Application to coherent and incoherent signal detection, M-ary hypotheses testing. Elective. Prerequisite: MSML601.
MSML621: Machine Learning for Wireless Communication, 3 credits. This course provides an introduction to the fundamental concepts of wireless communications and how machine learning can be applied to the domain. Example applications include signal detection, modulation classification, spectrum sensing, cellular network optimization, and cognitive radio. In addition, students will get hands-on experience using software-defined radios to explore the RF spectrum around them and detect/classify different types of signals. Topics include sampling, filtering, frequency domain/FFTs, digital modulation, cellular/IoT technologies, and how supervised, unsupervised, and reinforcement learning can be applied to these topics. Elective.
MSML630: Numerical Methods, 3 credits. Introduction to error analysis, conditioning and stability of algorithms. Numerical solution of nonlinear equations. Vector spaces, linear transformations and matrix algebra. Gaussian elimination, LU factorization, and matrix inversion. Similarity transformations, diagonalization and Iterative computation of eigenvalues. Interpolation, splines, data fitting with least squares. Numerical integration. Elective. Prerequisite: MSML605.
MSML640: Computer Vision, 3 credits. An introduction to basic concepts and techniques in computer vision. Topics include low-level operations such as image filtering, correlation, edge detection and Fourier analysis. Image segmentation, texture and color analysis. Perspective, cameras and 3D reconstruction of scenes using stereo and structure from motion. Deep learning for object detection, recognition and classification in images and video. Elective. Prerequisite: MSML603.
MSML641: Natural Language Processing, 3 credits. This course will introduce fundamental concepts and techniques for automatically processing and generating natural language with computers. Topics will include speech and morphology, phrase structure. Hypothesis testing, statistical inference and n-gram models. Word sense disambiguation and lexical acquisition. Hidden Markov models, maximum entropy methods, part-of-speech tagging, probabilistic context-free grammars and probabilistic parsing. Statistical alignment, machine translation, clustering and information retrieval. Automatic speech recognition and speech synthesis. Elective.
MSML642: Robotics, 3 credits. This course offers an introduction to the design and programming of robotics systems. Topics include kinematics, differential motion and velocity, dynamics and forces. Sensors, actuators and drive systems. Trajectory planning and motion control systems, open-loop and closed-loop controllers, state estimation and Kalman filters. It will also discuss recent applications of machine learning to motion planning, grasping, manipulation, and related areas. Elective. Prerequisite: MSML603, MSML640.
MSML650: Cloud Computing, 3 credits. The course will present the state of the art in cloud computing technologies and applications. Topics will include: telecommunications needs, architectural models for cloud computing, cloud computing platforms and services. Data center networking, server, network and storage virtualization technologies, and containerization. Cloud operating and orchestration systems. Security, privacy, and trust management; resource allocation and quality of service; interoperability and internetworking. Elective. Recommended prerequisite: DATA/MSML602; MSML605.
MSML651: Big Data Analytics, 3 credits. The course will focus on the challenges, tools and methods to design and implement machine learning algorithms for very large datasets, and the configuration and operation of distributed computing platforms to execute them. Topics include scalable learning techniques, data streaming and data flow analytics, machine learning on large graphs. Massively parallel computing models such as map-reduce, and techniques to reduce the memory, disk storage and/or communication requirements of parallel machine learning algorithms. SQL and no-SQL database systems, distributed file systems, key-value stores, document databases, graph databases and large dataset visualization. Elective. Prerequisite: MSML602, MSML603.