Machine learning is when a program can improve its own performance through experience. These programs learn each time they complete a task and see the results. Being able to develop such programs requires an understanding of computer science, statistics, logic, decision and game theory, optimization, and learning psychology.
This kind of computer programming uses algorithms. Algorithms are a sequence of instructions that allow a program to select data and repeat an experience many times, improving each time.
Check out how a few experts in the field of machine learning define it!