My day job is plain old software development. I am also doing my Masters in CS (part time, course based). I took a course on AI and found machine learning quite fascinating but like most courses it only offered a basic intro.

I intend to learn more about Machine Learning and if possible get a job in that field. When I look at job postings in this field it is clear that a Phd in Machine learning (or prior experience in the field with considerable expertise) is required for most of them.

I'm looking for advice on self learning to gain experience that'll useful in industry. At least, enough experience to get my foot in. I will do the obvious ones like reading text books, papers etc. Perhaps any open source efforts that I can participate in or something I could do on my own?

Apologies if I'm being vague here but I hope there are at least a few of you who done a similar switch and can advise.

Thanks !

  • 2
    Probably not the best place to ask this - but check out weka
    – SB01
    Commented Mar 3, 2011 at 20:35
  • 1
    Inspired by Watson?
    – NoAlias
    Commented Mar 3, 2011 at 20:37
  • My day job made me do some Machine learning and shallow NLP. I used weka alot You can read the documentation, read code and contribute. That will help you in learning. You can also check Mahout too.
    – Zimbabao
    Commented Mar 3, 2011 at 20:40
  • Check out kaggle.com participate in some of the contests there. Commented Mar 18, 2013 at 14:20

3 Answers 3


You're right, machine learning is a fascinating field. I myself am about to finish university with a strong focus in machine learning and will be looking for a job in the general field soon. I also haven't quite figured out how to go about that.

But general machine learning is quite a wide field. I would suggest to get more specific. Which field that includes machine learning are you most interested in? There are many to choose from:

  • speech recognition / natural language processing
  • image / video processing / computer vision
  • medical systems
  • fraud detection
  • search engines
  • human-computer interfaces
  • ...

All of these fields (can) include machine learning techniques.

In my experience, most general machine learning courses will only introduce the basics of many techniques for two reasons:

  1. as I said: the field is just too wide to go really deep everywhere
  2. most of the techniques only make sense if they are combined with actual applications

I never really grokked SVMs until I had to use them in my own research. I never really understood the different algorithms used on HMMs until I did some work in speech processing.

And when looking for a job I think it's similar: Companies are more likely to look for people with experience/knowledge in the specific area they are working in, rather than the general field of machine learning. Machine learning jobs are more likely to be research/PhD/postdoc positions.


Natural Language Processing as a practical application of machine learning

I'm working full time and am studying part-time in a computational linguistics (aka NLP, natural language processing) Master's degree program. There is a ton of machine learning in this field, such as for speech recognition, document classification, etc. The key is a solid basis on mathematics, statistics, and logical notation. Take classes in these areas to learn (or solidify your knowledge) before you graduate, as learning these topic on one's own can be difficult.


Also, note that unlike many other CS fields, the machine learning field is firmly split between practitioners and theorists. The practitioners use machine learning as tools, while the theorists want to prove and improve machine learning methods. The resulting problem is that books on machine learning are typically written from the theorists' point of view, like Hastie's book. The only practitioner's book I've found is "Programming Collective Intelligence" by Segaran, which covers basic concepts. I still haven't found a good practitioner's book on SVM, PCCM, etc.


Machine learning has a massive amount of probability and statistics so taking a few advanced courses in these subjects would be a really great place to start.