5 ms·
I feel like the barrier to machine learning for me, as I've seen in many tutorials and books and is an immediate discouragement, is the massive amount of math t
by cdnsteve 11y ago
I feel like the barrier to machine learning for me, as I've seen in many tutorials and books and is an immediate discouragement, is the massive amount of math thrown in your face. Many of us didn't just graduate, need glasses and fall asleep at 8pm on the couch when the kids are in bed... Math is this distant fragment of memory buried under years of everything not Math.
It feels like machine learning is only taught by academia but the majority of the audience is for practical use by the average developer wanting to play with it today.
- Omnipresent 11y agoI asked a related question [0] few weeks ago but didn't find a resource that talks about machine learning from real world example perspective. [0] https://news.ycombinator.com/item?id=10356874 https://news.ycombinator.com/item?id=10356874
- alfiedotwtf 11y agoThe problem is that machine learning is applied probability and statistics. If you're interested, here's a gentle book that should give you enough background: http://www.amazon.com/Modern-Introduction-Probability-Statistics-Springer-ebook/dp/B00DZ0PKLG/ http://www.amazon.com/Modern-Introduction-Probability-Statis...
- davmre 11y agoAndrew Ng's Coursera ML course is supposed to be pretty accessible. I've also heard good things about Machine Learning for Hackers (http://www.amazon.com/Machine-Learning-Hackers-Drew-Conway/dp/1449303714 http://www.amazon.com/Machine-Learning-Hackers-Drew-Conway/d...). Ultimately, ML is a mathematical discipline. You can ask for a gentle approach that gets you to the foot of the mountain, but "if you want to learn about nature, to appreciate nature, it is necessary to understand the language that she speaks in." If you want to be more than an amateur, there's not much substitute for getting comfortable with math at the level of, say, Kevin Murphy's book. The good news is that the required math is fairly elementary - calculus, linear algebra, probability and statistics, all freshmen or maybe sophomore-level topics - so it shouldn't be beyond reach of a motivated developer able to set aside some time to learn. MOOCs and organizing study groups with friends/co-workers can help a lot here as well.
- fapjacks 11y agoYeah I'd like to second this. This course specifically is what opened the door for me.
- subnaught 11y agoI'm currently taking Andrew Ng's Coursera course and I'd agree it's quite accessible. In fact, if you have a solid understanding of calculus and linear algebra, you might find it a bit slow at times.
- WaxProlix 11y agoThis was my problem; it was incredibly boring (at least for the first few classes) and the video-based nature of it meant that I had to skip around and try to pick up what was going on later, which seldom worked. I hear it's more self-paced now, so that might be a better option these days.
- dfan 11y agoFor people who are disappointed by the shallowness of it, I recommend supplementing it with the notes to his Stanford class: http://cs229.stanford.edu/materials.html http://cs229.stanford.edu/materials.html. The combination worked well for me.
- moinnadeem 11y agoI'm a high school Senior (17) and I'm currently taking it. It is ridiculously understandable and I often see myself yearning for more. But I've also had Calc 3 + Linear Algebra by now, so its understandable that not everyone would get it. The intuition is simple, however.
- mindcrime 11y agoso it shouldn't be beyond reach of a motivated developer able to set aside some time to learn. MOOCs and organizing study groups with friends/co-workers can help a lot here as well. I'm in the middle of that process right now. I only took Calc I in college and that was 20 years ago, so I have decided to work my way through a Calc sequence, Differential Equations, Linear Algebra, and Probability and Statistics through a combination of MOOCs, "X For Dummies" books, Youtube videos (hello, Gilbert Strang!), Schaum's Outlines books, Khan Academy, a mammoth stack of college maths texts that I've picked up at used book stores, and questions on stats.stackexchange.com, math.stackexchange.com, learnmath.reddit.com, etc. I'm doing the Ohio State MOOC on Calc I now on Coursera, and accompanying that with the Gilbert Strang "Highlights of Calculus" video series[1]. So far so good. I definitely think this stuff is learnable if one is willing to put in the time and work, even without going back to taking "on campus" classes at a university. [1]: https://www.youtube.com/playlist?list=PLFW_V3qDH5jRyfpD9uiq6aKVTWIxpbIm3 https://www.youtube.com/playlist?list=PLFW_V3qDH5jRyfpD9uiq6...
- dtjones 11y agoApplied machine learning without understanding of the fundamental mathematical assumptions can be a recipe for failure That said, there are some graphical examples to help understand of how learning algorithms work in 2 dimensions.
- ska 11y agoMachine learning is fundamentally mathematical, so you can't expect to completely avoid it without remembering or learning at least a little bit of the maths. Trying to avoid it all won't do you any favors, it will just mean you can't understand what is going on. On the other hand, the math you absolutely need to follow along is pretty straightforward, so you can hopefully find tutorials that emphasize the applications and graphic examples of what is going on.
- visarga 11y ago> the massive amount of math thrown in your face I can skip the math part - we don't all invent new algorithms - but what I really need is a large enough & gradual set of problems to solve (datasets + verification scripts). I mean, start from the simplest and teach people how to use the already available software. Machine Learning should be assimilated practically, too much theory with too little application is useless. Most of us should focus on using existing software efficiently instead of being able to implement backprop.
- spdustin 11y agoKaggle's "Titanic: Machine Learning from Disaster" [0] is a great place to start. If you're anxious to dive in, go straight to "Getting Started with Excel" [1] and move on to "Getting Started with Python" [2] Note: I'd strongly recommend the Anaconda Python distribution [3], as it has pretty much everything you need. Also, for immediate feedback on what you're doing with Python, I've fallen in love with Jupyter Notebooks (formerly IPython Notebooks) [4], which you'll have as part of the Anaconda distribution, along with all the other popular Python packages for scientific work. [0] https://www.kaggle.com/c/titanic https://www.kaggle.com/c/titanic [1] https://www.kaggle.com/c/titanic/details/getting-started-with-excel https://www.kaggle.com/c/titanic/details/getting-started-wit... [2] https://www.kaggle.com/c/titanic/details/getting-started-with-python https://www.kaggle.com/c/titanic/details/getting-started-wit... [3] https://www.continuum.io/downloads https://www.continuum.io/downloads [4] http://ipython.org http://ipython.org
- hangtwenty 11y agoTry this :) https://github.com/hangtwenty/dive-into-machine-learning https://github.com/hangtwenty/dive-into-machine-learning
- denzil_correa 11y agoI have seen many people make this observation. I'm just curious about your problem. Is your problem 1 : Mathematics in ML - proofs etc. 2 : Understanding the intuition behind ML algorithms without the requirement of higher order math? Personally, I feel that 2 can be tackled quite easily. The core issue is that most people who teach want to stay on a "higher dimension". ;)
- dxbydt 11y agoI interview a lot of developers for ML positions at our company. The first red flag is always a lack of math. Candidates who come in with API-level competence ie. can implement an ML algo using this,that or the other API, without any understanding of some basic math behind it, always fare poorly. Atleast in ML, not having an understanding of math is pretty much like claiming expertise in riding a bicycle by watching 100s of bicycle videos on youtube without ever riding a bicycle yourself. This isn't the case with say, front-end web dev, where nobody really cares whether what's under the hood is php or jquery or elegantly handcrafted elm as long as the webpage looks good and functions as advertised. You can get a lot of mileage by hiring someone who can "make webpages" without knowing what tools they use to make that webpage. Once you get traction etc. you'll probably rewrite all of the cruft :) With ML, if you hire somebody who can "create decision tree in python mllib" without knowing the first thing about what entropy is & how to compute entropy ( a real candidate, unfortunately ), you are simply inflicting a lot of pain on yourself and your customers. Suppose such a person is deciding whether or not to give you a loan, and he decides to construct a decision tree. He'll happily throw in your zip code and credit card number into the mix, not realizing that those two features have super high entropy but the tree will have serious overfitting issues ie. the tree will simply not generalize to unseen data. He won't realize these things because he won't know what entropy is in the first place, since he only thinks of decision trees in terms of some black box that comes out of some ML api.
- NegatioN 11y agoI get that math is an important aspect, but being able to realise that throwing in those variables would create entropy sounds like more of a common-sense thing, no? I guess I should still brush up on math though, it seems.
- Hockenbrizzle 11y agoA lack of mathematical intuition is a serious problem for many people from engineering to biology to economics. It certainly plagued me throughout my engineering bachelors studies and is something I continually work to get better at. In my opinion, physics students learn the best framework for thinking and get a very good mathematical intuition. For example, here's a problem from an introductory QM book that really threw me for a loop when I was studying: A needle of length L is dropped at random onto a sheet of paper ruled with parallel lines a distance L apart. What is the probability that the needle will cross a line?
- alfalfasprout 11y agoAs others have said, you need to at least get the gist of what's going on mathematically to be able to make sensible decisions about model selection, structure, etc. That said, I find a lot of the introductions to the theory behind ML techniques to be very poorly written. It's often worth giving a new student a conceptual simplification before introducing a rigorous definition. Without linear algebra and basic probability/calculus though, forget it. Luckily there's great sources to brush up on it.
- hangtwenty 11y agoNot trying to detract from worthwhile discussion here ... but for a hack-first introduction, try this: https://github.com/hangtwenty/dive-into-machine-learning https://github.com/hangtwenty/dive-into-machine-learning
- kewlb 11y agoCertainly understanding the math is very important but it is harder to get expertise on the pre-requisite math because the horizon is much bigger. I would recommend taking a case study approach and side by side learning the math stuff needed. If you are looking for an example then take a look at this, https://www.coursera.org/learn/ml-foundations/ https://www.coursera.org/learn/ml-foundations/