
Machine learning and predictive analytics are transforming the way businesses and other organizations operate. Being able to understand trends and patterns in complex data is critical to success, becoming one of the key strategies for unlocking growth in a challenging contemporary marketplace. Python can help you deliver key insights into your data -- its unique capabilities as a language let you build sophisticated algorithms and statistical models that can reveal new perspectives and answer key questions that are vital for success. Python Machine Learning gives you access to the world of predictive analytics and demonstrates why Python is one of the world's leading data science languages. If you want to ask better questions of data, or need to improve and extend the capabilities of your machine learning systems, this practical data science book is invaluable. Covering a wide range of powerful Python libraries, including scikit-learn, Theano, and Pylearn2, and featuring guidance and tips on everything from sentiment analysis to neural networks, you'll soon be able to answer some of the most important questions facing you and your organization.
Which book would you recommend, a book with practical approach, comprehensive and readable for latest developments in dl?
Some other recommendations include
"Python Machine Learning" by Sebastian Raschka and Vahid Mirjalili
"Deep Learning" by Ian Goodfellow, Yoshua Bengio, and Aaron Courville
"Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow" by Aurélien Géron
- The Master Algorithm: made for a general audience, gives you a lay of the land
- Python Machine Learning by Sebastian Raschka: gives you practical skills using python, scikit-learn, numpy, jupyter notebooks, pandas etc. From zero to kaggle in 4 chapters, goes deeper after that. Also goes into enough theory you aren't flying completely blind.
After that, I'm afraid I think you do need to go "academic", if by that you mean learning some of the underlying math to approach AI / ML from a more rigorous probabilistic perspective. I'd recommend studying probability theory and then working your way through Bishop's Pattern Recognition and Machine Learning. After that a lot more doors open up too more specialized topics like computer vision, reinforcement learning etc.
I've written up a lot more about this here:
I have had a really pragmatic approach about reading them - only focusing first on parts relevant to my projects.
# An Introduction to Statistical Learning (ISL) / The Elements of Statistical Learning (ESL)
I focused on chapter 8-9 of ISL about Tree Based Methods and SVMs, two algorithms I used for my dissertation project. I found ISL to provide very clear explanations of the algorithms with just enough mathematical formalism.
I have a good math background so ESL was interesting to go through. But I am more of a practical person, and I found ISL to be more suited for me when it came down to working on my project and supporting my choices.
# Python Machine Learning
Really great hands-on book ! Sebastian Raschka manages well to guide you through all steps of a ML project data: pre-processing, feature engineering, model selection... - all the steps are defined and covered with practical examples.
I strongly recommend this book if you are just starting out with ML and feel "lost" about how to start your own project.
# Taming Text
I decided to use text data I had available for my dissertation project. However, half-way through the book I realized my dataset was to small to apply any of the techniques described there. I still like the practical approach and in the end the book gave me a good idea of what can be done with text.
# Advanced Analytics with Spark
I picked this book once I started working on the implementation of my project into production - we use Apache Spark (Scala) at work.
It provided me with a good introduction to Spark BUT it's based on the RDD-api and as stated on Spark website: "As of Spark 2.0, the RDD-based APIs in the spark.mllib package have entered maintenance mode. The primary Machine Learning API for Spark is now the DataFrame-based API in the spark.ml package."
I'm now mostly relying on Spark Doc / API, I'm not aware of any up-to-date books yet :)
Reqs:
* Metacademy (http://metacademy.org) If you just want to check out what ML is about this is the best site.
* Better Explained (https://betterexplained.com/) if you need to brush up on some of the math
* Introduction to Probability (https://smile.amazon.com/Introduction-Probability-Chapman-St...)
* Stanford EE263: Introduction to Linear Dynamical Systems (http://ee263.stanford.edu/)
Beginner:
* Andrew Ng's class (http://cs229.stanford.edu)
* Python Machine Learning (https://smile.amazon.com/Python-Machine-Learning-Sebastian-R...)
* An Introduction to Statistical Learning (https://smile.amazon.com/Introduction-Statistical-Learning-A...)
Intermediate:
* Pattern Recognition and Machine Learning (https://smile.amazon.com/Pattern-Recognition-Learning-Inform...)
* Machine Learning: A Probabilistic Perspective (https://smile.amazon.com/Machine-Learning-Probabilistic-Pers...)
* All of Statistics: A Concise Course in Statistical Inference (https://smile.amazon.com/gp/product/0387402721/)
* Elements of Statistical Learning: Data Mining, Inference, and Prediction (https://smile.amazon.com/gp/product/0387848576(
* Stanford CS131 Computer vision (http://vision.stanford.edu/teaching/cs131_fall1617/)
* Stanford CS231n Convolutional Neural Networks for Visual Recognition (http://cs231n.github.io/)
* Convex Optimization (https://smile.amazon.com/Convex-Optimization-Stephen-Boyd/dp...)
* Deep Learning (http://www.deeplearningbook.org/ or https://smile.amazon.com/Deep-Learning-Adaptive-Computation-...)
* Neural Networks and Deep Learning (http://neuralnetworksanddeeplearning.com/)
Advanced:
* Probabilistic Graphical Models: Principles and Techniques (https://smile.amazon.com/Probabilistic-Graphical-Models-Prin...)
I have also found that looking into probabilistic programming is helpful too. These resources are pretty good:
* The Design and Implementation of Probabilistic Programming Languages (http://dippl.org)
* Practical Probabilistic Programming (https://smile.amazon.com/Practical-Probabilistic-Programming...)
The currently most popular ML frameworks are scikit-learn, Tensorflow, Theano and Keras.
Like the OP himself (hi Alex), I'm also frustrated with the quality of books (many of which are print-on-demand) from Amazon.
Case in point: Algorithms Illuminated by Tim Roughgarden (https://algorithmsilluminated.org/). Great set of books, but poor quality, sadly. All printed on demand.
Ditto with Sebastian Raschka's (early) books from Packt Publishing (Python Machine Learning). Great content, but poor printing (very low contrast, etc).
This is not a debate on ebooks vs paper books, or PDF vs something else. It's about quality of printed books.
I paid $$$ for Kevin Murphy's _Probabilistic Machine Learning_ from MIT Press. Excellent quality paper, great printing. It's a keeper. I'll be reading it years from today. Just as I read (and have) books from decades ago. I might pass 'em on to somebody well deserving, not junking them to recycle.
Like OP, I want my books and my library to be long lasting. It's a joy. And I'm happy to pay a higher price if needed.