3 ms·
I definitely agree that it's a lot more demanding than smartphone apps - or most of the rest of what we call software development. I'm trying to make the switc
by byzgen 9y ago
I definitely agree that it's a lot more demanding than smartphone apps - or most of the rest of what we call software development.
I'm trying to make the switch from backend development to machine learning right now, and even though I have a supportive employer I've begun thinking about going back to school because the math involved seems steeper and harder to avoid.
Disclaimer: My math level is high school since I self-taught my way into software engineering.
- mindhash 9y agoWhat are the concepts you are most struggling with..could you list out a few..check out metacademy.org
- byzgen 9y agoI never took statistics or linear algebra. Only AP calculus. So when people refer me to academic papers (or even Wikipedia most of the time) I'm not able to understand it. I can study on my own, and have been for stats/probability. But started asking myself, why not just get a degree and make it quicker. I'd have to leave my job for a number of years, but then I'd be able to study all day instead of nights/weekends.
- graphene 9y agoThere's deeplearningbook.org, which starts with the basic maths and then goes into considerable detail on cutting edge work.
- myaso 9y agoIt assumes a math background implicitly. I feel like you need some context already to get value out of it. I wouldn't bother reading it without doing something hands on or going through another course like cs231n or fastai first. It's an excellent book regardless of the above points.
- syllogism 9y agoI did a linguistics degree before doing my computational linguistics PhD 2005-2010. In Australia we don't do any graduate coursework, so the last maths class I took was when I was 15 or 16. I'm now pretty good at these things. You can see my work here: https://explosion.ai https://explosion.ai You might be interested in the machine learning library I wrote for spaCy: https://github.com/explosion/thinc https://github.com/explosion/thinc . The backward propagation can be understood quite simply with callbacks. The main problem I had, and I think you're having, is that the notation around calculus is just hopeless. It's even worse when you're trying to map between the equations and backpropagation, because what you need is slightly different. I also find the notations for functions really bad. The other thing you need to get used to are the ways linear algebra overload the operators. This is just data, not concepts. Personally I find it much easier to just work in the Einstein summation: https://obilaniu6266h16.wordpress.com/2016/02/04/einstein-summation-in-numpy/ https://obilaniu6266h16.wordpress.com/2016/02/04/einstein-su... . Once it's debugged, you can translate into faster calls to numpy.tensordot. Don't go back to school. School's fucked. It'll take you three years to do about 200 hours of learning. Hiring a tutor would be vastly better if you need some help.