This document provides an introduction to machine learning, including definitions of key concepts and methods. It discusses supervised learning techniques like linear regression, logistic regression, decision trees, KNN, and SVM. Unsupervised learning techniques covered are K-means clustering and PCA. Reinforcement learning and deep learning using artificial neural networks are also introduced. Examples of applications in various domains like economy, medicine, gaming and more are provided. Popular programming tools for machine learning like Python, MATLAB, Java, C/C++ and R are listed.