6 ms·
Generalization in this context is usually a very specific technical term that means after training on a training set, the fitted model continues to perform well
by mlthoughts2018 8y ago
Generalization in this context is usually a very specific technical term that means after training on a training set, the fitted model continues to perform well when used on previously unseen examples (a test set) that came from the same distribution (data generating process) that Nature used to produce the training set.
You can define other notions of generalization that try to be more than this, like generalizing to multiple tasks or an algorithm capable of playing any turn-based perfect information game, etc., but that is not usually what people are talking about when they talk about the formal statistics concept of generalization error.
- deleted 8y ago[deleted]
- TeMPOraL 8y agoI think what 'joe_the_user is saying is one should specify what exactly is the "distribution" that "Nature used to produce the training set". E.g. "images of cat faces taken indoors and cropped to square" is a pretty specific set.
- mlthoughts2018 8y agoThis is usually always specified to a complete degree in research papers that address this issue. I work professionally in computer vision and image processing and have never once encountered a mainstream research paper where the definition of the data generating process under study was not fully and unambiguously clear. Can you point to examples where this was problematically under-specified?
- TeMPOraL 8y ago> Can you point to examples where this was problematically under-specified? Not really. My comment was about how I interpreted joe_the_user's statement; I can't think of a ML or CV research paper I've read to which this criticism would apply, but I definitely can think of such news articles and startup landing pages/marketing material.
- mlthoughts2018 8y agoI agree about random news articles / startup landing pages where the term is thrown around imprecisely. Just seemed odd to see the original comment saying it about this linked Bayesian stats article, which doesn’t suffer this problem.
- sgt101 8y agoOf course you are right, but these are the parts of papers not read or understood by journalists or ceo's or the public. This is leading to inappropriate and unsafe applications, and will lead to a backlash and damage. We should be as clear (at least) as the medics, promising lab results that may deliver in the future, until field tests we can't be sure. Unfortunately the lab to field practice in ml is underspecified.
- mlthoughts2018 8y agoYes, but this specific technical research paper doesn’t suffer these issues. So the original comment seemed wrongly placed here.
- paradoxparalax 8y agoI would tend to agree it generalizes for the given dataset, but stretch and say it generalizes for a orders of magnitude larger dataset of "similar" data that encompasses your smaller portion of data on which you trained; Then, as he pointed, you have only 2 options: or you need so much hard-work in collecting properly sampled and mapped data that you can model your data by hand then, no need for NNs, the other option is you just pray for the much bigger unknown portion of the data really be "similar" to your training portion, and praying, in this sentence, is ultimately just making a estimation.
- YeGoblynQueenne 8y ago>> Generalization in this context is usually a very specific technical term that means after training on a training set, the fitted model continues to perform well when used on previously unseen examples (a test set) that came from the same distribution (data generating process) that Nature used to produce the training set. To be more precise, that a dataset came from the "real" distribution of data in the real world is an assumption, and one that is impossible to verify, at that. In practice, all we can know for sure is the distribution of data in a dataset. There is such a thing as sampling error, after all, and it's a big pain in every field that uses sampling to collect evidence. So -in practice, again- when we say that a model "generalises well" we mean that it performs well in cross-validation, where it's trained and tested on different partitions of the entire dataset, in successive steps. Unfortunately, that's a very poor measure of generalisation. More to the point- it's an estimate of the model's real-world generalisation. But how good an estimate it is, is very hard to know.
- mlthoughts2018 8y agoAlmost always the training and test set are taken from exactly the same Natural distribution, inclusive of any sampling errors, biases, censoring artifacts, data corruption or loss, etc. So while in some cases the distinction you point out does matter, it’s pretty rare, certainly rare enough that it doesn’t cause issues with generalization error analysis of the majority of experiments. For most domain applications like computer vision tasks, natural language tasks, etc., it would be pedantic and disingenuous to call test set generalization error a mere “estimate” of the real generalization error. Beyond that, in topics like PAC learning you can prove results about optimal algorithms, like SVMs as maximum margin classifiers, that can be proved over fully theoretical generalization error bounds. Overall, except for certain special case applications, I think the comments you’re indicating about generalization turn out not to matter much in practice.
- YeGoblynQueenne 8y agoWell, PAC learning assumes that your training and test datasets are drawn from the same distribution and offers no guarantees if that assumption cannot be made. Obviously, training and test data in cross-validation partitions have a common distribution- but that is the distribution associated to the sampling process, not that of whatever natural process (we assume) generates the data in the real world. So, my point is, once you move from the lab to the real world, any generalisation error (resp. accuracy) you calculated by cross-validation in the lab becomes a mere estimate- because you don't know the real-world distribution and you are not guaranteed anything by PAC learning, anymore. Look- your dataset is not the real world, your sampling method is not the natural process that generates the events you observe and the distribution of data in the real world is not the distribution of data in your data set. If it was- you wouldn't need machine learning, would you? You'd already have a model of the real world process you're interested in. I'm afraid the best you can ever hope to do with generalisation to real-world data is estimate it, and nothing more.