Can Gradient Boosting Learn Simple Arithmetic?
I hate to be the source of all the bad vibes in the room, again, but I&#x27;d be careful with claims about &quot;learning arithmetic&quot;. It&#x27;s obvious that the trained model in the article is only memorising its training data, rather than actually <i>learning</i> arithmetic functions, in the general sense. If you gave it any numbers outside the range it was trained on, those graphs would start to look real silly. This is probably the (actual) reason why no testing split was used- because the model is too weak to generalise to held-out data [1].<p>The point to keep in mind here is that addition is a recursive function [2] and as such cannot be learned by learners that cannot model recursion, which is basically all statistical machine learners. The best thing that can be done is to approximate it within some range, at which point you&#x27;re only memorising which pairs of numbers X and Y map to which third number Z - like the model in the article does. And it doesn&#x27;t even do it very well, hence the need for noise (which allows it to luck out and cover more XYZ triples).<p>So let&#x27;s say that a better title would be &quot;Can GB approximate arithmetic functions over a tiny range of numbers?&quot;. Which is not that exiting, for sure [3].<p>____________________<p>[1] The only good reason I can think to not validate on a test partition is that you only have a single example. I can think of one use case, trying to learn plans from examples of starting and goal states. But arithmetic? How can you claim to have learned &quot;arithmetic&quot; when you can&#x27;t show that your model works on even one pair of numbers it hasn&#x27;t seen in training?<p>[2] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Peano_axioms#Addition" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Peano_axioms#Addition</a><p>[3] This is also a good example of the limitations of statistical machine learning, in general. Having &quot;learned&quot; addition, a strong learner should be able to use it to learn the other three functions. Except, statistical machine learners can only learn one concept at a time, and they can&#x27;t reuse their models as features to learn new concepts.