It was time to get the BBQ ready for a Sunday night meal. I pulled out a new degreaser spray bottle I had purchased earlier in the day and started the cleanup job. But despite my preparation the degreasing spray bottle stopped working after only 20 pumps! Instead of giving up on the task I opened up the degreaser bottle and poured a little into a container and used a paint brush to get the job done instead. Even if you are prepared the unexpected can always happen. When is does we need to be ready to adapt.
And you need to adapt your machine learning project to your life situation in just the same way. We all start with some level of preparation for the task of learning. First we might do some research to find what we need to learn and then gather our resources ready to start. But then unexpected things show up and you need to change the way you get the job done. Let's see what problems might crop up in your machine learning project and how you might adapt.
Your machine learning project is not cast in stone. When the unexpected happens you can apply the following 3 concepts to adapt.
- Step 1: Sampling
- Step 2: Switch and Combine
- Step 3: Improvisation
Step 1: Sampling
The sampling mindset give flexibility to change course
You might have found a study guide online as part of an existing course or planned one yourself. For example, you can read the contents page of an introductory textbook in machine learning and have a fairly reasonable study guide outline ready to go. When I first started to learn I began with a general course in machine learning by Andrew Ng from Stanford University. It was going well until the point where you have to either download a program called Octave or use Matlab online. I tried both approaches and ran into roadblocks in each.
At first, for some reason I couldn't get the free software Octave installed successfully on my computer and I found using Matlab online is expensive, another roadblock and this time financial. So instead of becoming stuck on these problems I simply moved to another machine learning resource altogether. I found an online course with Dataquest that did not require me to install the programs first myself and was more affordable than Matlab. You can expect to hit similar problems in your own machine learning journey.
With a sampling mindset it will be easier to adapt when things don’t click
There are plenty of machine learning courses available and when you are sampling them rather than committing to them you lower your risk of failure. When something doesn't work, rather than becoming stalled you can simply move to another alternative.
But you might be thinking that this sounds a little flaky. Perhaps you pride yourself as a finisher and giving up on a course when the first problems arise might not jive with you. Is it a mistake to set the book or course aside when you run into a problem? Well we are not saying that you need to give up on that initial course if there is an especially important reason for you to finish it.
For example, you might feel you need to finish the course to become certified or to gain a recognised credential required by employers. So what about when you need to complete a task? This where we introduce step two in our adaptive learning project process. The skill of combining learning resources.
Step 2 - Switch and Combine
When you hit a roadblock in a course or book switch to an alternative
Let's say you were learning SQL on Dataquest and find you are really struggling with the final project. Instead of remaining stuck you can find alternative resources. These might be in online question and answer forum such as Stack Overflow or in another course altogether. When this happened to me I moved over to a free SQL course on Khan Academy and sampling this alternative course helped bolster my understanding of the basics. Then I returned to the final project on Dataquest where I had previously become stuck and it didn't seem such a problem anymore. In a similar fashion I eventually returned to Andrew Ng's Machine Learning course and it didn't seem so difficult anymore.
By combining different learning resources you accelerate your learning
Learning the basics from different sources helps reinforce your understanding of the basics. So to adapt your study guide to your particular situation it will be helpful to first approach a course or book with a sampling mindset and be ready to switch to and combine other resources when you come across roadblocks. Which brings us to step 3 in learning to adapt, improvisation.
Step 3 - Improvisation
Improvisation is about using your situation to help you move forward
Rather than stubbornly resisting a change in course you learn to use that problem as an opportunity to learn more. You go with it. For example, one of the rules in improv theatre is to agree and accept whatever is given to you. If you disagree with something your partner says it quickly leads to a stalemate. In contrast, when you go along with it and add in your own little twist things move along quite nicely.
Zoom out to get a better view of what is available to you
What can you use in your current work or living environment to complement your study of machine learning? When I first started my course in data science with Dataquest I was learning about the programming language Python. This is a popular language for machine learning and seemed like a logical choice right? But soon after this I started working with a new employer where an alternative programming language was being used.
So rather than stubbornly sticking with my initial direction with Python I switched tracks to learn machine learning with the programming language called R. It's similar to Python in many ways but allows me more opportunities to apply my learning on the job. This is the art of improvisation. Use improvisation to adapt your learning project to your own set of circumstances. Find out which programming languages are used by employers in your area and learn those. When things change, rather than resisting them, adapt and keep moving forward.
Let's summarise the 3 steps to adapting your machine learning project to your life.
- Approach courses and books with a sampling mindset, you won't feel so bad if you then decide to switch to alternatives.
- Switch and Combine: Learning from a combination of resources can be an effective way of overcoming roadblocks in one course of study.
- Improv: Mastering the power of improvisation and using what is available to you in your work and home environment can present you with new opportunities for growth.
Adapting your learning project to your own particular unique situation is the secret to accelerating your learning and maintaining momentum.
Here are some affordable options to consider in your unique learning mix.
- Khan Academy SQL
- Dataquest (This is an affiliate link which won't cost you any more if your join)
- DataCamp (very good app for learning to code on your phone - otherwise similar to Dataquest and yes, this is an affiliate link as well)
- Machine Learning Coursera course with Andrew Ng, Stanford University