Machine learning is a branch of artificial intelligence concerned with using algorithms to learn from data and improve automatically through experience without being explicitly programmed. The algorithms build a mathematical model of sample data, known as "training data", in order to make predictions or decisions without being explicitly programmed to perform the task. Machine learning algorithms are often categorized as supervised or unsupervised. Supervised learning involves predicting the value of a target variable based on input variables whereas unsupervised learning identifies hidden patterns or grouping in the data.