# Prerequisite topics for machine learning

## Algorithm design and analysis

- time and space complexity, asymptotic notation (e.g., big-\(O\), big-\(\Omega\))
- complexity analysis of iterative and recursive processes
- efficient data processing in Python

## Calculus

- limits of sequences and functions
- derivatives and integrals of common univariate functions
- gradients and Hessians of common multivariate functions
- Taylor expansions and approximations
- classification of stationary points (e.g., minima, maxima) for common multivariate functions

## Linear algebra

- Euclidean vector spaces
- linear maps and fundamental subspaces
- linear operators and orthogonal projections
- eigenvectors and eigenvalues

## Probability and statistics

- discrete probability distributions and random variables
- probability densities and continuous random variables
- conditional probability, Bayes rule
- expectation, conditional expectation, variance
- binomial and normal distributions
- law of large numbers, central limit theorem
- parametric statistical models, maximum likelihood estimation

It is also helpful, but not strictly necessary, to know about the following:

- Poisson and normal approximations
- confidence intervals