It seems like there are so many subfields linked to Machine Learning. Is there a book or a blog that gives an overview of those different fields and what each of them do, maybe how to get started, and what background knowledge is required?
Two of the best textbooks out there are:
Pattern Classification by Duda and Hart, and
Pattern Recognition and Machine Learning by Bishop.
Another good resource is MIT's Open CourseWare site for their Machine Learning class.
You are right to feel that there are lots of sub-fields to ML.
Machine Learning in general is basically just the idea of Algorithms which improve over time. If you're simply curious, some random topics that come to mind include:
Classification, Association analysis, Clustering, Decision Trees, Genetic Algorithms, Concept Learning
As far as books go:
I'm currently using Introduction to Data Mining for a course right now. It covers quite a few of the topics I've listed above and usually has examples of algorithms/uses in each section.
You don't need too much background knowledge to understand a lot of the topics. Most algorithms have some math underlying them which is used to improve the results, and you obviously need to be comfortable with general programming/data structures.
If you're looking for a quick overview of the field, I recommend Christopher Bishop's 2010 Turing Lecture: Embracing Uncertainty: The new machine intelligence
The best formal overview I've seen so far is Stanford professor Andrew Ng's online lectures. They're at the college level, but approachable.
Peter Norvig's Theorizing from Data talk at Facebook is a quick overview of what's possible, but not nearly as in-depth as the Ng lectures.
I also wrote a blog post "Computing Your Skill" after spending months trying to understand TrueSkill, the ML system that does matchmaking and ranking on Xbox Live. The post goes into the foundational statistics needed for further study in machine learning.
videolectures.net has a large collection of Machine Learning videos . One very good technical introductory lecture on the site is Machine Learning, Probability and Graphical Models by Sam Roweis.
A good overview of the field is Tom Mitchell's seminar The Discipline and Future of Machine Learning. Here is a direct link to the video [mov].
The Machine Learning lecture notes on MIT OpenCourseWare are also very good. And the Syllabus page has a good list of recommended texts:
- Neural Networks for Pattern Recognition by Christopher Bishop
- Pattern Classification by Richard Duda et. al.
- The Elements of Statistical Learning: Data Mining, Inference and Prediction by T.R. Hastie et. al.
- Information Theory, Inference, and Learning Algorithms by David MacKay
- Machine Learning by Tom Mitchell
Artificial Intelligence: A Modern Approach is the most common text book for introductory AI courses.
Witten and Frank's book on Data Mining is a little easier to digest if that topic is what appeals to you.
The Machine Learning subreddit has interesting links for all levels.
Ethem Alpaydin's Introduction to Machine Learning is a pretty accessible overview of the field.
If you're feeling overwhelmed by the other options you might want to start with it first.