Symbolic Learning in Python and Julia (github.com)
brumar 11 hours ago
nsajko 8 hours ago
verdverm 7 hours ago
A lot of research in GP/SR went toward methods for balancing density and selection from the pareto front.
One of the bigger problems is growth of meaningless equation material to counteract other pressures in the algorithm, which itself leads to premature convergence on suboptimal solutions. I had some thoughts at the time about ways to penalize this during the growth phase in my own algo, but never got around to them. Mainly needs bookkeeping for contribution to the final equation output.
JanisErdmanis 11 hours ago
bikvfeee 8 hours ago
owls-on-wires 10 hours ago
A deterministic SR engine in Rust, written for SRBench. Happy to see the field getting some front-page attention!
verdverm 8 hours ago
I'll see about getting mine added to SRbench as well
verdverm 5 hours ago
I introduced a new type of "constant" for well known values like this that sit between measured data and free parameters. I think I had some idea similar to your snapping, i.e. to look for places where free parameters could be replaced with const, but multiples of them was not part of that.
saithound 8 hours ago
Pangram reports 100% AI on most comment blurbs in the examples directory. That in itself is not the problem, AI-generated code could still be valid. But in this case, the AI-generated examples have the characteristic shape of slop: plausible sounding technical jargon, combined with zero actual understanding of either the target domain, or even evolutionary search (loss function design). They were vibed by people who had no idea what they were doing.
I suggest taking a look at the "evolved PRNG" example [1].
First, its loss function is basically designed to reward discovering linear feedback shift registers (LFSRs) only. It deliberately gives a massively lower loss to LFSRs than most other functions.
The AI slop phrased this in terms of "certifying the period", but the period certificate used only identifies LFSRs of max period, is unsound on the rest of the search space, and gives a meaningless very high loss to most non-LFSRs. So the regression will almost always just return an LFSR.
Whoever designed the example (Codex I suppose) also knew that most LFSRs are defective, and make poor random number generators. Thus, they included a "shear" penalty to detect such defective LFSRs, but of course they slopped it together.
The 360 correlations they measure should have been added together (having just one strong correlation is bad, and having two strong correlations is twice as bad as havin one). Instead, they take the MEAN of the correlations, so a perfect correlation contributes only 1/360=0.00278 to the loss.
And indeed, the result of their example run, reported in the docs [2] has such a perfect correlation: bit 29 is copied to bit 31 every two iterations.
[1] https://github.com/astroautomata/PySR/blob/master/examples/p...
[2] https://pysr.ai/v2.7.0/examples/objectives#inventing-a-pseud...
verdverm 7 hours ago
I would personally hold this opinion of anyone still using genetic/evolutionary inspired algorithms for symbolic regression. There are multiple deterministic algorithms that do not have the same inherent drawbacks and are generally quite good.
Before I wrote my algo, and was trying to scale out GP, I hit the limits of RNG and had to go find some with seriously huge cycle properties. (howany calls before they reached the end and started over producing the same sequence)
verdverm 5 days ago
A deterministic algorithm for Symbolic Regression, which I recently ported to JAX
verdverm 14 hours ago
(original post refreshed by HN mods if I understand correctly, maybe dang or tomhow will chime in on this)
Jtsummers 14 hours ago
jgalt212 10 hours ago
thatsabadlook 14 hours ago