This document discusses machine learning techniques for classification and clustering. It introduces case-based reasoning and k-nearest neighbors classification. It discusses how kernels can allow non-linear classification by mapping data to higher dimensions. It describes k-means clustering, which groups data by minimizing distances to cluster means. It also introduces agglomerative clustering, which successively merges the closest clusters.