Prerequisites for Learning Machine Learning
Mike Chambers
?? AI Specialist @AWS | GenAI Nerd ?? | Helping builders craft the future with ML & Generative AI | Speaker, Educator, Advocate ???? bsky:@mikegchambers.com
Following on from my last piece about being ready to sit an AWS Specialty Cert, today, and in response questions that article raised, I will outline where I think you need to be before starting to learn machine learning.
As most of you will know, I am creating a best of breed course on this subject, and AWS has awarded me ML Hero status for my work in this area. If you're interested in the course it's here: https://link.mls-c01.com
First, let's set some boundaries. Machine learning is a huge space, and approaching it as a single subject is impossible. So I will align this article with the AWS Machine Learning Specialty Cert (MLS-C01), which is itself aligned with what I call ML Operations (MLOps) or Applied ML. That is to say, we are focused on getting business (or social) value from ML, we're not focused on the bleeding edge of algorithm development. (Note-to-self: Write more about this in another post, this is an important topic.)
So with all that said, I will start off in a contrary way, by stating what you DON'T need to learn MLOps, and that's degree level (or PhD level) mathematics. This is a common misconception, and while the maths and statistics that powers ML can be eye-watering, you simply don't need to know it to make use of ML, any more than a regular developer needs to understand silicon chip fabrication or an Uber driver needs to understand the inner workings of the combustion engine.
So what do you need?
Technical Critical and Creative Thinking
I list this first, as its the most important. Critical thinking is an underrated skill in general, and in order to be able to work productively in this space, you need to be able to break down problems and construct solutions from your bag of technical tools. Most developers and solutions architects have this already, and many people working in technical roles have no problem with this.
What surprises some students is the need for creative thinking. Machine Learning lives at a fascinating junction between Technology, Science and Art (Another note-to-self: we should explore this more in another post). At times you will genuinely need to let go of your preconceptions and accept things that can't be (easily) explained. There are for example settings for algorithms that are widely accepted 'the defaults', research is ongoing as to why they work so well.
Having a technical, yet flexible mind is the key to success.
Scripting Language
And to be frank, this needs to be Python. You can have other languages such as R and Go under your belt, but Python is by far the most commonly used language in ML, and almost all the examples you will learn from use it. That being said, you don't need to be a highly skilled developer quite yet*, here is an example of the types of things you should be comfortable with:
Python Checklist
How to import libraries, and why:
How to work with lists and loops:
How to define and use functions:
Throughout your journey into applied ML you will add many Python libraries to your repertoire including Numpy, Pandas, SciPi and Matplotlib. And there will be plenty of time to experience them all.
* Before I get swamped with mail from skilled developers, let me say this. If you are experimenting then basic Python is fine. If you are shipping into production, then your code needs to follow standards, be testable, and supportable. So think of this as the start of the rest of your Python journey.
Finally, in this short list of things you should already have before starting to learn machine learning, I will add time to learn, and then...
A Focus
As I have mentioned before in this post, ML is a huge subject space that cuts vertically from "university research doctoral candidates" to "mobile app developer", and horizontally from "image recognition" to "genomic profiling". Having an area to focus on makes a huge difference and makes a home for your exploitation projects. As you start ML projects you will need to call on subject matter experts (Domin Experts) to assist you with labelling data and providing context around the problems you are trying to solve. So if YOU ARE the domain expert, you can work away on your own projects far more easily.
So whether you're an amateur athlete who wears heart rate monitors that churns out data, a gardener who can collect data from outside, or maybe a stock trader with an eye on the numbers... If it's 'your thing' then make it your ML focus and go with it.
Of course, in time you will want to branch out and cultivate your skills outside of your walled garden - unless that is you've productized a targeted afid monitoring system and you've made billions.
What next?
If you think you're ready to learn machine learning, or you have any questions in this space, please get in touch.
MBA | Cloud Architect | AWS | Kubernetes | Always learning |
4 年This article was helpful Mike. Thank you!
Business Transformation Specialist
4 年Thanks for sharing