>> The assumption that train and test distributions are similar has served us
phenomenally well.
To clarify, when I say "the (entire) dataset" I mean all the data that one has
at the start of a research project. What I call the "training set" and the
"test set" are partitions of that dataset, used to train and validate a model.
The partitions might be chosen once, or the entire dataset may be split
randomly in training and test partitions during cross-validation, etc.
Now, what I say above is that the distribution of the dataset is known - you
can count the instances in it, etc. What is not known is the distribution of
data in the real world, where the dataset was sampled from. Most of the time,
there is no way to tell whether a dataset is representative of the real world.
Accordingly, there is no guarantee that an accurate model of the dataset is an
accurate model of the real world.
What's more, most of the time you can't measure the performance of a model in
the real world- because you don't know the ground truth. Again, you can
estimate- but you can't calculate.
I think, by "test set" you may mean the real world. In that case, I don't
disagree with what you say- assuming that a dataset is representative of the
real world has "served us well". But, who are "we" and what is our purpose? If
we are talking about machine learning research [1] then yes, that assumption
has served us well: we can submit papers showing results on specific datasets
and have them accepted, because everyone understands that this is the best
anyone can do. And it would be tedious and pointless to accompany every result
with a disclaimer about PAC learning assumptions- "this result is only
meaningful if we accept that our dataset came from the same distribution as
the real world" etc.
However, my concern is that all this only serves to obscure the fact that we
can't really tell how much real progress we are making, as a field. I am going
to side with the Great Satan, Noam Chomsky, on this one- our progress until
now can only be considered progress if we accept the definition of progress
that we have chosen ourselves, that of beating benchmarks and solving
datasets, both chosen completely arbitrarily and with no guarantee that they
have anything to do with, again, the real world.
Now we can have a big, post-modern fight about what is this "real world" I
speak of, if you like :)
___________
[1] I'm on the second year of a machine learning PhD, though I should say it's
symbolic, logic-based machine learning i.e. Inductive Logic Programming- which
perhaps accounts for my preoccupation with subjects the mainstream of machine
learning research today probably finds irrelevant.