Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
1 Introduction 3
2 Linear Algebra 9
2.1 Vectors and Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Linear Maps and Subspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Norms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4 Algorithm Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5 Matrices with Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.6 Quadratic Forms and Definiteness . . . . . . . . . . . . . . . . . . . . . . . . 30
2.7 Spectral Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.8 Singular Value Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.9 Moore-Penrose Pseudoinverse . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.10 Systems of Linear Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.11 Factorization Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.12 Vector and Matrix Calculus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.13 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3 Probability Theory 63
3.1 Probability Spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.2 Conditional Probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.3 Independence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.4 Random Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.5 Conditional Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.6 Expectations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
vii
3.7 Conditional Expectations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.8 Convergence of Random Variables . . . . . . . . . . . . . . . . . . . . . . . . 80
3.9 Random Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.10 Markov Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.11 Hidden Markov Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.12 Gaussian Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.13 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4 Optimization Theory 97
4.1 Basic Concepts and Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.2 Convex Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.3 Convex Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.4 Subdifferentiability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.5 Convex Optimization Problems . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.6 Duality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.7 Optimality Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
4.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
5 Optimization Problems 147
5.1 Least-Squares Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
5.2 Quadratic Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
5.3 Conic Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
5.4 Rank Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
5.5 Partially Separability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
5.6 Multi-Parametric Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.7 Stochastic Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
5.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
6 Optimization Methods 185
6.1 Basic Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
viii
6.2 Gradient Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
6.3 Newton's Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
6.4 Variable Metric Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
6.5 Proximal Gradient Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
6.6 Sequential Convex Optimization . . . . . . . . . . . . . . . . . . . . . . . . . 221
6.7 Methods for Nonlinear Least-Squares . . . . . . . . . . . . . . . . . . . . . . 223
6.8 Stochastic Optimization Methods . . . . . . . . . . . . . . . . . . . . . . . . 228
6.9 Coordinate Descent Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
6.10 Interior-Point Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
6.11 Augmented Lagrangian Methods . . . . . . . . . . . . . . . . . . . . . . . . . 254
6.12 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
7 Calculus of Variations 273
7.1 Extremum of Functionals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
7.2 The Pontryagin Maximum Principle . . . . . . . . . . . . . . . . . . . . . . . 280
7.3 The Euler-Lagrange Equations . . . . . . . . . . . . . . . . . . . . . . . . . . 286
7.4 Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
7.5 Numerical Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
7.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
8 Dynamic Programming 321
8.1 Finite Horizon Optimal Control . . . . . . . . . . . . . . . . . . . . . . . . . . 322
8.2 Parametric Approximations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
8.3 Infinite Horizon Optimal Control . . . . . . . . . . . . . . . . . . . . . . . . . 333
8.4 Value Iterations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
8.5 Policy Iterations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
8.6 Linear Programming Formulation . . . . . . . . . . . . . . . . . . . . . . . . . 343
8.7 Model Predictive Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
8.8 Explicit MPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
ix
8.9 Markov Decision Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
8.10 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
8.11 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
9 Unsupervised Learning 381
9.1 Chebyshev Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
9.2 Entropy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
9.3 Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
9.4 The Viterbi Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
9.5 Kalman Filter on Innovation Form . . . . . . . . . . . . . . . . . . . . . . . . 406
9.6 Viterbi Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
9.7 Graphical Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
9.8 Maximum Likelihood Estimation . . . . . . . . . . . . . . . . . . . . . . . . . 418
9.9 Relative Entropy and Cross Entropy . . . . . . . . . . . . . . . . . . . . . . . 421
9.10 The Expectation Maximization Algorithm . . . . . . . . . . . . . . . . . . . . 424
9.11 Mixture Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
9.12 Gibbs Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
9.13 Boltzmann Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
9.14 Principal Component Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
9.15 Mutual Information . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 441
9.16 Cluster Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
9.17 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
10 Supervised Learning 461
10.1 Linear Regression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
10.2 Regression in Hilbert Spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
10.3 Gaussian Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
10.4 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
10.5 Support Vector Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
x
10.6 Restricted Boltzmann Machine . . . . . . . . . . . . . . . . . . . . . . . . . . 481
10.7 Artificial Neural Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
10.8 Implicit Regularization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
10.9 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
11 Reinforcement Learning 509
11.1 Finite Horizon Value Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
11.2 Infinite Horizon Value I ...