A set of instructions used in machine learning that allows a computer program to extrapolate information from training data and use what it learns to make predictions about a new input. The math and logic of these algorithms can improve on their own over time as more data is provided.