This document discusses supervised and unsupervised machine learning. Supervised learning uses labeled training data to learn a function that maps inputs to outputs. Unsupervised learning is used when only input data is available, with the goal of modeling underlying structures or distributions in the data. Common supervised algorithms include decision trees and logistic regression, while common unsupervised algorithms include k-means clustering and dimensionality reduction.