An algorithm is a set of steps to solve a problem. Supervised learning uses labeled training data to teach models patterns which they can then use to predict labels for new unlabeled data. Unsupervised learning uses clustering and pattern detection to analyze and group unlabeled data. SageMaker is a fully managed service that allows users to build, train and deploy machine learning models and includes components for managing notebooks, labeling data, and deploying models through endpoints.