  This is an introductory machine learning course specifically developed with
STEM students in mind. We discuss supervised, unsupervised, and reinforcement
learning. The notes start with an exposition of machine learning methods
without neural networks, such as principle component analysis, t-SNE, and
linear regression. We continue with an introduction to both basic and advanced
neural network structures such as conventional neural networks, (variational)
autoencoders, generative adversarial networks, restricted Boltzmann machines,
and recurrent neural networks. Questions of interpretability are discussed
using the examples of dreaming and adversarial attacks.
