Ask HN: How to start with maths required for ML or Deep Learning?
I really want to learn about Machine/Deep Learning. I tried to start with some ML courses and online resources but I got intimidated when I saw that it required really good background in Maths. I do have basic intro to Calculus, but I don't know much. It seems to get really good at ML, you need to know a lot about Maths. I'm sure some of you have already crossed this hurdle, so I'm really interested to learn about your experience. I did google search and encountered this link[1] but by looking at the resources, it seems that it's a lot of ground to cover. I feel overwhelmed, so I'm just looking to cover the minimal ground.
[1] https://www.quora.com/How-do-I-learn-mathematics-for-machine-learning
8 comments
[ 2.8 ms ] story [ 27.0 ms ] threadYou may be able to make some use of existing ML models and libraries without a deep understanding of the methods however.
Just get a textbook that appeals to you and spend most of your time reading it and focus. If it does not work, get another textbook that appeals to you and spend most of your time reading it and focus. If it does not work, get another get another textbook that appeals to you and . . .
Really. Spending time studying a textbook is what you need. In the end, you'll realize how you become mathematically mature.
A short master's (3-4 semesters) is about enough to have all the math background + some application classes.
An Introduction to Statistical Learning
http://www-bcf.usc.edu/~gareth/ISL/
I wrote about this here: https://news.ycombinator.com/item?id=8767092 and here: https://news.ycombinator.com/item?id=9433316
Long story short, the biggest mistake I see people making is not actually rolling up their sleeves and learning the math.
People are often content to watch hour after hour of Udacity, Khan academy and Coursera videos but the applied follow up is where most people drop off. At the very least any course work should be followed up by something practical like a kaggle exercise to prove that you can apply the technique you just learned. Consider the benefit of just watching videos vs doing actual applied work.
On one hand if you just watch videos you might learn alot but how do you prove that to someone hiring you? On the other hand if you sit down and spend a week attaching a Kaggle excise then at the very least you have something to point people to, to show that you can apply machine learning techniques.
My recommendation has always been to read the first 5 chapters of Introduction to statistical learning: http://www-bcf.usc.edu/~gareth/ISL/
and if you fly through it then sample Elements of statistical learning http://statweb.stanford.edu/~tibs/ElemStatLearn/ for the topics that you want to learn.
If intro to statistical learning is too advanced, then go to Khan academy and work your way through their statistics videos. From my experience you can bucket people into skill level by looking at how they attack a new problem.
Beginners tend to start by saying they'll need a hadoop cluster and spend the next week setting up a pipeline.
Intermediate people tend to jump into R or scikit and try to model the problem with a small subset of data and the library and technique they know best. The advanced people tend to flesh out their hypothesis first and then work out the math and then jump to modelling with a small set of data and finally move to a cluster.
This is funny. It all boils down to metacognition, I suppose. Beginners don't know how much they don't know; they're seeing the tip of the iceberg but don't know the concept of an iceberg to begin with. It's just that white thing over there.
Intermediates see the tip of the iceberg and slightly panic while trying to correct course.
Advanced know they're in the polar circle because they know geography, they plot their course because they know navigation, and actively look-out for icebergs.
Here's what excites me.. The term "Emerging country" was used so much, that the real meaning of the concept of "Emergence" is practically unknown.
Here's the first paragraph from Wikipedia:
>In philosophy, systems theory, science, and art, emergence is a process whereby larger entities, patterns, and regularities arise through interactions among smaller or simpler entities that themselves do not exhibit such properties.
Something that's greater than the sum of things that constitute it, but it's still constituted by those very things.
My point is that often times, you'll find "resources" or tutorials that try to hide all the yak shaving that's necessary to get into a field (the constituents) and try to give you the "fruit". I'd much rather a course that says: here are the prerequisites for this course, here's what you need to know already, if you don't, go learn that and come back because you'll only waste your time. Listing exactly the things one needs to know would save time, in my opinion.