5 ms·
This canard keeps coming up. I've come up with a few explanations. 1) It's to protect the reputation of people who make their living copy/pasting examples from
by MrLeap 8y ago
This canard keeps coming up. I've come up with a few explanations. 1) It's to protect the reputation of people who make their living copy/pasting examples from the SK-learn gallery
2) The authors fully understand the tools they're using, but feel there's an element of unexplainable meaning in them that I wager isn't actually there.
3) I'm ignorant and I think this is explainable when I just don't know enough to know it's not.
I've done machine learning projects, and if asked to explain to a "non ML trained" person, I'll try like this:
You know how if you get a scatter plot, you can draw a line through the middle of the points and make predictions off the y=mx+b function of that line?
Well, that's what we're doing here, except the function isn't a line, it's a shape with as many dimensions as we have features.
Let's pretend the only features we've got are lat and long. Imagine you asked for us to create a classifier to predict the depth at a given lat and long over the grand canyon. Each neuron is a function, I think of each neuron like it's casting a "line" through a scatter plot along its particular axis. Then we combine all the lines together and weave a mesh. The act of training simply adjusts the details of all the simple functions, trying to seek out the sweet spot in that point cloud, so our mesh is close enough to the grand canyon to be useful. Too many neurons, and the mesh wont be flexible enough to make useful predictions from. It'll be overfit!
Now, we might be able to get decent performance out of a model built out of x,y->z -- but some thoughtfulness and domain knowledge TENDS to make models perform better. Lots of the "unexplainable magic" comes from these hunches being tested and providing benefits to accuracy. I'd wager without seeing any data that if we add two new features: normal direction of the rock face and speed of the Colorado river at that point -- we can make the model much better for negligibly additional training time.
The more compute time and data we've got, the more features we can throw into the model to see if they help the usefulness of the mesh.
I've got a metaphor to explain why some features drop out during training that involves gimbal lock here if people are still asking questions. It requires non "trained" folks to have seen Apollo 13. Fortunately no non-technical stakeholder ever cares enough to make it there though. :D Shipping a product before the sun burns out makes this a decent time to introduce PCA/SVD or whatever dimensionality reduction techniques I used this time around.
If the solution ends up being a fever-dream abortion of an LSTM/Perceptron/Markov chain that I came up with while sleep deprived after a heavy night drinking -- I just say I came up with the model in an ad hoc manner, and the cross validated R^2 scores speak for themselves.
- ashelmire 8y agoI’m in agreement with you here. This trope that neural networks or other forms of ML are inscrutable is ridiculous. We know exactly what mathematical function is happening at every stage and the goal of the process; we can explain what architectures have the best results, and in some cases a deep understanding of why; with close enough scrutiny, you can probably tell what an individual neuron is doing to a layman (though the scale quickly gets out of hand). Why is it not sufficient to say “we’re using some basic math at a large scale using neural network architectures found to be best suited for the purpose of fitting our task, data, and loss functions?” These architectures are shown to find this sort of information, this is the general overview of how that works. What deeper explanation is desired? I think the real issue is that tech journalists and laymen don’t know enough to understand. You can’t explain multivariable calculus to someone that doesn’t know algebra. Or option 2/3 are the problem.
- gldalmaso 8y agoA deeper explanation is often desired when you decide to take your solution to the real world and impact peoples lives. I'm sure I'm not alone in the fear of living in a (not so far) future dystopia where our driver's licences get cancelled because of our driving behavior caught on traffic cameras. "What did I do that caused it to get cancelled?", "We don't know, better luck next time." "Your test got flagged for cheating, it's a very sophisticated system with IR vision, audio detection and grade assessment, there's nothing I can do." "Our theft-preventing camera system says you are suspicious, you're gonna have to go now." When all we have to respond is "its the algorithm", I don't think much people will be ok with that. Youtube for instance has gone down this rabbit hole and a lot of content creators and users are less than happy to receive that answer.
- ashelmire 8y agoThose explanations are awful. The reasons are usually pretty simple and sound much more reasonable. The answer is not “I don’t know” in any of those cases - it’s going to be pretty clear that they share some similarity to other cases of theft, cheating, etc, and this will probably be obvious on examination, “our system flags people who are wearing masks” or “these 30 seconds of sounds are almost exactly the intro to song X”. Human review is also useful, but humans make plenty of errors as well (and the response is often “I don’t know why”!). I’d say these errors are not due to the inscrutable nature of ML but bad communication.