My Machine Learning Books
What to read if you are doing data science
Machine learning/Data science
I started my science career as a biologist, with an undergraduate degree in microbiology and a master’s in biotechnology. Then for my Ph.D., I got into applied chemistry for biological systems, a.k.a biochemistry. Finally, towards the end of my Ph.D. program, I picked up some machine learning (ML) and data science (See my PhD memoir here).
And what made some of this transition easy is that I learned a long time ago that if you want to learn almost anything, no matter how intimidating it might appear, you can always pick up a book and read the damn thing. And then you take it up from there, which was precisely what I did when I started developing an interest in ML.
Earlier this week, I came across folks sharing stacks of their ML books online, so I figured I should do the same, and perhaps a little more than that – to blog about them.
First, the stack:
I have included my short reviews of these books as it appears here.
Data Science from Scratch: First Principles with Python by Joel Grus.
I covered a large swath of the content in this book, especially the parts on Python’s anatomy. I enjoyed it; it’s bringing me up to speed on data science.
Machine Learning by Ethem Alpaydin (Non-technical).
A great introduction to Machine Learning. To read through seamlessly, some very basic knowledge of CS and stats would help a great deal. Having taken a graduate-level class in statistical learning, this was a light read, except for a few sections on deep learning. My favorite parts of the book are Ethem's salutary use of analogies like 'learning with a critic' for reinforcement learning; 'learning with a teacher' for supervised learning; 'learning without a teacher' for unsupervised learning, and a whole lot of those handy goodies. In general, this is a nice little book on a technology that is rapidly changing the way we live! From digital medical diagnosis, to Alexa, to Amazon Go.
Deep Medicine: How Artificial Intelligence Can Make Healthcare Human Again by Eric J. Topol (Non-technical).
This one is a good read. I have read a few materials on AI and biology (medicine), but this one stands out. The fourth industrial revolution had begun, and Dr. Topol managed to map out how AI is impacting, and will impact, medicine. Perhaps you know of how Instagram photos have been used to reveal predictive markers of depression. Or how scientists are using AI to predict the time of death. Skin cancer detection with your smartphone. Mobile apps for medical diagnosis. Drug discovery insilico. What can I say: new world, new times.
A Course in Machine Learning by Hal Daumé III.
My first pass at CIML is the first ten chapters (decision trees to neural networks), and it does well to fulfill its promises as a very clear introductory text to machine learning. Short chapters, meaningful analogies, without taking anything away from the necessary technicalities. Reading CIML + Introduction to Statistical Learning is a diet every aspiring machine learning scientist must get on quickly.
The Book of Why: The New Science of Cause and Effect by Judea Pearl, Dana Mackenzie (Non-technical).
You and I know that it isn't the cock crow that causes the sun to rise. And yet we do know that, for example, "the ball fell because the young lady over there threw it," even though one event precedes the other in both cases. It turns out that a robot can't tell the difference between the two because a robot can't tell the difference between correlation and causation. For a robot to be endowed with this capability, the mathematization of causation, causal inference, has to be straightened out. This is the story the book shares - the algorithmization of causation. The authors started with the history of correlation and causation. (And the suppression of the latter in the statistical field.) This suppression led to the unnecessary obfuscation in the, for example, identification of smoking as a cause of lung cancer, which led to many deaths. The author introduced the ladder of causation, which is effectively the spine of the book: 1) observing (this is the realm of machine intelligence today), 2) intervention (What ifs questions), and 3) counterfactuals (imagination: What if I had done X). The book carefully climbed up this ladder introducing Bayesian networks, confounding and deconfounding, back door adjustment, front door adjustments, paradoxes burst with casual thinking, structural causal models, etc. Finally, Dr. Pearl ended with an audacious prophecy about machine intelligence - AI systems that can think and be self-aware.
An Introduction to Statistical Learning: With Applications in R by Gareth James, Trevor Hastie, Robert Tibshirani, Daniela Witten
This book is one of the primary texts that introduced me to statistical learning. I have read bits and pieces over the years, and it finally came together. It reads like a ‘storybook,’ that is, as best as a textbook can read like a ‘storybook.’ Concepts like bias and variance, under (and over) fitting, were handled gracefully. Topics covered include linear regression, resampling methods, tree-based methods, SVM, dimensionality reduction, clustering, etc. For the R exercises, I skipped them. I will probably do a python version if I can get the time in the future. Finally, I also noticed something: the moment I read just about half of the book, suddenly I could read more ‘intimidating’ materials on the subject. As such, by reading this book, I only have one regret - that I didn’t go hard the first time I picked up the book!
Hands-On Machine Learning with Scikit-Learn and Tensorflow: Concepts, Tools, and Techniques to Build Intelligent Systems by Aurélien Géron
This book will go straight to the top of my list of best ML books. It is minimalist in theory and essentially a code repository, hence Hands-On. This is the first edition which is a crucial point to make. I got the first edition read 3/4 of its content only to realize that a second edition had been published and that I wasn't getting the 'full package,' so I stopped and got a 2nd edition (... still plowing through). A few changes to note in the 2nd edition. 1) Additional ML topics were covered, such as unsupervised learning techniques, object detection with YOLO, semantic segmentation with R-CNN; 2) new libraries and API were introduced, e.g., Keras; 3) migration of TensorFlow chapters to TensorFlow 2; and many others. The most pronounced changes are in part II of the book on Neural Networks and Deep Learning. So I wouldn't buy this one today for sure. Details about changes in the 2nd edition can be found here: http://homl.info/changes2
Interpretable Machine Learning by Christoph Molnar
Perhaps it will be befitting to start with a confession: I have not read many machine learning texts that are well written like Christoph's book. It is technical and, at the same time, not technical (say, Schrödinger's book :) ). I am a biochemist who works in a sub-field that uses morbidly old IML method(s), and to read the book feels like taking in large quantities of very cold water after a hectic soccer game on a merciless hot (summer) day. It feels like I have just read ~30 recent papers(!) in IML - papers that I wouldn't have had the time to read. The book started with a friendly introduction to the field, followed by intrinsically interpretable models, model agnostic models, neural network interpretations, and some prophecy on the future of I(ML).
Hands-On Gradient Boosting with XGBoost and scikit-learn: Perform accessible machine learning and extreme gradient boosting with Python by Corey Wade
Builds up carefully from decision tree (DT) learning to the bagging of DT into random forests to gradient boosting, and then to XGBoost. Also, a handy text for hyperparameter tuning for tree-based models.
Partly Completed/Currently Reading/Not yet Reviewed/On My Shelf:
Python Data Analytics: With Pandas, NumPy, and Matplotlib by Fabio Nelli
Survival Analysis: A Self-Learning Text, Third Edition (Statistics for Biology and Health) by David G. Kleinbaum, Mitchel Klein.
Deep Learning for the Life Sciences: Applying Deep Learning to Genomics, Microscopy, Drug Discovery, and More by Bharath Ramsundar, Peter Eastman, Patrick Walters, Vijay Pande.
Modern Computer Vision with PyTorch: Explore deep learning concepts and implement over 50 real-world image applications by V Kishore Ayyadevara, Yeshwanth Reddy.
The Deep Learning Revolution By Terrence J. Sejnowski
Linear Algebra by Fraleigh Beauregard
Mathematics for Machine Learning by M. P. Deisenroth, A. A. Faisal, C. S. Ong
And I Must add that…
I didn’t learn data science by only reading books. In addition, I took a couple of graduate-level classes while concluding my Ph.D. in biochemistry, more than a couple of MOOCs, crapload of YouTube videos, and I read technical papers. But, most importantly, I worked (still working) on applied ML projects, some of which are published: see here and here. I also keep a GitHub repo documenting some of this learning journey.
Thanks for reading Bifarin V Substack! Subscribe for free to receive new posts and support my work.