
Mathematics for Machine Learning [pdf] - yarapavan
https://mml-book.com/
======
mendeza
I am taking CS 236 (Deep Generative Models) at Stanford and this course really
helped me a lot in reviewing the math I needed for the class. This is because
the chapters focus on the concepts and ideas you should know, so you don't
have to waste time learning everything there is to know about linear algebra
and convex optimization, but the essentials for machine learning.

------
sergeyfilippov
How would you compare this book to the first part of "Deep Learning" book (by
Ian Goodfellow, Yoshua Bengio, and Aaron Courville)?
[https://www.amazon.com/gp/product/0262035618](https://www.amazon.com/gp/product/0262035618)

~~~
zer0sugar
I feel obligated to interject here as I have not read the book OP linked to
but I have attempted to read the paper weight calling itself a book that you
linked to.

I have it right here actually. It's basically total trash. They claim to show
you how to do the math but at the very best all they do is restate random
formulas without any explanation. It's not even good enough to serve as a
refresher if you know the math. It relies very heavily on you mentally
decompiling mathematical notation. I can't believe I got fooled into buying
that book.

If you just want to learn the math there's no easier way than to pick up some
math books from half price books. They're $10 a pop. It's an affordable way to
learn at your own pace.

~~~
random314
As a counterpoint, I have the book and found it to be really helpful.

~~~
disgruntledphd2
I enjoyed the book, but have a background in this area.

I was amused by the suggestion that computer science undergrads could handle
the book, as clearly the authors and I have met _very_ different computer
science undergrads.

~~~
mlthoughts2018
The Courville, Goodfellow and Bengio book is definitely suitable for
undergraduates. In my current job, we often have new junior level (bachelor’s
grads) ML hires work through that book and present chapters in the team
reading group. In my experience both as a TA in my PhD program and in
industry, that book is fairly easy to read through for anyone with solid
understanding of linear algebra and vector calculus, which are freshman /
sophomore level college math courses.

~~~
zer0sugar
Here's a photo of a random page.

[https://i.imgur.com/vv1CRLv.jpg](https://i.imgur.com/vv1CRLv.jpg)

You can trust me when I say the entire book is about as unreadable as that and
often worse. I'm not afraid of math either. But the book certainly is not
teaching anyone anything.

~~~
random314
I am astounded by how you continue to insist that the book doesn't teach
anyone anything, when I have already stated that I learned something from it!
And of course the book has equations in it. What did you expect?

~~~
zer0sugar
What did you learn from it?

None of my math books are as obtuse as it is. The equations are presented on
their own without explanations. On that page alone they're using quite a bit
of mathematical notation that I, at least, have never seen before and I
suspect it's largely unnecessary.

What did I expect? I expected a book that explained the concepts in plain
english as well as mathematically. I expected the authors to be mature enough
not to heavily decorate every single equation with as much mathematical
notation as possible. Sort of like how bad coders make their code hard to
read. That's the vibe I'm getting from the book.

~~~
random314
I learnt eigen decomposition, Hessians, PCA, backpropagation, CNN, dropout,
maxpooling etc.

The page you linked above is the derivation of PCA using linear algebra.

First part derives the encoding matrix from the decoding matrix. 2nd part
derives the encoding matrix by minimizing the L2 norm.

If you find the math too heavy, you should take Andrew ngs course at Coursera
(not his Stanford lectures, which follow a pattern similar to this book). Or
pick up any book targeting programmers, machine learning for hackers etc.

------
Anon84
Previous discussion from April 2018:
[https://news.ycombinator.com/item?id=16750789](https://news.ycombinator.com/item?id=16750789)

------
Nicci00
Id be useful to have a "math for programmers book" that uses pseudo code
instead of math notation. I studied math notation in 8th grade and then forgot
about it.

~~~
TallGuyShort
"Coding the matrix" was the breakthrough for me in grokking linear algebra,
and this is what it does. Things are explained in terms of matrices and the
mathematical transformations, and then explained in terms of python data
structures and a loop over the elements. And most of the examples are computer
science, like rotating images.

~~~
uwuhn
I remember this course when it first came out, but didn't go through it since
I didn't actually know how to program/code back then. Should I just buy the
paperback off Amazon?

~~~
TallGuyShort
I didn't even know it was a course, I just got the book on Kindle. But I'd say
go for it - as the other commenter said, it's cheap, and it doesn't require
much coding knowledge, and it even explains most of what you do need to know
if it's new to you. The real breakthrough is implementing the transformation
in terms of fairly simple loops - which as a coder worked well for my brain. A
non-coder might not find the advantage as big as I did, but I certainly don't
think someone who can pick up some basic coding would struggle to understand
what is being taught.

