Live data from Hacker News

Ask HN: Full-on machine learning for 2020, what are the best resources?

news.ycombinator.com

81–90 of 122 posts

Re: Ask HN: Full-on machine learning for 2020, what are the best resources?

#81

Honestly, skip all of the courses. Pick a problem to solve, start googling for common models that are used to solve the problem, then go on github, find code that solves that problem or a similar one. Download the code and start working with it, change it, experiment. All of the theory and such is mostly worthless, its too much to learn from scratch and you will probably use very little of it. There is so much ml cod…

One thing I’ve personally seen is software engineers with an interest in deep learning use it to solve very simple problems that just need a linear statistical model. That’s a risk you take, and one reason “gatekeeping” happens.

Re: Ask HN: Full-on machine learning for 2020, what are the best resources?

#83
I was in the same boat in 2014. I went a more traditional route by getting a degree in statistics and doing as much machine learning as my professors could stand (they went from groaning about machine learning to downright giddy over those two years). I worked as a data scientist for an oil-and-gas firm, and now work as a machine learning engineer (same thing, basically) for a defense contractor.

I’ve seen some really bad machine learning work in my short career. Don’t listen to the people saying “ignore the theory,” because the worst machine learning people say that and they know enough deep learning to build a model but can’t get good results. I’m also unimpressed with Fast AI for the reasons some other people mentioned, they just wrapped PyTorch. But also don’t read a theory book cover-to-cover before you write some code, that won’t help either. You won’t remember the bias-variance trade-off or Gini impurity or batch-norm or skip connections by the time you go to use them. Learn the software and the theory in tandem. I like to read about a new technique, get as much understanding as I think I can from reading, then try it out.

If I would do it all-over again I would:

1. Get a solid foundation in linear algebra. A lot of machine learning can be formulated in terms of a series of matrix operations, and sometimes it makes more sense to. I thought Coding the Matrix was pretty good, especially the first few chapters.

2. Read up on some basic optimization. Most of the time it makes the most sense to formulate the algorithm in terms of optimization. Usually, you want to minimize some loss function and thats simple, but regularization terms make things tricky. It’s also helpful to learn why you would regularize.

3. Learn a little bit of probability. The further you go the more helpful it will be when you want to run simulations or something like that. Jaynes has a good book but I wouldn’t say it’s elementary.

4. Learn statistical distributions: Gaussian, Poisson, Exponential, and beta are the big ones that I see a lot. You don’t have to memorize the formulas (I also look them up) but know when to use them.

While you’re learning this, play with linear regression and it’s variants: polynomial, lasso, logistic, etc. For tabular data, I always reach for the appropriate regression before I do anything more complicated. It’s straightforward, fast, you get to see what’s happening with the data (like what transformations you should perform or where you’re missing data), and it’s interpretable. It’s nice having some preliminary results to show and discuss while everyone else is struggling to get not-awful results from their neural networks.

Then you can really get into the meat with machine learning. I’d start with tree-based models first. They’re more straightforward and forgiving than neural networks. You can explore how the complexity of your models effects the predictions and start to get a feel for hyper-parameter optimization. Start with basic trees and then get into random forests in scikit-learn. Then explore gradient boosted trees with XGBoost. And you can get some really good results with trees. In my group, we rarely see neural networks outperform models built in XGBoost on tabular data.

Most blog posts suck. Most papers are useless. I recommend Geron’s Hands-On Machine Learning.

Then I’d explore the wide world of neural networks. Start with Keras, which really emphasizes the model building in a friendly way, and then get going with PyTorch as you get comfortable debugging Keras. Attack some object classification problems with-and-without pretrained backends, then get into detection and NLP. Play with weight regularization, batch norm and group norm, different learning rates, etc. If you really want to get deep into things, learn some CUDA programming too.

I really like Chollet’s Deep Learning with Python.

After that, do what you want to do. Time series, graphical models, reinforcement learning— the field’s exploded beyond simple image classification. Good luck!

Re: Ask HN: Full-on machine learning for 2020, what are the best resources?

#84
Ask yourself: Do you really need ML to solve the problems you're interested in solving?

If you're learning it for career purposes, keep in mind that many corporate ML use-cases are problematic at best. At worst, you will produce something that kills someone inadvertently, possibly more than one person.

Learn about the many pitfalls and limitations of ML. Learn about inadvertent bias in datasets. Learn about the issues with inputs not represented (or not adequately represented) in your training dataset.

Most importantly, understand that ML is not magic and without significant guardrails in place, there's a good chance something will fuck up.

Re: Ask HN: Full-on machine learning for 2020, what are the best resources?

#85

Earlier quoted context omitted.

