Machine learning is a field of study that allows computers to learn without being explicitly programmed by improving their performance on a task through experience. It works by finding patterns in large amounts of data to optimize a performance criterion. For example, a Twitter program that watches which tweets a user labels as cyberbullying or not in order to better filter such tweets in the future is performing the task of classifying tweets (task T), and improving the number of tweets correctly classified (performance measure P) through experience (E). There are several types of machine learning including supervised learning (classification, regression), unsupervised learning (clustering), semi-supervised learning, and reinforcement learning.