Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I posted this question on Quora, but didn't get enough responses. reposting it here.

I am a learner sitting at home and learning linear algebra, very interested on working in Machine Learning someday, but not sure

a) what technical skills are needed fot the interview/job
b) any relevant work experience are mandatory

I have taken an initiative to atleast start rather just think about doing it so any suggestion/guidance would be very helpful and appreciated

share|improve this question

closed as off-topic by MichaelT, GlenH7, Bart van Ingen Schenau, Dan Pichelman, Ampt Oct 14 at 22:11

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – MichaelT, GlenH7, Bart van Ingen Schenau, Dan Pichelman, Ampt
If this question can be reworded to fit the rules in the help center, please edit the question.

    
Will be following this thread as I'm also interested –  MattyD May 26 '11 at 22:47
    
There's a related question titled Switching to a career in Machine Learning –  HenningJ Oct 31 '11 at 17:45

5 Answers 5

Its just not a single tool that you might need. Machine Learning as far as I have experienced is based on the fact that you extract features, then you put those features into a machine learning suite. By features, it is problems specific and you need to know what good features are. Second is know the best well known algorithms that have been used or test. But My personal opinion resides in the fact that no machine learning algorithm is complete until and unless you know

  1. Data structures in depth, this includes KD Trees, Quad Trees, linked lists etc.
  2. Performance of these data structures under immense load
  3. Finally, scalability of these data structures.

Every machine learning technique, definitely has to go through the scalability factor. These points not only contribute towards results, but overall how the machine learning as a collection would function once put in a production mode.

Nevertheless, you may disagree but I feel these are pretty much important points.

share|improve this answer
    
A note: Newer machine learning algorithms can infer not just the weights, but also the relevant features themselves, but Wajih is still right: you definitely need to understand the data you're working on and what kind of information would make a good feature. –  Kilian Foth May 27 '11 at 8:17

Machine learning is a huge subfield of CS. Everything from fuzzy logic to neural nets to connectivist AI and beyond

Search on http://citeseerx.ist.psu.edu/ Pick the stuff you're interested in, and look at the references. Dig down through the references to find the fundamental papers. Read them.

share|improve this answer

These days machine learning primarily is using statistical techniques. It is almost synonymous with statistics. So, linear algebra is a good start. You will also need solid understanding of probability and statistics (e.g. random variables, probability distributions, density estimation, Bayes networks, Markov models, graphical models, etc.)

A good book to pick up would be Pattern Recognition and Machine Learning by Christopher Bishop.

What programming language you use is largely irrelevant here. If anything, it is useful to know Matlab, simply because it makes it very easy to prototype machine learning algorithms, and it is widely used by the machine learning research community. Also check out Weka, which is a Java library which implements virtually every conceivable classification and clustering algorithm, and provides great tools for training and testing classifiers.

If you seriously want to get into this field, I would recommend going to a grad school with a decent CS department or a decent stats department, and getting at least a Master's in either CS or stats.

share|improve this answer
    
Downvoted because that's a horribly dense book for a beginner. The "Data Mining" book by the Weka authors is more appropriate. –  stackoverflowuser2010 Feb 10 '13 at 2:28

Statistics, Probability, distributed computing, and Statistics.

Did I mention stats?

In terms of technical skills, there's a lot of diversity there, but have a gander at Weka some time. It's easy to learn and fun to play with, imo. I'm just wrapping up an MS in computational linguistics, and got to poke at machine learning on a number of occasions in the course of study. It's made me look at reasoning in a new way, and that has been very rewarding.

share|improve this answer

First, you need to have a decent CS/Math background. ML is an advanced topic so most textbooks assume that you have that background.

Second, machine learning is a very general topic with many sub specialties requiring unique skills. You may want to browse the curriculum of an MS program in Machine Learning to see the course, curriculum and textbook.

For example, CMU's masters program: http://www.ml.cmu.edu/prospective_students/masters.html

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.