Julia is a blast to do research on this stuff in, if you want to go beyond the basics like TensorFlow and PyTorch allows. The 2020's is going to be the decade of mixing numerical PDEs with machine learning IMO, and Julia already has a lot of features along these lines that are missing from "traditional ML" libraries.

Interesting. I was going to go through their yearly conference talks to get an sense of Julia’s capabilities. JuliaCon2019 etc on youtube. Is that the best way?

Possibly. On this topic (machine learning, differentiable programming, GPU and parallel computing) I'd recommend the following videos:

https://youtu.be/FGfx8CQHdQA

https://youtu.be/OcUXjk7DFvU

https://arxiv.org/abs/1907.07587

https://youtu.be/7Yq1UyncDNc

https://youtu.be/_E2zEzNEy-8

https://youtu.be/6ntJ_al4oXA

https://youtu.be/HfiRnfKxI64

Re: Ask HN: Full-on machine learning for 2020, what are the best resources?

#86

Earlier quoted context omitted.

My opinion is that the theory starts to make sense after you know how to use the models and have seen different models produce different results. Very few people can read about bias variance trade off and in the course of using a model, understand how to take that concept and directly apply it to the problem they are solving. In retrospect, they can look back and understand the outcomes. Also, most theory is useless…

The danger is throwing something into production without understanding bias and variance, overfitting (or other important concept) with potentially disastrous results.

Exactly!

One cannot do ML without some basic theoretical knowledge of Statistics and Probability. This gives you the What and the Why behind everything. GI-GO is more true of ML than other disciplines. The techniques used are so opaque that if you don't know what you are doing, you can never trust the results.

Re: Ask HN: Full-on machine learning for 2020, what are the best resources?

#87
In following order:

1. Michael Nielson's book: http://neuralnetworksanddeeplearning.com/

2. Stanford CS231n course: http://cs231n.stanford.edu/

3. DRL hands on book: https://www.amazon.com/Deep-Reinforcement-Learning-Hands-Q-n...

After this churn through research papers or medium articles on conv net architecture surveys, batchnorm, LSTM, RNN, transformers, bert. Write lots of code, try things out.

Re: Ask HN: Full-on machine learning for 2020, what are the best resources?

#88

I was in the same boat in 2014. I went a more traditional route by getting a degree in statistics and doing as much machine learning as my professors could stand (they went from groaning about machine learning to downright giddy over those two years). I worked as a data scientist for an oil-and-gas firm, and now work as a machine learning engineer (same thing, basically) for a defense contractor. I’ve seen some reall…

/Thread

Excellent detailed advice! This is THE roadmap for ML study.

PS: While many of us may not have the time/resources for a graduate course, one can absolutely get the mandatory theoretical ideas from books/courses/videos/etc.

Re: Ask HN: Full-on machine learning for 2020, what are the best resources?

#89

I was in the same boat in 2014. I went a more traditional route by getting a degree in statistics and doing as much machine learning as my professors could stand (they went from groaning about machine learning to downright giddy over those two years). I worked as a data scientist for an oil-and-gas firm, and now work as a machine learning engineer (same thing, basically) for a defense contractor. I’ve seen some reall…

Impressed with your response, thanks for the clarity you have presented through your examples. Once again, thanks a lot.

Re: Ask HN: Full-on machine learning for 2020, what are the best resources?

#90

Honestly, skip all of the courses. Pick a problem to solve, start googling for common models that are used to solve the problem, then go on github, find code that solves that problem or a similar one. Download the code and start working with it, change it, experiment. All of the theory and such is mostly worthless, its too much to learn from scratch and you will probably use very little of it. There is so much ml cod…

I hope you're trolling because this is a guaranteed way to climb a peak of stupidity [1]. If OP is determined to get a bit deeper than 30 min guides on Medium, there is sure theory to learn. But it is merely second year of college, and probably you would like to skip Kolmogorov axiomatics and measure theory, it won't hurt your understanding of bleeding edge researches. [1] https://en.m.wikipedia.org/wiki/Dunning%E2%8…

I disagree with you. Both ways work. Starting from theory, or starting from practice.

However, in a business setting, starting from practice is much more effective. As a lead dev and a manager who's had over 20 years of experience in AI/ML I've trained several engineers in building ML systems.

I always start with a business problem and point them to resources (frameworks, blogs, jupyter notebooks) to help them along. The problem is small enough for them to solve in less than a quarter. I avoid micromanaging them and will only answer larger questions by providing more resources. If they really get stuck I'll sit with them and walk through the issue. I have yet to have an engineer be unable to 1) get a model working and 2) tune it to production quality.

Post reply on HN