Update on Polynomial Regression in Lieu of Neural Nets

There was quite a reaction to our paper, “Polynomial Regression as an Alternative to Neural Nets” (by Cheng, Khomtchouk, Matloff and Mohanty), leading to discussions/debates on Twitter, Reddit, Hacker News and so on. Accordingly, we have posted a revised version of the paper. Some of the new features:

  • Though originally we had made the disclaimer that we had not yet done any experiments with image classification, there were comments along the lines of “If the authors had included even one example of image classification, even the MNIST data, I would have been more receptive.” So our revision does exactly that, with the result that polynomial regression does well on MNIST even with only very primitive preprocessing (plain PCA).
  • We’ve elaborated on some of the theory (still quite informal, but could be made rigorous).
  • We’ve added elaboration on other aspects, e.g. overfitting.
  • We’ve added a section titled, “What This Paper Is NOT.” Hopefully those who wish to comment without reading the paper (!) this time will at least read this section. 🙂
  • Updated and expanded results of our data experiments, including more details on how they were conducted.

We are continuing to add features to our associated R package, polyreg. More news on that to come.

Thanks for the interest. Comments welcome!

Advertisements

8 thoughts on “Update on Polynomial Regression in Lieu of Neural Nets”

  1. Curious how you evaluated MNIST accuracy given their are ten possible classes using logistic regression. And yes I did read the paper, and appreciate the updates, but these details were omitted. Thanks.

  2. Hi Matloff,

    Very interesting work. However, I am trying myself to test the results you get for the MNIST polynomial regressions (I am using tensorflow) and I find that my results are much worse. From what I understand, “PR,1” is a linear regression, for “PR,2” you add the quadratic terms, etc.

    Using PCA (26 components, like you did), with test_size=0.3 I get:

    Accuracy of Polynomial Regression for degree 1 = 17.6 %
    Accuracy of Polynomial Regression for degree 2 = 39.37 %
    Accuracy of Polynomial Regression for degree 3 = 50.68 %
    – Above this I also find memory issues –

    Basically I also test the accuracy with mean(predicted==actual).

    Could you give me more details about how you implement it? or what I might be doing differently/wrong?

    1. Sorry for the late reply; I don’t check here often. Please try our new version, now on CRAN. If you still have the odd results, please send me your code and I’ll take a look.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.