I just finished my BSc Hons. in Mathematics and CS from one of the leading research institutes in India (Not IITs). Now I'm going to continue my masters in CS. I like ML. But I haven't done any proper course. I wish to apply for PhD in this area. Can anybody tell me a detailed idea about the courses that I need to take so that I can apply for PhD in US or Europe?
Can anybody tell me a detailed idea about the courses that I need to take so that I can apply for PhD in US or Europe ?
PhD programmes in the US and Europe are significantly different. While a PhD in Europe expects you to have a fair idea of what you intend to research, the US universities allow you to take courses to learn - quite similar to what the IITs follow.
What courses to take largely depends on where you are studying, right? You cannot take a course if it is not offered.
An example Data Analytics course is at https://volgenau.gmu.edu/program/view/20521
Basically, you want to learn a couple of programming languages - Python (with scikit-learn) is good, take a course on statistics (and learn R programming). A core course in Machine Learning (teaching decision trees, neural networks, clustering etc.) and few courses on database systems. You need to know SQL and also NoSQL systems. Try MySQL and MongoDB, for example. These should generally give you the pre-requisites.
Also, just learning theory is not enough - one needs to also do practical work. For that, I would suggest learning Linux and having the ability to spin up VMs and setup a system with Hadoop etc. Cloudera provides a VM to get started, and so does MapR. Virtualbox is a good free virtualisation software.
You also need to decide what field of ML you want to go in further. This would depend on whay you want to learn ML - the reasons would be your own. Of teh sub-fields one could look at pattern recognition, audio recognition, predictive analytics, classification systems etc. You should then do your Masters work on that. IMHO, it would make sense to look at small, real world problems and try to solve them with ML to build a portfolio, then tackling something huge. If you are able to solve small but significant real-world issues, you would have a much better chance of landing the paid scholarship.
To get an idea about opportunities available in the UK, you can join the BIG-DATA@jiscmail.ac.uk mailing list. Social media researchers can join mailing lists of the Association of Internet Researchers at http://aoir.org
Note: Before or after down-voting this answer please leave some rationale as to why you do not think this is appropriate advice.
Look at specific program requirements. PhD programs in the US are designed to teach you what you need to know, for the most part. Your job is to become comfortable with CS and some stats before you enter. For example, here is what Carnegie Mellon posts as their 'requirements' for entering the PhD program:
' Unofficially, we recommend a high level of comfort with math (particularly linear algebra, probability, and proofs) and computer programming (at the level of an undergraduate degree in computer science, although many of our applicants get the necessary experience without majoring in CS). It is possible to fill in some of this background on the fly, but you will be working hard to do so! In addition, the program is very competitive, so successful applications always stand out in some way from their peers -- for example grades, research experience, or recommendation letters.'
I think SACHIN GARG's advice is very applicable to those with MS looking to find an industry job. For academia, it will depend more on your sub-field, like SACHIN says. For example, if you go into academic epidemiology, you may never have to write a line of SQL. If you get a job as a bioinformatics data scientist, you almost absolutely will.
Aside from having a general background in Math and CS (which you do), PhD programs often ask why you want to join. When you say "I like ML" it is useful to be able to justify your claim. It doesn't have to be a formal course but having some familiarity with the subject will most certainly help. I recommend doing an online course to get a feel for the area & decide what exactly you might want to work with (you can change your decision later but you should have some concrete ideas/examples in your head).
I learned ML on Coursera and highly recommend it (the class is taught by Andrew Ng, one of Coursera's cofounders). However, there are many other courses, so pick the one that appeals to you the most. Good luck!