Comment

Comment by mailshanx

Like many people here have mentioned, mastering everything can take far too long, and is completely unnecessary in practice.

It is much, much more important to master the foundations, which consist of: 1) Probability and statistics 2) Linear algebra, and 3) Programming proficiency

To be more precise here is what you would need to know in each area:

1) Probability and stats: Properties of the most common distributions (Normal, Poisson, Exponential), conditional probability, properties of expectation, Bayes rule and its applications, hypothesis testing, confidence intervals, bootstrap / jackknife, know how to compute the power of a test, be able to run Monte Carlo simulations to model real world phenomena.

2. Linear Algebra: Know enough to understand and compute Eigenvalues / Eigenvectors, SVD and various matrix factorizations.

3. Programming proficiency: Algorithms and design patterns. Its enough to know the typical undergraduate algorithms course content: trees, heaps, hash tables, various sorting algorithms, graph algorithms: shortest paths, spanning trees, max flows.

If you know this, you can easily pickup everything else on a need-to-know basis. Depending on the domain you are working in, that might entail either natural language processing, computer vision, machine learning or big-data tools like Hadoop / Spark etc. All of that is very easy to learn once you have the foundations.

parent mailshanx 12 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton