What is the difference between a "learner" and "classifier" in supervised learning? This question stems from Pedro Domingos' excellent paper "A Few Useful Things to Know About Machine Learning." The paper is extremely clear and well-written, but I still have a clarification question. Namely, what is the difference between what Domingos describes on page 1 as a "learner" and a "classifier"? I have largely taken these to by synonymous. The sentence that threw me for a loop in the paper is (again, on page 1): "The test of the learner is whether this classifier produces the correct output yt for future examples xt." I thought this was simply the test of the classifier. Any clarification or further reading suggestions would be greatly appreciated.
 A: I use to find this kind of difference mostly in the world of programmers interested in machine learning. This difference does not appear in the world of statisticians and researchers. 
The idea is that a classifier is a program built by a learner. An illuminating intuition comes from one of the many definitions of machine learning which is programming with data. So, you have data (training set) and from that data using a computer program you build another program (for example a decision tree). The program which builds the decision tree from data is the learner. The decision tree is a classifier, because a classifier is a program which is able to predict, which takes only the input data and for each instance it produces the output data.
An alternative way to understand this is that a learner takes the input $x_1,x_2,..,x_p,y$ and produces a classifier. A classifier takes as input $x'_1,x'_2,..,x'_p$ and produces $y'$.
As I said, in research papers this distinction is hard to find. It seems that the researchers are interested only in how to describe the model. When they come to describe how to build that model, then they talk about a learner, and when they talk about how to predict with that model, then they talk about a classifier. So, a third alternative is a functional one. The function of fitting a model is the function of a learner, while the function of predicting values is a function of a classifier. 
Note that a regressor is the same as a classifier, only the nature of the output is different. 
A: I know this is an old post but I just had the same question as to the OP. Thanks to/based on @rapio's description, this is how I would say the same thing:
Both a learner and a classifier refer to the same thing: a machine learning model. It's just that an ML model has aspects to it while in the training phase which are hidden and taken away when the model is being used for inference.
For example, in the training phase, we have an optimizer that guides the backpropagation algorithm on how to update the model weights. Or the learning rate. These parts of the model are stripped away once the model is done training. In other words, the model that you'll have at inference is not exactly the same concept when you are training it. That's why in some literature, they are referred to by different names.
Basically, when you say "learner" you are putting an emphasis on the aspect of the model that exists only in the training phase. Personally, I wish people would stop nitpicking so much and just call it a model. In my opinion, this level of differentiation is not helping anyone.
