3 ms·
Here's a different question: is it worth it? I know enough about machine learning (and scikit-learn) to make simple models with production deployments. The res
by morgante 10y ago
Here's a different question: is it worth it?
I know enough about machine learning (and scikit-learn) to make simple models with production deployments. The results are pretty good, but they come almost exclusively through trial and error—testing different algorithms and approaches until something works.
Unfortunately, I really don't understand the underlying theory. Every time I start diving into it, I realize it'll probably take a huge amount of time to understand (particularly because I'll likely have to do an intensive refresher on linear algebra and multivariable calculus).
How dangerous is it to be practicing machine learning without deeply understanding the theory? Is it worth the substantial time investment?
- giardini 10y agomorgante: "Here's a different question: is it worth it?" Only you can be the judge of that. A better question is "What is the opportunity cost?". Is there something else that one could do with that same time that would be more valuable/useful? I suspect that most persons have a number of things that would be more valuable to them than learning ML to some vague degree and undefined purpose. One might take an economics course, exercise more and pay more attention to one's diet to get into better shape, get more sleep, sell the boat, read Nicholas Taleb's second and third books, etc.
- giardini 10y agoI just stumbled onto this: "Data Scientists Automated and Unemployed by 2025?" http://www.kdnuggets.com/2015/05/data-scientists-automated-2025.html http://www.kdnuggets.com/2015/05/data-scientists-automated-2... Nothing to get excited about, especially since you aren't yet invested. However, should the odds indeed be high that ML will become automated by 2025 then another field choice might be wiser.
- Houshalter 10y agoFWIW you can learn how these algorithms work without a very deep understanding of calculus or linear algebra. I did it, although I'm trying to catch up on the math now. And really for the average ML user, you don't need to learn the exact math or calculations, just a general understanding of what it's doing. Above all have a good understanding of over fitting and best practices for test and validation sets. Then you can use algorithms as black boxes and at least know you aren't doing any harm.
- elliott34 10y agoNot dangerous, in my experience. It doesn't take deep theoretical knowledge to provide value (i.e. value to a customer or to a business) through machine learning. Assuming here that one knows how to cross validate, check for overfitting, etc., and not shoot themselves in the foot. EDIT: Note that it's still EXCEPTIONALLY difficult to provide true, lasting value to a given organization with this stuff and takes years of experience (note I didn't mention deep knowledge and experience with the latest techniques aboard the hype train).
- joshvm 10y agoI think the main skill is getting an intuitive grasp of expressing a problem in machine-learning language, which usually means "I have this data set, what are the most salient features I should be using to train my algorithm to tell me things". The main challenge to solving a machine learning problem in my experience is the curse of dimensionality. Aside from that it's still trial and error. As a sibling pointed out the best you can do is get a good grounding in stats and sampling theory so that you ensure that you're not overfitting your data. There is no rule-book for what kind of classifier works well on your problem, aside from reading the literature and seeing how well other people got on. There are exceptions, for instance if you're doing image classification then nowadays it's convnet or bust. But still you're going on instinct rather than "If you have problem <X> you should solve it with machine learning algorithm <Y>". As with all these sorts of things, knowing the theory is useful if you want to start implementing your own classifiers from scratch, but nowadays it's approaching wheel-inventing territory. Machine learning libraries are mature, powerful and increasingly easy to use (like sklearn). Some of the libraries like Tensorflow are specifically geared so that you don't need to know about the implementation, you just read a description of the CNN and you can express it in a few lines of Python. Otherwise using them is still pot luck: - How many training samples will be enough for your problem to avoid overfitting/poor results? You won't know this until you try. - What features are the best for your problem? There are algorithms which will try to learn for you, but in most cases that's a niche application and will require a lot of twiddling. - You still (usually) have do a grid-search to find the optimal parameters for a particular method. - Do you care which method you use, say an SVM vs Random Forest, if you get 90% accuracy consistently? - Be mindful that for many problems in machine learning, 80% accuracy is considered exceptionally good. You shouldn't expect perfect performance so sooner or later you have to say good is good enough.