Our next lab in machine learning is symbolic regression (fitting a function) using genetic programing. It's a neat (though a little bit contrived) example of genetic programing. Our programs are expression trees which we mutate according to a fitness function (the least square error).
 |
| Simple Expression Tree |
Our actual function to fit just looks to be a sum of sine's, so it would be really cool if I could find an expression tree that would just take the Fourier transform, pick out the principle components, and return as sum as sines. I have been using the
networkx (published by LANL) and so far it has been really nice, but the trees aren't recursively defined so it takes a little bit of thinking to evaluate (rather than a simple post order traversal). Plus (the reason why I choose it) is the interface with
Graphviz, which makes it quite easy to visualize trees. The windows interface is a little clunky (use dotty to draw) but it worked great on the Mac.
Now if only my real research was going so well . . .
No comments:
Post a Comment