Live data from Hacker News

Show HN: ML From Scratch – free online textbook

dafriedman97.github.io

51–56 of 56 posts

Re: Show HN: ML From Scratch – free online textbook

#51
post #32

I read the title and was somehow was expecting a guide on compiler design implementing some flavor of the the ML language such as Standard ML.

Isn't one of Appel's books like that? I vaguely remember his CPS book being about implementing ML (His Intro to compiler in x books are not)

Re: Show HN: ML From Scratch – free online textbook

#52

Excellent! Very kind of you to do this. Are you accepting comments? If not, ignore the following. :) As someone who learned how to program from trial and error via tutorials on the internet (some of the people who are going to read your book are people like me), I just have one comment: Try not leaning on libraries in your tutorials. I know it sounds insane to suggest you not use numpy in any kind of ML tutorial, but…

I wrote this article you might like: https://github.com/jeremyong/cpp_nn_in_a_weekend/blob/master...

No dependencies. Just straight C++. The code is heavily annotated, doesn't use any matrix libraries or anything, and gets 92% accuracy or something without any fancy techniques on the MNIST handwritten digits database.

Re: Show HN: ML From Scratch – free online textbook

#53

Excellent! Very kind of you to do this. Are you accepting comments? If not, ignore the following. :) As someone who learned how to program from trial and error via tutorials on the internet (some of the people who are going to read your book are people like me), I just have one comment: Try not leaning on libraries in your tutorials. I know it sounds insane to suggest you not use numpy in any kind of ML tutorial, but…

I wholeheartedly agree with this. As a software developer without a strong math education, any time I open a "from scratch" ml learning resource, I immediately close it because I don't have an understanding of the math happening in the black box of numpy. Thank you for the Sentdex recommendation.

Can you elaborate? As an experienced numpy user, I don't really have an intuitive feel for what you describe. Numpy isn't really math it's mostly an array library for splitting, merging, reshaping arrays, swapping dimensions etc. and applying operators on all elements at once.

Outside of the things under np.linalg or np.fft, I cannot think of much really difficult math in numpy.

To grok numpy what you really need is a good mental model of the multidimensional array, reshapes, reductions, transpose and so on. But this isn't really math, it's more data wrangling and kinda boring and tedious "data chores" we need to do before we get to the interesting parts of the job.

Re: Show HN: ML From Scratch – free online textbook

#55

This book is awesome! How does this compare to Introduction to Statistical Learning or Elements of Statistical Learning? Other than the addition of code?

Thanks so much! I would say two major differences: 1, as you mention, it codes each method up from scratch in Python readers can really see each step the method uses. 2, it is focused on the derivations of these methods, rather than their intuition, applications, etc.

Re: Show HN: ML From Scratch – free online textbook

#56

This looks fantastic! As a bit of a selfish question, have you considered also offering a downloadable epub of this book? I've been trying to keep my long-form digital reading to my eReader, for the sake of not looking at LCDs all day, but that makes web ebooks a bit of a pain due to e-ink not liking scrolling very much.

You can now find a pdf version of the book at https://github.com/dafriedman97/mlbook/blob/master/book.pdf. JupyterBook is still working on the PDF creation, so this doesn't have any of the images unfortunately. That said, most of them aren't too important (until the neural net chapter, where they get a little more important)
Post reply on HN