Rock IT

Starting with machine learning for a programmer

In this post I'm going to describe how I'm entering into the world of machine learning. It's not an easy and uncomplicated way, so this is why I decided to publish this short post. Below you can find a couple of advices, from a Python programmer point of view.

TL;DR - online resources

Decide what you want to learn

Machine Learning (ML) has many 'flavours'. What are you exactly interested in? Deep learning using neural networks? Big data analysis? Self-improving robots? Processing images? Or maybe just predicting values based on training set?

Make a research. My advice is to complete a few tutorials and then choose a more specific path.

Talk with more experienced person

The most general one, which applies almost to anything. When I was looking for a best way to learn ML, I decided to contact my friends with bigger experience. This was a very good move. Almost every one told me his journey, and recommended how he would start right now. Most of them agreed that online courses is a way to go, especially if I'm a programmer.

Find some time every day

This is the key! When you give yourself a day off, things starts to go bad. One day lead to another, always is something more important. If you want to achieve something, be systematic!

Online resources

  • Coursera Machine Learning course by Andrew NG - the most recommended tutorial. Almost everyone at least heard, most of my friends have done it. I'm currently at week 3, it takes ~11.
  • Udacity Deep learning course by Google - I recommend doing this after previous one. It focuses on Neural Networks. It's still in my future plans ;)

Make your own project

Theory is just a foundation of knowledge. You won't do anything without it, but practice is what makes you valuable. Right now I'm playing with TensorFlow, one of the most widely used libraries for ML in Python. The easiest way to start is to run TF as a docker container:

docker run -it -p 8888:8888 tensorflow/tensorflow

It starts container with installed tensorflow for CPU (GPU version is also available), with Jupyter installed and 3 starting notebooks. Good way to jump right into action!

Good luck! That's what I'm doing at this moment to progress with my "Get noticed" project. Maybe next time I'll be able to write something more interesting, but I hope this post will help someone :)

Author image
Warsaw, Poland
Full Stack geek. Likes Docker, Python, and JavaScript, always interested in trying new stuff.