Machine learning is a way to teach computers to learn without explicitly programming them. This technique has been used in various industries. For example, you may have noticed that Facebook can automatically tag friends' faces from your pictures, or your email box can prevent spam emails for you. That's all marching learning. We probably use it tons a day without even knowing it.
Machine learning is used to solve two kinds of problems: Classification Problems and Regression Problems. We call it Classification Problems because we expect the computer's responses (learning results) fall into categories. For example, if we ask a computer to predict the weather at 5pm tomorrow, it will tell us it's going to be sunny, cloudy, rainy or something else. Regression Problem is different. The computer responds us with a continuous value. For example, we ask a computer to predict stock price based on historical number, the response it gives will be still be a number.
There are two types of machine learning: supervised and unsupervised.
A computer under supervised learning needs a set of the training data, so that it can come up our desired responses. It's like humans teach the computers by holding their "hands". For example, in order to make computer understand the red color, we feed the computer various levels of red color, so that it can judge if a color is red the next time.
A computer under unsupervised learning makes inferences by itself based on data. For example, it figures out data patterns from a sea of information, and groups similar patterns together.
To enable machine learning, specifically supervised learning, people have to build a model around this training & problem-solving process. The goal is trying to minimize the gap between the computer's responses and the reality.
That's where I am now learning how computers learning from humans :)
Credit: Coursera Machine Learning course, by Andrew Ng