Get Started And Avoid Getting The Wrong Advice
Machine learning is a fascinating and powerful field of study filled with algorithms and data.
The thing is, there are so many different types of people interested in machine learning, and each has different needs. It is important to understand what it is you want from machine learning and to tailor your self-study to those needs.
If you don’t, you could very easily go down the rabbit hole and get lost, lose interest and not get what you’re looking for.
Find Your Tribe!
In this post you will discover the 10 main groups of people interested in machine learning. I call them machine learning tribes.
You will discover the general needs and the types of resources that each tribe will find most valuable.
Importantly, you can review the 10 tribes and discover where you fit, find comfort that there are other people like you and get an idea of what your next steps could be.
Where do you fit? Leave a comment and let me know.
Avoid Tribe Mismatch, It’s Very Common
You’re interested in machine learning. You ask around and a specific course or book is recommended.
A few hours in, you get frustrated but you’re not sure why.
Has this happened to you?
It’s because the resource you picked up is great, it just might not be great for your specific circumstance.
This is a common problem and I call it the problem of mismatch.
Classic Example of the Developer and the Textbook
A classic example is a developer interested in working through a one-off problem. They are recommended a machine learning textbook.
They purchase it, start reading and never make it past the first chapter.
A textbook is perfect for a student in a graduate machine learning class with 4 years of math class in their recent past.
It is next to useless for a developer, 10 years into their career looking at machine learning as a tool to deliver a result.
This is why it is critical to know about the different groups interested in machine learning and to which group you belong. So that you can find other people like you and start using the resources that will actually help you get the solution you’re after.
10 Machine Learning Tribes
In this section we lay out 10 different groups of people interested in machine learning.
I’ve given each name, highlighted their main goals and interests and listed resources that people in that group can use in their next steps. I’ve also grouped the groups by general theme such as business, academic, engineering and data.
There may be some overlap in the groups. It is also possible that you belong to one or more of them. That’s fine (and I’d love to hear about it in the comments).
Also, we are constraining our interest here to machine learning, not all of data science, which is broader.
Let’s dive in.
Here’s a quick snapshot of the 10 tribes:
- Business Tribes
- 1) Business Person with a General Interest
- 2) Manager Interested in Delivering a Project
- Academic Tribes
- 3) Machine Learning Student in a Undergraduate or Graduate Class
- 4) Machine Learning Researcher Interested in Impacting the Field
- 5) General Researcher Interested in Modeling Their Problem
- Engineering Tribes
- 6) Programmer Interested in Implementing Algorithms
- 7) Developer Interested in Delivering One-Off Predictions
- 8) Engineer Interested In Developing Smarter Software And Services
- Data Tribes
- 9) Data Scientist interested in Getting Better Answers to Business Questions
- 10) Data Analyst interested in Better Explaining Data
Generally, these are people interested in harnessing machine learning effectively in their organization, but not necessarily interested in the nuts and bolts of algorithms or tools.
Business people might use terms like business intelligence or predictive analytics, both of which are more general fields that may make use of machine learning techniques.
1) Business Person with a General Interest
This may be anyone from an executive to a consultant who has heard about machine learning and is looking to make use of it strategically, perhaps in upcoming projects or initiatives.
This is not really my area, but some resources that might be useful for more strategic thinking include:
- Gartner’s Magic Quadrant for Advanced Analytics Platforms, 2015
- Gartner’s Machine Learning Drives Digital Business, 2014
- McKinsey’s An executive’s guide to machine learning, 2015
I would also recommend the books in the next section for “Managers“.
2) Manager Interested in Delivering a Project
This is a project manager or similar leadership position on a project in which machine learning is being used. It may be a niche feature of the project or core to the project.
Resources that would be useful would be high-level perspectives on the field that relate various classes of problem and algorithm without going into too much detail.
Check out the following books:
- Predictive Analytics: The Power to Predict Who Will Click, Buy, Lie, or Die
- Data Science for Business: What you need to know about data mining and data-analytic thinking
- Data Smart: Using Data Science to Transform Information into Insight
Generally, these are people interested in machine learning from an academic perspective. They may be students (undergraduate or postgraduate) or otherwise associated with a university.
Additional examples are post-docs, research associates and lectures of various sorts.
Academic tribes may spend a lot of time researching a specific machine learning algorithm in research papers. You can learn more about researching algorithms in the post “How to Research a Machine Learning Algorithm“.
3) Machine Learning Student in a Undergraduate or Graduate Class
A machine learning student is very likely taking a class and interested in hyper-specific questions related to techniques and algorithms.
A student has the structure to focus and the time to dive deeper into the material. They are best served with a textbook. Some of the best machine learning textbooks are as follows:
- Learning From Data
- Machine Learning: A Probabilistic Perspective
- Pattern Recognition and Machine Learning
- The Elements of Statistical Learning: Data Mining. Inference. and Prediction
4) Machine Learning Researcher Interested in Impacting the Field
A machine learning researcher is interested in a deep understanding of one aspect of machine learning to the point of making a minor addition to extend the field.
A researcher is interested in research papers, journals and the organizations and networking that go along with them.
Textbooks don’t cut it, they’re secondary sources and out of date.
Some high-profile machine learning journals and proceedings are:
- Journal of Machine Learning Research (JMLR)
- Neural Information Processing Systems (NIPS)
- Knowledge Discovery and Data Mining (SIGKDD)
- International Conference on Machine Learning (ICML)
Checkout the great answers to the Quora question “What are the best conferences and journals about machine learning?“.
Here’s a handy list of the top 50 ranked journals in Artificial Intelligence.
5) General Researcher Interested in Modeling Their Problem
A general researcher may be interested in machine learning, but as a tool. They are most likely interested in building a descriptive or predictive model using their own data.
For example, a scientist from the field of client research, geology, or biology has their own dataset and is looking to create a model in order to make predictions and/or better understand the underlying problem.
They are often less interested in model accuracy and more interested in model explainability. Therefore, simpler well understood methods borrowed from statistics are preferred, such as linear regression and logistic regression.
Nevertheless, good systematic process is desired.
I would recommend the resources under the “Engineering Tribes“, specifically,”Developer Interested in Delivering One-Off Predictions“. Also take a look at the “Data Scientist” group under “Data Tribes“.
Generally, a group of developers that are used to delivering solutions to problems with software and want to incorporate machine learning.
A good general post I recommend for engineers looking to get into machine learning is “Machine Learning for Programmers“.
Engineer Tribes can get a lot of help and support in machine learning communities like those on Q&A sites. For more information, checkout the post “Machine Learning Communities“.
6) Programmer Interested in Implementing Algorithms
An excellent way for a programmer to develop skills in machine learning is to use their existing programming skills and implement machine learning algorithms from scratch.
I talk a lot about this approach and give good tips and resources in my blog post “Understand Machine Learning Algorithms By Implementing Them From Scratch“.
Three books I recommend for this approach taken from that blog post are:
- Data Science from Scratch: First Principles with Python
- Machine Learning in Action
- Machine Learning: An Algorithmic Perspective
7) Developer Interested in Delivering One-Off Predictions
A developer is not necessarily a great programmer, and programming is not required to develop and deliver an accurate and reliable predictive model.
A one-off predictive model may be required in a business environment for the set of predictions it can provide. It is also a powerful model for self-stud, for working through practice datasets and even machine learning competitions.
You can learn a lot by working systematically through a process on a problem and delivering a standalone model.
Checkout my systematic process for working a machine learning problem end-to-end in the post “Process for working through Machine Learning Problems“.
8) Engineer Interested In Developing Smarter Software And Services
An engineer interested in adding machine learning to their software project requires some knowledge of the algorithms, some knowledge of how to work problems end-to-end and knowledge for how to get the algorithm running reliably in an operational environment.
This group of people grow from the previous two groups described and might best be described as a machine learning engineer. They look to use fast algorithms that deliver reliable and accurate results, balancing these concerns.
This group also makes heavy use of machine learning libraries and infrastructure.
Some useful resources on jumpstarting machine learning libraries include:
- Building Machine Learning Systems with Python
- Learning scikit-learn: Machine Learning in Python
- Practical Data Science with R
- Machine Learning with R
Also, checkout the post “Building a Production Machine Learning Infrastructure“.
Generally, this are groups of people that primarily are in data roles but may need to make use of machine learning.
9) Data Scientist interested in Getting Better Answers to Business Questions
The learning does not stop when you’re a data scientist.
You must stay on top of the latest data flows, techniques and algorithms. This includes the machine learning techniques that you need to describe data and create predictive models.
The data scientist can take what they need from the more applied resources listed under “Engineering Tribes“, as well as the more theoretical resources listed under “Academic Tribes“.
Nevertheless, some data science-centric machine learning resources that include this mix are:
- Applied Predictive Modeling
- An Introduction to Statistical Learning: with Applications in R
- Machine Learning for Hackers
10) Data Analyst interested in Better Explaining Data
Data analysts are primarily interested in explaining data in the context of business interests. Sometimes machine learning algorithms are useful for providing more powerful models. Mostly descriptive models, but also sometimes predictive.
Like the group “General Researcher“, this group likely has a good foundation in statistics and statistical inference. Also, given that they are most likely interested in a descriptive model, classical methods like linear and logistic regression may be sufficient. Explainability over accuracy in the resulting model.
Many of the same resources above would be useful, although perhaps with more of a statistical inference stance.
In this post you discovered 10 different groups of people interested in machine learning.
Here’s that handy mind map to summarize the 10 tribes:
Your action step is to review the list and figure out where you belong.
Which group is your tribe? Leave a comment below and let me know.