What kind of background do you need to get into Machine Learning?
Machine Learning is as hot of a topic as you can find in futuristic technology. In my opinion, understanding Machine Learning at a level above beginner is absolutely necessary for the next set of up and coming business executives around the world. You’re not going to be able to explain your product without being able to work your way around ML and AI. So, is there some magic skillset or degree necessary to get to an intermediate and above level in this field?
I’ll put the summary right up top — if I can do it, you can too. I wanted to share this post to show some of the work I’m doing with Udacity’s Self-Driving Car Nanodegree, and I also want to share some of my back story to show you that if I can do it, there’s nothing stopping you. The only thing that got me to this point is consistent, sustained effort.
Here are my credentials:
- Graduated with a Bachelor’s degree in Business from Morehead State University, Kentucky
- I took my last Calculus class in my Junior year of High School
- I took my last Algebra class in my Junior year of High School
- The most advanced “Computer” class I took was an Excel class, Freshman year of college
- I have no PhD, and no post-grad degrees
- I have never and do not currently work in an Engineering department, but I’ve been using programming to do pieces of my job for the last couple years
Now don’t get me wrong, I’m not an expert in Machine Learning (ML). I’m barely a beginner, but I’m making progress every day and I’m learning a lot. I’m midway through Udacity’s Self-Driving Car Nanodegree Term 1, and I’ve officially gotten decent results on some computer vision / ML problems. Even better, I can actually explain what it is I’m doing! The underlying math is still a bit beyond me at times, but I’m slowly learning the pieces that matter.
Here’s what I’ve done so far:
- Built a model from scratch, without any Machine Learning architectures
- Built a model to classify street signs using Google’s Deep Learning Framework, Tensorflow
There’s a very clear path you should be taking if you’re interested in the field. The first is understanding a programming language of some kind. I prefer Python, and I think it’s a good option. Start with building something you’re interested in. Do you do something repetitive at work? There’s a way to automate that in Python. Do you do data analysis in Excel and the data is getting too big to handle? Start looking into Pandas, a great Python package for handling big data. After you start getting comfortable, you’ve just got to start working on projects in Machine Learning. Sometimes it seems crazy, but at the end of the day Machine Learning is simply using data (with labels) to teach a machine to predict those labels for new data. So think about feeding it 10,000 images of a stop sign, so that your model can then figure out what a stop sign is for new images.
If you’re interested in learning more about the field, here are some good links. Overall these are a bit more advanced than if you’re just starting, but for those that have some experience all of these are great resources. If you’re just starting, like I mentioned before, I recommend learning Python first.
- Machine Learning for those that know how to program
- Free class on neural networks
- Machine Learning Crash Course
- Machine Learning for Software Engineers