  This is an introductory machine-learning course specifically developed with
STEM students in mind. Our goal is to provide the interested reader with the
basics to employ machine learning in their own projects and to familiarize
themself with the terminology as a foundation for further reading of the
relevant literature. In these lecture notes, 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, clustering, as well as linear regression and linear
classifiers. We continue with an introduction to both basic and advanced
neural-network structures such as dense feed-forward and conventional neural
networks, recurrent neural networks, restricted Boltzmann machines,
(variational) autoencoders, generative adversarial networks. Questions of
interpretability are discussed for latent-space representations and using the
examples of dreaming and adversarial attacks. The final section is dedicated to
reinforcement learning, where we introduce basic notions of value functions and
policy learning.
