Machine learning is a feature that allows systems to automatically learn and improve from experience without being explicitly programmed. There are two main types of machine learning problems: supervised learning, where the system is provided example inputs and outputs, and unsupervised learning, where there is no labeled data provided. Machine learning is used in applications such as spam filtering, natural language processing, recommendations, face and object recognition, and autopilot systems.