4 ms·
Are machine-learning packages like genomes?
Biologist here.
I'm trying to learn a bit about machine learning just to keep my general knowledge fresh.
Reading about machine-learning model/package development, I've realised that it must be easy to allow such models to degenerate; to patch and glue and create hidden dependencies that can be hard to reverse-engineer.
This reminds me very much of a genome, where functionality has been added over billions of years using whatever inputs were available at a time and producing something good enough at the time.
I'm not sure how relevant such analogies are to ML, but it feels like this must be the natural way of things: The code wants to degenerate (path of least resistance), but for the model to be clear--and generalisable--this must be resisted.
Do you feel this is fair/accurate?
Again, I'm a biologist, not a technical expert. I just found this similarity intriguing and it would be interesting to hear your thoughts on the challenges/opportunities of allowing code to be more like code (and less like a genome, since they're notoriously hard to understand or reverse-engineer).
- madhadron 7y agoWhen applied to the models themselves it's not a particularly helpful analogy. Machine learning models are largely curve fitting in high dimensional spaces. Overfitting, overspecialization, and the like are problems, and you could relate them to ecological notions and selection, but it's not terribly helpful in practice. Where it does apply is to the cascade of dependencies among data sets, code that generates them, and sources of signal that you see in large data platforms.
- Ecalpal 7y agoThank you for articulating my point better than I could myself about the 'cascade of dependencies'. It seems to me that these platforms/packages are essentially trying to build something almost-as-complex as a genome from scratch, and that trying to avoid those cascades is paramount. However, is this possible in practise, and if so, what would help streamline the process? Would a generalisable package solution help with this, and what's limiting development of such a solution? Is it because we don't know what such a solution should/ought to look like?
- madhadron 7y ago> Would a generalisable package solution help with this Not really. It's more what happens when hundreds or thousands of people try to get lots of different things done using shared resources over a period of years.