I’ve had an interest in machine learning, artificial intelligence, and software development for many years but it wasn’t until recently that I’ve changed things up and started to dig in deep and get my hands dirty.
With a substantial learning curve, it’s been a great experience, but it’s been far from easy. My biggest challenge to date wasn’t the mathematics, programming, or even with learning the specific domain knowledge. It’s been with charting a course and navigating my way through all of the available research.
Early on, I didn’t make much progress until picking an interesting problem and removing as much complexity as possible. Working as a beacon, I could then map a high-level course and push forward towards a solution with existing processes. Over the short term, this has allowed me to continue cutting away the distractions while focusing on learning only the needed skills.
In this article, my goal is to provide you with three of the resources that I started with to help me down this path.
- DataCamp.com is an excellent way to get a crash course in both Python and data science. It’s perfect if you are like me and have extensive software development experience but are new to Python. If you’re already familiar with Python, even better, but I recommend still taking a look as it also goes over many of the data science related packages.
- MachineLearningMastery.com is an unbelievable website with a wealth of free and paid courses. I’ve found the mini-courses to be a perfect way to incorporate study on a daily basis. The material is hands-on and gives a practical means of moving from learning to doing as in the shortest path possible. Best of all it shows you that while nice to have you don’t need a PhD to get started down the path.
- Coursera.com — Stanford University’s Machine Learning course has also been immensely helpful. It focuses more on the theory than the other two sites but down the road it’s unmistakably needed.
In terms of approaches, I have two recommendations depending on your background:
If you have experience with programming but not necessarily Python I would start with DataCamp. It will give you the tools needed to get up and running in a short amount of time and let you to focus on the data science and machine learning domain knowledge. You will then be able to use Python and the related packages with the other two courses.
On the other hand, if you are coming from a non-software development background I would start with Machine Learning Mastery and the Weka course. Doing this will let you remove the obstacle of learning to program while letting you focus on learning data science and machine learning. The Stanford course also uses an application called Octave for the same reasons.
In wrapping up, it’s safe to say that trying to learn both software development and machine learning at the same time will lead to frustration and slow your overall progress. The single key to progress is in removing the unessential and working at it daily.
As always, if you have questions please leave them in the comments or reach out over Twitter.