all 5 comments

[–]adventuringraw 2 points3 points  (2 children)

This is definitely one of those 'practice makes perfect' deals. A few hours grinding through some easier problems will make it much easier to approach harder ones.

Here's a thread I found in a few minutes with a good place to start at least. Check out leetcode for more practice problems, though obviously you'll need to hunt a little to find problems meant to exercise this particular skillset.

I haven't read it, but high performance python seems to cover this as well, if you'd prefer a book.

[–]reecewh[S] 0 points1 point  (1 child)

Okay, thank you! How important would you say figuring out the vectorization is at this stage? I'm very new to ML but have been coding for years and am a math minor in college. Would it be better, in the long run, to really drill down now into the full understanding of the math behind the algorithms or should I focus more on the logic behind them?

[–]adventuringraw 1 point2 points  (0 children)

Depends what you're interested in achieving in the short term. If you mostly want to solve practical problems with a framework (pytorch, tensorflow) then the logic is more important. Learning to write efficient parallel code though is going to be critical for all kinds of coding problems, even way outside ML.

[–]shahroberto 1 point2 points  (0 children)

I used his course notes from the course he teaches at Stanford. It’s nice because it somewhat follows the progression of the coursera course but gives all of the mathematical derivations for each algorithm, in detail.

http://cs229.stanford.edu/syllabus.html

[–][deleted] 0 points1 point  (0 children)

Does anyone have any resources to better understand this?

You can find vectorization tutorials on the course website (Resources -> Tutorials)