Machine learning is the study of algorithms and statistical models that allow computer systems to perform tasks without being explicitly programmed. It builds mathematical models from sample data to make predictions or decisions. There are four main types of machine learning: supervised learning, unsupervised learning, semi-supervised learning, and reinforcement learning. Machine learning has various applications including web search, computational biology, finance, e-commerce, robotics, and social networks. Key elements of machine learning systems include representation, evaluation, and optimization techniques.