This document provides an overview of machine learning by defining what learning is, explaining why machine learning is useful, outlining related fields, and describing various machine learning paradigms including supervised learning techniques like decision trees, neural networks, support vector machines, Bayesian networks, and learning logical theories as well as unsupervised and reinforcement learning. Key concepts from computational learning theory are also discussed.