Ask HN: How to learn math from zero for adults?
I am a 26 year old learner who is really into Machine Learning. But my lack of understanding in math has held me back. Skipping and hating math classes in high school have been my biggest regret.
Now, I am slowly trying to learn, but I don't know where to start. I need some guidance.
181 comments
[ 0.23 ms ] story [ 239 ms ] threadAlso I have created some youtube channels aggregating quite a bit of the quality university courses organized into playlists of playlists.
https://youtube.com/channel/UCjgQ2pJDjZlhdI4Ym7NQdUw
Note: You have to click on the titles of the topics on the home page that slide left/right (or up/down on a phone) to see the whole list of courses because YouTube truncates the lists on the home page.
The first high hurdle is accepting that starting out everything (to a first approximation) is over our heads.
There's no perfect first resource because hard subjects are hard and take time.
But because we are out of school, we have decades to learn.
There's no final in sixteen weeks and only a pop-quiz tomorrow if we are in the middle of applying what we learned.
So just start learning math and figure out what works for you as you go along.
Good luck.
I think just having a price tag at all incentivizes a marketplace where the best lessons compete. Now how one determines that quality though...lots of different heuristics and I have a few thoughts on how it could be done better but reviews, especially negative ones do a fairly decent job of assessing for qualities.
My apologies if it was not clear what I meant earlier.
1. Rote learning/memorization. Copying, tracing, flash cards and so forth. This is how you learned to read and write, and while in school math it tends to be applied to calculation(memorizing results from adding and multiplying and so on) it can also be applied to build up recall of mathematical concepts like postulates and theorems.
2. Logic and problem solving strategies. Math "homework" is usually about finding a result through a mix of deductive, inductive and abductive strategies. When the result is calculation-focused it becomes very mechanical and "follow the steps you've memorized", and so can usually be delegated to a computer program now, but higher level math is more about integrating the concepts together to prove something is correct, which means having a really clear understanding of the definitions you're working with.
3. Dividing and conquering. Sometimes it's hard to see a concept in totality but you can understand a particular limited context and then generalize on it. This is typically where math research starts: there's a flash of insight into a concept and then progressive attempts to generalize it and reuse it to solve more problems or define its relationship to other concepts, like how there are multiple ways to define coordinate systems in geometry.
When reading a math text, it can be hard to get started because skimming the text doesn't really grant any access to the concepts: you have to follow through on internalizing them first, which means a mix of the rote learning and posing problems for oneself to solve, and looking for analogies in things you already know to find the differences and so gain more detailed understanding. By the time you've done that, you probably have read the same words hundreds of times and "slept on the problem" for weeks.
This quality of not really understanding math until you've grappled with the problems means that research mathematicians tend to only have a really detailed understanding of their own specialty, but have a more limited background in others, enough to communicate a little bit but not necessarily participate in the discussion substantially. To get "there", look at what's offered in college courses: you can reuse their textbooks and problem sets. Following an online course is also a valid method. You don't have to attend classes or lectures to study math, although sometimes you may want to ask questions to clarify - but the internet exists for that and lots of people are willing to help, at least up until you actually get to a research level problem.
Do you know pandas and scikit learn? If not, start there.
Your first stop would be Khan Academy and knowing your gaps.
Fill your gaps.
Learn HS level Calculus, Linear Algebra, and Statistics.
You will need more Calculus and Linear Algebra later. But not now.
Then try studying "Machine Learning for Absolute Beginners" book. It not very mathy.
Then just keep going through ML courses. Learn what you need on the way.
The "way" of math needed in Machine Learning is not the same "way" that brings you scores in school/college exam.
You need absolutely crystal clear concepts in Linear Algebra, Multivariable Calculus, and in some areas of ML, Statistics.
Corporate "Data Science" and Machine Learning research/projects are wildly different beasts. Learn what you will pursue, and decide your path based on that.
And most importantly, you have to be patient. Machine Learning and Math for it takes time- not days or weeks, but months and years.
I did different courses for each in University. Data Science is concerned with extracting patterns from existing data.
Like you have some papers for exam and you want to know if students cheated. Or you have the results from a poll about people hobbies, income etc and you want to correlate that with voting for party X. Or you want to correlate the race of canines with their abilities.
ML is also mostly about patterns but in a different way. You want something to tell how likely a comment is spam, if an article is positive towards a politician, if a picture is of a cat or dog.
So, to get to get a fundamental understanding you will need to learn statistics. Which in turn will require some calculus and algebra, but nothing too difficult.
Although I have the basic math knowledge and I have the basic knowledge of ML and Data Mining, I quit trying to do things in those fields because they are really vast, especially ML. Knowing the math and the basics of ML is required but far, far from enough to get good results. The people who work in the field are focused on it. I like ML but I like software architecture and development more, so I did my choice.
That being said, I still got some benefits from basic ML knowledge when I used ML libraries such as ML.NET in my day job. Knowing what a SVM or random forest is and how to tune parameters to improve my model was helpful. It was just a simple usage case like suggesting to customers what they might want to acquire based on their past purchases.
More than basic notations and explanatory parts of research papers, I never need even iota of Statistics.
When you need to learn something specific, like, say, KL divergence, if your math is solid, then you can pick it up in 10 minutes.
I wouldn’t discourage you from trying a more comprehensive approach to building a great foundation in math. Math is awesome and if you enjoy it, go for it. If you want to stay focused on ML, you might do alright by figuring out what you need as you go. Just walk back from each problem until you find your bearings, then dig in.
Math is huge and you could find it takes forever to arrive at the skills you need to do the specific thing you want to do.
See this thread[1] for a list of great math book resources.
[0]: https://coursera.org
[1]: https://news.ycombinator.com/item?id=30485544
(also, occasionally a question or answer will be so good you'll instantly grok the math concept even if you haven't learned it formally before; it's rare but magical when it happens).
Then Giles McMullen-Klein has an awesome recommended list for data science (your mileage may vary). https://www.youtube.com/watch?v=V2aIDbpESyU
[1] https://ncert.nic.in/textbook.php?kemh1=6-16
https://news.ycombinator.com/item?id=31488608 169 comments, 5 days ago
Working through Daniel Velleman's book "How to Prove It" (the only pre requisite is that you can understand boolean logic, which programmers have no problem with), and then a Set Theory book (I used Enderton) set me up to tackle (proof based) Linear Algebra, Analysis etc.
Just my personal experience. Hope this helps.
It really depends on what OP actually knows and how deep he wants to learn and in what direction
Would it be possible to teach mathematics by theorem proving ab initio? I guess conventional algebra would be hard to digest for a first grader, but I maybe something like the Peano axioms can be thought of as rules for a game that the students can play, where subsequent arithmetic lessons will be about finding shortcuts to the tedious application of the rules in order to solve problems.