I'm currently studying machine learning using Bishop's book "Pattern Recognition and Machine Learning". The main disadvantage of this book (for me) is a lack of practical applications. Also it seems like some chapters somehow replicate each other, following the same structure: cons of MLE approach, pros of Bayesian approach, Laplace approximation and some (very superficial) information. Thus, it could be reasonable to read either only the last few sections of each chapter or to find out the main idea by the first few sections and skip the rest ones since they are straightforward.
On the other hand, I found books like "ML for (programming language): ..." focus on implementation of algorithms rather than explanation of choosing an appropriate algorithm for a given problem. Therefore, if one cuts out programming specific topics the book becomes very poor.
I want to understand theoretical foundations of basic ML algorithms and learn how to apply these algorithms in practice. While Bishop's book covers the first goal fairly well, information for the second one is not enough. Since I just briefly flipped through other books I could get a wrong impression about them. So can anyone please suggest a book(s) or some other resource that fits my needs and/or complement Bishop's book?