4 ms·
Semi related question (on the basis that this post will attract folks with the relevant background to answer) - how would someone with an interest in the possib
by scoot 11y ago
Semi related question (on the basis that this post will attract folks with the relevant background to answer) - how would someone with an interest in the possibilities afforded by the field of machine learning, but without the theoretical or mathematical background tneeded to understand the typical discussion on these topics, get started using it in a practical way?
Is the a "machine learning for dummies" resource you would recommend?
- ivan_ah 11y agoWell you'll certainly need to learn about the math behind these eventually, but you can get started and go quite far simply as a user of a ML library. You can use "systems thinking" and think of ML components as black boxes that do something for you. A good place to start would be the scikit learn tutorials on youtube: https://www.youtube.com/watch?v=r4bRUvvlaBw https://www.youtube.com/watch?v=r4bRUvvlaBw I remember going through them and thinking---wow, this covers everything from my ML class in just a few iPython notebooks... I recommend you start with the basics (datasets, features, training/test/validation data splits) and don't worry too much about the actual choice of model---there will always be shiny new models with better performance but sometimes using the "old stuff" is good enough. Once you get past the basics want to learn the theory, you can take an online course or find a good book, e.g. https://www.cs.ubc.ca/~murphyk/MLbook/ https://www.cs.ubc.ca/~murphyk/MLbook/ (advanced, but very comprehensive).
- chriswarbo 11y ago> I recommend you start with the basics (datasets, features, training/test/validation data splits) and don't worry too much about the actual choice of model---there will always be shiny new models with better performance but sometimes using the "old stuff" is good enough. Or, conversely, it may be that all models are just as bad. This seems to be the case in my domain (formal proofs), where the bottleneck seems to be data representation; it doesn't matter which learning algorithm you use, when your feature selection has stripped out all of the learnable information ;)
- lachenmayer 11y agohttp://www.metacademy.org/ http://www.metacademy.org/ is a fantastic resource.
- _vk_ 11y agohttp://neuralnetworksanddeeplearning.com/ http://neuralnetworksanddeeplearning.com/ is 'neural networks for dummies'. I found it very good.
- boothead 11y agoI'm just reading that at the moment. So far it's doing a great job of explaining the concepts in an approachable way.
- laotzu 11y agoIf you have any programming experience you can hook into AlchemyAPI's machine learning services. You can make 1000 api calls per day for free. https://github.com/AlchemyAPI https://github.com/AlchemyAPI
- boothead 11y agoOne of my favourite articles recently was this one by Christopher Olah http://colah.github.io/posts/2015-09-NN-Types-FP/ http://colah.github.io/posts/2015-09-NN-Types-FP/. As a haskeller it really helped put things in terms I can understand. I think there's also value for those who aren't functional programmers because it teases out the fundamental abstractions of the building blocks to deep learning very well.
- waterlesscloud 11y agoA new session of Andrew Ng's Machine Learning class (a version of his Stanford class) starts at Coursera on Monday. It's a quite manageable introduction to the field, with some hands-on programming involved. There's just the right mix of math and theory in there, with some refresher material for some of the math. It's as good a place to start as any, and the benefit of a scheduled class is that you'll have a community doing the same work at the same time to help you out. https://www.coursera.org/learn/machine-learning/ https://www.coursera.org/learn/machine-learning/
- scoot 11y agoThanks everyone for the responses. I'll get stuck in!
- Tycho 11y agoI went through this recently. I don't think it's hard to get started. Pandas is a great library for getting your data into the necessary format. And the from there you can pretty much just pick different machine learning models off the shelf from the scikit-learn library and see what works. For most problems I've applied it to are classification tasks. The part of the code where you actually run the machine learning model is usually only like 2 lines, and you can swap-in different models easily. Two terms that come up when you're testing the model: recall and precision. I found these terms a bit unintuitive. Basically 'recall' is how many of the real matches did you manage to capture (accurately classify/predict), and 'precision' is how wasteful your model was (how many false alarms). Depending on what you're doing one of those things may be much more important than the other. I can actually imagine a world where running a machine learning model is a kind of mundane office task that most people can do, like creating a pivot table.