Machine learning is a field of study that gives computers the ability to learn without being explicitly programmed. There are three main types of machine learning: supervised learning, unsupervised learning, and reinforcement learning. Supervised learning uses labeled training data to infer a function that maps inputs to outputs, unsupervised learning looks for hidden patterns in unlabeled data, and reinforcement learning allows an agent to learn from interaction with an environment through trial-and-error using feedback in the form of rewards. Some common machine learning algorithms include support vector machines, discriminant analysis, naive Bayes classification, and k-means clustering.