5 ms·
I wish someone would come up with a tutorial for ML for the mathematically challenged. Something more practical and less theoretical.
by harel 9y ago
I wish someone would come up with a tutorial for ML for the mathematically challenged. Something more practical and less theoretical.
- srean 9y agoI understand and am sympathetic towards the sentiment, but honestly, its a bit like asking for a tutorial on swimming that does not involve water. Something like that can be written, but it wont be very useful. Most of the simple stuff, the non-mathematical parts would get automated away. You don't want to be in a position where you are competing with someone's commodity script (sometimes just a for loop), unless the situation calls for desperate measures. A bodybuilder got to lift them weights. One genuine scenario could be that you personally do not do ML but want to evaluate/understand what your hires are doing. Even then, its hard to do avoid the math if you want to do a semi-decent job.
- harel 9y agoI get it, and I've actually used the same metaphor just a couple days ago. What I mean though, is that the maths are OK, and although the heavy notation goes over my head (as I'm not academic), I understand the ideas. But I'm lacking some practical examples of how this is put to use. I understand how neural networks work for example, but I do not understand the maths behind how they work. There was (is?) a site called ai-junkie which used (does?) have very practical and layman docs about A.I. before ML became the buzz word du jour.
- srean 9y agoOh I do understand you. The manual for driving a car has to be different from the manual for designing a car. I believe you are looking for a manual to drive the car where you don't really need a lot of visibility into the inner workings. A problem is that ML is not quite as mature as a car yet, so the driving manuals will be a bit on the thinner / shallower side. > I understand how neural networks work Quickly write that down please, that would do the world a favor. Researchers are still grappling with the question 'why the hell does this freaking thing work as well as it does, when it does'.
- harel 9y agoHaha, I meant, the practical idea behind their usage. The example of OCR via a NN was very good in drilling that concept into my head (many inputs leading down to output). The HOW (in capitals) they work bit - I'm not going there. This thread here got me searching and I'm reading through the basic TensorFlow docs. That's, so far, sinking in.
- jclos 9y agoHonestly, the best thing you can do is try to implement your own shitty neural net with only Python + Numpy, from scratch, with only a basic understanding of the math. It will make most of the math very concrete very fast.
- srean 9y agoCannot upvote this enough. I think this is the only way to really grok backpropagation. The hours of staring at the update formula till your eyes glaze over the subscripts and superscripts and the summations would not give you as good an understanding as implementing a toy neural net with just a single hidden layer. Its actually a whole lot easier than parsing those low-level notation. It can be done better with high level notation but then you would need familiarity with the relevant mathematical abstractions.
- jclos 9y agoYes, once you've dealt with implementing it, the notation just makes sense as the most compact way of formalizing what you just did.
- annnnd 9y agoI respectfully disagree. Of course you need to really understand backpropagation for any advanced stuff, but it is easier to ignore it at the beginning. Take Keras container, copy some MNIST example from somewhere and tweak it. Then, when you have a general feel of how training NNs works, gradually learn about each concept - BP should of course be one of the first. By the time you get into math stuff it will probably make much more sense because you will understand how it applies to your case. But I guess the approach depends on how you best learn, so there is no wrong answer. Just jump in!
- harel 9y agoGood idea! I'll give it a go
- RandyRanderson 9y ago
- candiodari 9y agoGiven that the difference between any 2 ML implementations is going to be 2 things, everything else is going to be eliminated by a hyperparameter search. Neither of these require more than basic mathematical knowledge. Certainly nothing that wouldn't be covered in an undergraduate statistics course. And of course, it's loads and loads of work. What makes the difference in success for machine learning projects (this is assuming you have some process to avoid screwups in place): 1) quality of how the data is input into the network. You can almost never "usefully" put raw data in front of a neural network. Call it "data represantation" (for instance, for comparing stock prices do a neural net DNN predictor on the prices. Now do the same on the deltas (today - yesterday). Works 1000x better (still not good enough, but very clear difference)) It may not compare to the feature engineering of SVMs, but it's very present (it kinda does imho, but people tend to get very defensive when suggesting that) 2) your cost/loss function. There are tricks like GANs which are simple in concept and avoid some of the issues, but even there you have your image comparator you're still going to need. You can massively improve image comparisons (e.g. mean square difference of the image scaled 4x4, times 1e12, plus same for 16x16 times 1e6, plus mean square difference at real res beats the crap out of just taking mean square difference. Very good results have also been obtained for MNIST by comparing sorted lists of black pixels, instead of actual images) Many things depend on your cost/loss function, and you especially have the eternal problem : I want it to improve in 10 different ways. How do I balance those well into a single number ? Robot should grab the teddy bear, and shouldn't hit anything else. Those are easy to balance, but how would you balance grabbing the teddy bear at all versus not damaging it ? It will make a huge difference in whether your neural net converges at all.
- jacquesm 9y agoThat's been done: http://course.fast.ai http://course.fast.ai Can't recommend this enough.
- drewbuschhorn 9y agoHalfway through, it's really good. Also much more understandable since he shows you toy examples in Excel and gives you the workbooks to play with.
- maurits 9y agoAndrew Ng has an excellent ML course on coursera [1] that is very light on math. [1]: https://www.coursera.org/learn/machine-learning https://www.coursera.org/learn/machine-learning
- davedx 9y agoI'm currently following Andrew Ng's machine learning course on Coursera. I was initially a bit concerned because it's been a long time since I've had to do any serious math, but I think he strikes a really nice balance between enough math to understand what the algorithms do, and not so much that you get scared away by too much depth or too many concepts at once. The practical assignments also have this nice balance. I highly recommend it -- if you can remember the basics of algebra and calculus (I mean really the basics, like that if you differentiate the equation of a straight line then it gives you the tangent of the line), then you will probably not get too lost. The programming assignments also give you that nice practical experience: you get training sets to code and run ML algorithms against, using a language (Octave) that has a nice mix of low/high level-ness. I strongly recommend it.
- swframe2 9y agoTry "Neural Networks Demystified" by "Welch Labs" on youtube. https://www.youtube.com/watch?v=bxe2T-V8XRs&list=PLiaHhY2iBX9hdHaRr6b7XevZtgZRa1PoU https://www.youtube.com/watch?v=bxe2T-V8XRs&list=PLiaHhY2iBX...
- putnam 9y agoSo, there's a lot of material out there but it's disjointed. If you get annoyed implementing your own neural net with only Python + Numpy, you might try some more complex examples just to immediately point at them and say "I ran this" and "It did that". (The article uses neural networks so I'm addressing that here even though your question and the article title use the much broader 'ML'.) 1) Brandon Rohrer, now Data Scientist at Facebook, has a few great talks, including one on Bayes' Theorem/Bayesian Inference - https://m.youtube.com/playlist?list=PLVZqlMpoM6kbaeySxhdtgQPFEC5nV7Faa https://m.youtube.com/playlist?list=PLVZqlMpoM6kbaeySxhdtgQP... 2) When asking future data scientists what tutorials for ML/NNs they like, they have usually found http://machinelearningmastery.com/ http://machinelearningmastery.com/ through Google and swear by it. 3) Josh Gordon, Developer Advocate at Google, has some simple ML/DL videos up in a 'Recipes' playlist: https://m.youtube.com/playlist?list=PLOU2XLYxmsIIuiBfYad6rFYQU_jL2ryal https://m.youtube.com/playlist?list=PLOU2XLYxmsIIuiBfYad6rFY... If you want to just step through other people's code, you can do that too. Disclaimer: I put the below list together and it's not for ML broadly but for DL. That said if you want to run some examples fast and see the output, a number of folks have made that work for you - I for one was floored to find great iOS examples (admittedly now deprecated for iOS 11). But If you have an iPhone with Metal (5s and up) Matthijs Hollemans - who wrote the iOS Apprentice at Ray Wenderlich - has Inception, YOLO, and MobileNets pre-trained and ready to go using Xcode, and it's fun to watch them work on your phone - https://medium.com/@SamPutnam/deep-learning-download-and-run-a9a1e374d2d9 https://medium.com/@SamPutnam/deep-learning-download-and-run...
- tryitnow 9y agoML really requires more than a tutorial. Just bite the bullet and take Andrew Ng's ML class. To understand ML you've got to have at least a basic understanding of the math. And it's really not that difficult, especially if you find the right class/book/professor/etc. The problem is that there are a ton of terrible writers and instructors out there. I think it's just as important to ignore the terrible stuff (pretty much any blog post on ML) as it is to learn from the good stuff (e.g. Ng's ML course).
- netvarun 9y agoI can't recommend this series highly enough https://medium.com/@ageitgey/machine-learning-is-fun-80ea3ec3c471 https://medium.com/@ageitgey/machine-learning-is-fun-80ea3ec...
- Houshalter 9y agoThis is the most useful resource https://metacademy.org/ https://metacademy.org/