Comment by fc417fc802
Comment by fc417fc802 3 days ago
> Generalization is the ability for a model to perform well on new unseen data within the same task that it was trained for.
By that logic a chess engine can generalize in the same way that AlphaGo Zero does. It is a black box that has never seen the vast majority of possible board positions. In fact it's never seen anything at all because unlike an ML model it isn't the result of an optimization algorithm (at least the old ones, back before they started incorporating ML models).
If your definition of "generalize" depends on "is the thing under consideration an ML model or not" then the definition is broken. You need to treat the thing being tested as a black box, scoring only based on inputs and outputs.
Writing the chess engine is analogous to wiring up the untrained model, the optimization algorithm, and the simulation followed by running it. Both tasks require thoughtful work by the developer. The finished chess engine is analogous to the trained model.
> They were originally trained for ...
I think you're in danger here of a definition that depends intimately on intent. It isn't clear that they weren't inadvertently trained for those other abilities at the same time. Moreover, unless those additional abilities to be tested for were specified ahead of time you're deep into post hoc territory.
You're way off. This is not my personal definition of generalization.
We are talking about a very specific technical term in the context of machine learning.
An explicitly programmed chess engine does not generalize, by definition. It doesn't learn from data. It is an explicitly programmed algorithm.
I recommend you go do some reading about machine learning basics.
https://www.cs.toronto.edu/~lczhang/321/notes/notes09.pdf