Eureqa - detecting equations and hidden mathematical relationships in data
creativemachines.cornell.edu
creativemachines.cornell.edu
http://en.wikipedia.org/wiki/A._S._Eddington#Fundamental_the...
I could see Eureqa being useful 100 years ago, when everyone was scratching their heads over the blackbody radiation data and nobody realized there was a big fat e^nu term in the denominator keeping us all from giving off infinite quantities of gamma rays. (Thanks Planck.)
Anyway, not to be a hater, but in disciplines where statistical significance is valued, Eureqa is useless, because by cherry-picking models it completely invalidates significance tests.
So for double pendulum it came back with like 8 equations, one of which was conservation of momentum (not actually accurate, but as close as you can get with that number of terms), and one of which was conservation of energy (actually accurate, but a bit more complicated).
That said, Andrew Gelman posted his thoughts on it awhile back.
http://www.stat.columbia.edu/~cook/movabletype/archives/2009... http://www.stat.columbia.edu/~cook/movabletype/archives/2009...
After 5 mins it got stuck at MSE 0.1 with: x2x2/(x1 + x2) + (x - sin(2300)). To test it properly I've built another 40 points with the correct equation data and am going to leave it over night since I'm too tired to wait its full cycle which will be more than an hour.
currently (17mins in) its at MSE 0.07 with (x2 + 0.7325/x2) - 0.6839 + x (x/(x+x2)) another equivalent interesting expression it arrived at was: ((x2 + 0.7325/x2) - cos(cos(sin(x2))) + x * (x/(x+x2)). I told it to stop at 0.025, now I think it will hit it and I set the bar too low. mayb
http://www.isle.org/~langley/discovery.html contains some cites and discussion.
The 3 April issue contained two Reports about automated science (“Distilling free-form natural laws from experimental data,” M. Schmidt and H. Lipson, p. 81, and “The automation of science,” R. D. King et al., p. 85). These Reports are seriously mistaken about the nature of the scientific enterprise, particularly regarding what theorists do and the meaning of physical law. As Thomas Kuhn famously argued, what most scientists do most of the time—which he called “normal science” and Rutherford called “stamp collecting”—does not contribute very much to the advancement of knowledge; rather, this normal science simply fleshes out the consequences of the paradigms that have been established by truly revolutionary advances. Even if machines did contribute to normal science, we see no mechanism by which they could create a Kuhnian revolution and thereby establish new physical law.
In the Report by Schmidt and Lipson, a machine deduces the equation behind a sample of chaotic motion. The discovery of deterministic chaos is an example of true Kuhnian revolution; others were its application to unexpected fields like meteorology and population biology. In the constrained problem in the Report, the relevant physical law and variables are known in advance; it is hardly a template for the creative, exploratory nature of true science.
Indeed, a good intermediate step would be just to get the ordinary differential equation initial value problem for a pendulum, that really is from the physics, that their fit solves; they didn't do that.
Or if not a pendulum, then oscillations in basic A/C circuit theory with resistors, capacitors, and inductors; they didn't do that either.
Uh, data such as they started with ain't necessarily from a pendulum, and to assume that it is is a serious mistake. In particular there is no way that a computer program, or anything else, starting with just the data, can conclude a pendulum instead of an A/C circuit or something else. Sorry guys.
The role of 'complexity' in the expressions very much needs to be made clear. This is especially the case since otherwise can fit such data with just Lagrange interpolation (a polynomial) or splines.
The whole idea of the program encounters one of the biggest old problems in science: Starting with the observational data on the motions of the planets, Ptolemy had some complicated mechanical contraptions that fit the data fairly well (we will set aside some of the accusations that he, uh, 'smoothed' his data, that is, had an early use of Kelly's variable constant and Finkel's fudge factor).
The big problem in Ptolemy's work was his complicated contraptions didn't seem to be from any 'physical laws'. Of course, he didn't know that any suitable physical laws existed.
Big, huge steps later were from Copernicus, Kepler, etc. by which time it was clear that, looked at in the right coordinate system, the planets were moving in ellipses with the sun at one focus of each ellipse.
Then Newton assumed his second law and law of gravity, invented calculus, and used the three to derive the ellipses. That's why we think that Newton was one of the greatest of all scientists. The computer program is suggesting that it is hoping to automate such work; ROFL.
The claim that the program can find function f so that x = f(t, x) is not so amazing: Just set f(t,x) = x. Then perfectly x = x. Semi-amazing.
The example was for only one independent variable. More important cases are for several independent variables and several dependent variables. That is, for the real numbers R and positive integers m and n, find function f: R^m --> R^n so that for independent variables x in R^m and dependent variables y in R^n we get f(x) close to y. Pull this off with any generality, execution efficiency, and usefulness, and I'll start to be impressed.
To be more impressive than now, they might just look for linear f: R^m --> R and show why their work is better than old step-wise regression. There they need to address the conclusions now over 40 years old that step-wise regression didn't work very well, and doing all possible regressions took too long and gave a mess.
Generally they have the cart before the horse: The researcher is supposed to bring some understanding or at least some conjectures to the work and let the numerical work just fill in the details. Doing the numerical work first is bass ackwards.
The idea of a 'complexity measure' to select among different formulas is close to some old moon worship, black magic, or superstition about the magical properties of selected frogs and mushrooms.
Setting aside all the hype and nonsense, where could such work be used? Well, the answer is the same as has been the case for decades: It's a curve fitting program and, thus, could be used where curve fitting programs have been useful:
First, it can do the fitting arithmetic when the researcher brings to the computer some 'form' of the formula and is just looking for some constants and NOT the formula.
Second, if there is some data and want a simple expression that 'compresses' the data. That can be useful, say, in parts of stochastic dynamic programming; see, e.g., D. Bertsekas at MIT where he used neural nets for such 'compression'. That is, just storing the data might be 10^n bytes for n = 20, 30, 40, ..., but a few formulas might do just as well for big savings. Generally splines and multivariate splines have been among the leading approaches, but I didn't see splines mentioned in their video.
The scary, upsetting, objectionable parts are the claims that they are "detecting equations and hidden mathematical relationships in data" and, as in the video, getting at the "physics". No they are not. Here their hype reeks of the usual in 'artificial intelligence' and 'machine learning' that their software can 'learn' and be 'intelligent', and that's so far, and likely for a long time, nonsense.
Another objectionable part is their theme of setting aside all the assumptions, definitions, theorems, and proofs of statistical estimation of parameters in statistical models, hypothesis tests on the parameters, confidence intervals on the parameters and the predicted values from the fits, etc. How do they do that? They just leave it all out!
They have an option of 'smoothing' the data: That's a big subject. So, the implication is that researchers might just click on the button that says "Smooth" and report that in their work. Then to 'smooth' becomes some unlabeled bottle of snake oil.
The theme here is to omit all the rational and deductive framework of applied math and replace it with GUIs: This is a future of irrationality with no hope.
This work is a special case of the more general situation that 'computer science' is getting a C- in applied math and is out'a gas.
The work fills a much needed gap in the literature and would be illuminating if ignited.
Agree completely with their model selection criteria; model selection is useful when used to compare evidence for k physically plausible models, but should be treated with extreme caution where exploring an infinite model space.
Personally I hold very little hope for automated tools anymore. Considering how complex a seemingly simple study is to analyse correctly, or how hard it is to model physically realistic processes, I think the future does not bode well for tools like eureka as they are currently aimed. At best eureka may present some general hypothesis, but it seems unlikely to be able to search the model space for models that are physically plausible, except in the most simple of all cases.
Besides, try eureka on some of your real data and prepare to be deflated :)
Exactly. Most of the solution is spoon-fed into the algorithm in the form of the fitness function and the terminals. The actual work done by the learning mechanism is trivial, non-generalizable and scales exponentially.
I don't even think that the researchers are overoptimistic in this case. They are simply being dishonest. The shortcomings of this line of research are obvious to anyone who's spent a few days with evolutionary computation.