top | item 24618868

Show HN: A tool that finds formulas from values without supervision

6 points| tbsoftware | 5 years ago |turingbotsoftware.github.io

6 comments

order

jclos|5 years ago

It reminds me of the old Eureqa software [1], which I used almost 10 years ago in some research work. It got bought out by a company and kind of shut down, so it's nice to see alternatives. Since then some good packages like gplearn have emerged [2], what are you offering that it cannot do?

As a side note if I were you I would be a lot more selective about what you put in your blog, because your post on the inadequacy of neural networks is a bit embarrassing, and paints a pretty bad picture of your own tool.

[1] https://www.creativemachineslab.com/eureqa.html

[2] https://gplearn.readthedocs.io/en/stable/

tbsoftware|5 years ago

Thanks for the comments. I have actually tried many different public symbolic regression packages before developing TuringBot, and the general conclusion is that while they do find some formulas, those formulas are rather awkward and not really comparable to those found by Eureqa. And TuringBot is both faster than Eureqa and also capable of finding solutions that it cannot find, due to the different algorithm used.

Can you elaborate on why the post on neural networks is "embarrassing"? That neural networks perform poorly on simple problems despite being universal approximators is a well known fact, see for instance (and many others) https://stackoverflow.com/questions/46995209/neural-network-...

the__alchemist|5 years ago

Is this correct?: This tool accepts a linear data series, and matches it to an analytic function that can describe it with a minimal amount of coefficients / constants?

tbsoftware|5 years ago

The basic idea is correct. The input file is a CSV with as many columns as you like, and the program will try to find the simplest y = f(x1, x2, x3, ...), where y is one of the columns. It does not generate a single solution, but a set of solutions of increasing complexity to choose from. The relationships that it finds are strongly nonlinear.

jessehorne|5 years ago

Pretty interesting! I had thought about stuff like this on and off for a long time but this is the first time seeing something like this on HN. Very cool.

tbsoftware|5 years ago

Thanks! Symbolic regression is the kind of thing that once you start using, you end up finding applications pretty much everywhere. It also performs better than neural networks in many common applications of machine learning, while being much simpler and more interpretable. The biggest exception are problems of image classification, where neural networks perform much better.