In 2018 I went from "zero to sixty", so to speak. At the beginning of the year I knew nothing about ML, and my math skills had gotten so rusty I couldn't even remember how to do simple derivatives or multiply two matrices.
In the first half of 2018 I relearned the college math that I had forgotten by working through MIT OCW's Linear Algebra, Calculus, and Probability courses.
In the Fall, I enrolled in Carnegie Mellon's 10-601 course, graduate "Introduction to Machine Learning". It was hard, it was a ton of work, but I did well and it was completely worth it as I now have a solid understanding of the basics of the field and can continue studying this upcoming year and into the future.
Thanks a lot for the MIT OCW lectures hint! I want to do the same in 2019. What works for me in general is diving into a side project and learning by hacking, but I fear ML won't be susceptible to this approach.
The Linear Algebra OCW is great if you do all the exercise and read the book as you study. For Calculus it's not so great, though the ODE course is fine.
This kind of courses from UPenn are really good if you need to refresh single variable, though I did an older version were all the courses were given together than I can't find in the current Coursera: https://www.coursera.org/learn/single-variable-calculus
I also learn by doing, and it works with ML too (dived into it last year, though I'm currently not doing it anymore). Find a project and jump... Happy learning!
It isn't supernatural, trust me. Very simply: I set a goal, understood what prerequisites I needed to fill, and just worked hard to get there. I put in about 5 - 10 hours a week in the first half of the year working through the OCW courses, then probably 10-15 hours a week during the CMU class. I work fulltime as a software engineer, so my 'class' time was usually a couple hours a night, after the wife and kids go to bed.
I struggle to focus after a full day of work and other tasks. I especially struggle to focus on technical work, and learning new things is difficult. How do you have the energy to sit down for another few hours of technical work after a full day of work?
I'm not gonna lie, putting in those couple hours can just be plain tough. Some days it is the absolute last thing that I want to be doing at 9 o'clock in the evening.
But I motivate myself by focusing on the long-term impact for my career, and thus the benefits for myself and my family:
Coupling my expertise in software engineering with deep knowledge in an adjacent field such as ML I believe can open up new opportunities and give me the freedom to take my career along paths that weren't possible before. That is what I remind myself when I sit down to work homework problems late in the evening.
I'm also a CMU staff member and I audited 10-601 this past semester but had to stop halfway through because it was too over my head, props to you for doing well in it!
If you want to do machine learning, those two ops are pretty much the foundation of how it works under the hood.
If you want to do coding in general, I like to say that you can have a career in code without being good at math. But, math is how great coders do what seems like magic to other coders.
As a grown up who has already been working as a software developer for ~10 years, do you have any recommendations on books to read, courses to do etc if I want to improve my maths? I’m not terrible, but I know I could be a lot better!
I was on the same boat as yours about 3 months ago and I picked up 3 books based on HN comments;
1. No bullshit guide to Maths and Physics [1]
2. No bullshit guide to Linear Algebra [1]
3. A programmer’s introduction to mathematics [2]
I haven’t gone through the books completely but I’m halfway through the ‘no bullshit..’ books and I liked them based on how easy they were for me to approach.
May be they also fit your learning style as well?
Hope this helps and happy learning.
I'm same as you too but I did have some background in math from college but I've been rusty on them already.
- I know it's said over and over again but KhanAcademy is pretty good for high-school math
- For probability, I'm also going over this website[1] at the moment. Maybe someone else has other recommendations too
- Linear Algebra is next on my list but others have given some reference for it already
- Andrew Ng's course on Machine Learning from Coursera is also another frequently recommended if you are trying to learn math for it
https://news.ycombinator.com/item?id=18741229 - what do you think about this? Is it really pointless to learn ML unless you're going to work in a big company that have access to a lot of data?
Derivatives were available for the most advanced level students in high school where I went. Even then it was understood that they were receiving college credit early. Linear algebra not at all.
No, that specific class isn't available to non CMU students or staff (of which I am the latter).
There are several CMU courses, however, where the full collection of lectures are available to watch on YouTube. The Fall 2017 offering of Mathematics for Machine Learning lectures are all on YouTube.
In 2018 I went from "zero to sixty", so to speak. At the beginning of the year I knew nothing about ML, and my math skills had gotten so rusty I couldn't even remember how to do simple derivatives or multiply two matrices.
In the first half of 2018 I relearned the college math that I had forgotten by working through MIT OCW's Linear Algebra, Calculus, and Probability courses.
In the Fall, I enrolled in Carnegie Mellon's 10-601 course, graduate "Introduction to Machine Learning". It was hard, it was a ton of work, but I did well and it was completely worth it as I now have a solid understanding of the basics of the field and can continue studying this upcoming year and into the future.