farmersrice's blog

By farmersrice, history, 23 months ago, In English

I searched a lot of resources online, but they're super long. I don't want to spend tens (hundreds?) of hours reading a poorly-written introduction, so I thought I would ask here.

My math background is limited (currently doing linear algebra).

What do I read? Where do I practice? Please let me know your recommendations, thanks.

 
 
 
 
  • Vote: I like it
  • +29
  • Vote: I do not like it

»
23 months ago, # |
  Vote: I like it +27 Vote: I do not like it

I am not a machine learning specialist, but I know few things from university so maybe I can help. First of all google the words "classification" and "clustering". These are two categories which contain a lot of algorithms. I suggest to find a good book and understand how simple algorithms works like (NB-Bayes, SVM, Random Forests, KNN) for classification and (K-means, EM) for clustering. The maths you mostly need here is probabilities. Now this is about theory. In practice you can play with (sklearn, scikit, nltk) which are libraries in python. If you are interested for more advanced topics you can check neural networks in theory and tensorflow in python for practice.

Again, I suggest to do a research on quora to find a good book. Good luck !

»
23 months ago, # |
Rev. 3   Vote: I like it +3 Vote: I do not like it

Forgot to mention that I went through some of the starting tensorflow tutorials ("Learn and use ML") but they are mostly like: yeah just use this optimizer, when you build the neural network slap on these 3 layers, moving on. Then I google the documentation for whatever they are using and algorithmic explanation is like one sentence.

And the rest of it is like: let's talk about the input data, I love arrays, we need to normalize the input, here's how to make a graph showing the coolness level of our model.

Don't get me wrong, I'm not trying to say tensorflow is bad, or tutorial writers are bad, or tutorial sucks, or anything like that. It's just that I get the feeling that it pretty much assumes you have the theoretical background already.

»
23 months ago, # |
  Vote: I like it +10 Vote: I do not like it

Machine learning by AnDrew and by abu mosstafa are two of the best courses.

Andrew ng is very good for beginners. he will give u most of the background maths that is being performed. you can get his course on coursera.

the other one is by abu mostafa... this is a slight advanced course. u need to have a good maths background to catch his lectures..

kaggle is a good site to practice machine learning problems.

Hope this helps!!#

»
23 months ago, # |
  Vote: I like it +10 Vote: I do not like it

I would recommend https://machinelearningmastery.com/. His approach is all about getting to point where you can train a machine learning algorithm to create a model without getting bogged down in the theory.

Also I wouldn't start with tensorflow straight away. I would start with the sklearn library which has implementations of most standard machine learning algorithms with an interface that is consistent across different algorithms. Once you want to move on to neural networks instead of using tensorflow directly I would recommend the Keras library with tensorflow as a backend. It is a lot simpler to build a neural network using Keras.

For practice I would recommend doing competitions in a Kaggle.

»
23 months ago, # |
  Vote: I like it 0 Vote: I do not like it

I would recommend machine learning from fast-ai. It gives you a nice hands-on approach with useful practical algorithms. The machine learning course is not officially released but videos are available on youtube

»
23 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Stanford courses are great: CS229N, CS231N. But you can't learn ML from any resource without having firm linear algebra background first, so you better go with that first.

  • »
    »
    23 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    what do you mean by firm? I think you only need to know basic matrix operations and a bit of calculus to understand that stuff.

    • »
      »
      »
      23 months ago, # ^ |
        Vote: I like it -6 Vote: I do not like it

      He probably means you have to be fairly comfortable with linear algebra. This should be sufficient to understand most machine learning basics.

    • »
      »
      »
      23 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Yeah, what xorfire said, I meant that you do not need to know anything flashy, but you should be really comfortable with basic stuff

»
23 months ago, # |
Rev. 3   Vote: I like it 0 Vote: I do not like it

Machine Learning: The Art and Science of Algorithms that Make Sense of Data

Description from the Publisher: "As one of the most comprehensive machine learning texts around, this book does justice to the field's incredible richness, but without losing sight of the unifying principles. Peter Flach's clear, example-based approach begins by discussing how a spam filter works, which gives an immediate introduction to machine learning in action, with a minimum of technical fuss. Flach provides case studies of increasing complexity and variety with well-chosen examples and illustrations throughout. He covers a wide range of logical, geometric and statistical models and state-of-the-art topics such as matrix factorization and ROC analysis. Particular attention is paid to the central role played by features. The use of established terminology is balanced with the introduction of new and useful concepts, and summaries of relevant background material are provided with pointers for revision if necessary. These features ensure Machine Learning will set a new standard as an introductory textbook."