This document provides an overview of machine learning. It discusses how machine learning allows computers to program themselves by learning from examples rather than being explicitly programmed. The key aspects covered are: why machine learning is needed given limitations in human programming and data handling; how machine learning works by training a system on examples and allowing it to learn; and some examples of where machine learning is applied, such as image recognition, natural language processing, and adaptive websites.