I am a programmer, and I want to become a machine learning researcher and a good software engineer. I dabbled with calculus, linear algebra, and real analysis for a few months when I was enrolled in a university. I majored in biology in the university, by the way. About $7$ years have passed since I dabbled with them, and I seem to have forgotten $99.9\%$.
I need to start math from scratch again. I've finished all but $3$ sections of Andrew Ng's machine learning class on coursera. I am going to read 'how to prove it' by velleman and then a discrete mathematics book. After then, I'll learn calculus, linear algebra, probability and statistics.
The problem is which discrete mathematics material to use after 'how to prove it'.
Amazon reviews say that Epp's book explains the concepts the best but that Rosen's book covers more subjects. According to amazon reviews, 'Concrete mathematics' by Knuth seems to be for students who already know calculus and linear algebra which I have to learn from scratch again.
Which learning material do you think is appropriate for a clueless self-learner like me?