4 ms·
I strongly suggest anyone getting into Linear Algebra to have a project to work on. It makes everything so much easier when you get to play with the stuff. My
by marginalia_nu 3y ago
I strongly suggest anyone getting into Linear Algebra to have a project to work on. It makes everything so much easier when you get to play with the stuff.
My hint for something to play with is that basic linear algebra applies very directly to graphics, rotation matrices and so on. If you know how to multiply a matrix with a vector, you basically know what you need to render basic line-art 3D graphics. May want to look into dot and cross products as well as vector projection, but it's fairly basic all of this.
- seanmcdirmid 3y agoI did this awhile ago, but found myself simply copying and tweaking graphics algorithms, rather than gaining any intrinsic understanding of what linear algebra is really doing. I guess I just didn’t have enough computer graphics background? Yes, I can use lighting equations to define a pixel shader, but I’m basically copying and translating the algorithm from a book.
- marginalia_nu 3y agoNo I mean do full software rendering, no shaders, no graphics card.
- SotCodeLaureate 3y ago> No I mean do full software rendering, no shaders, no graphics card. But why? There doesn't seems to be a lot to learn about applied linear algebra (in the sense discussed here) by implementing a rasterizer. But there is plenty of LA above and below that (in the scene management, in the shaders).
- marginalia_nu 3y agoEh, it's basically a project consisting entirely of the parts of LA that the article is talking about.
- delusional 3y agoI'm sorry if this comes across as curt, but can't you just decide to not do that? Decide to not look at the examples in the book, but write it from the explanation instead. You could even forego the book and just sit down with a piece of paper and do the work from first principles. You might not come up with the most efficient algorithm, but you'll have a foothold into understanding the one you can then go and look up.
- seanmcdirmid 3y agoSure that would be ideal. But I would need some 101 knowledge that I couldn’t really find in the books I had, or maybe I wasn’t patient enough in reading them, like somewhere there was a key realization of linear algebra that would have made doing everything from first principles possible, or perhaps I could just read Phong’s original paper.
- paulsmith 3y agoDeep learning! It's all "just" (more or less) high school calculus (partial derivatives, chain rule) and matrix multiplication.
- thewataccount 3y agoI feel like I saw one once but lost it - Is there a githubrepo/tutorial for how linear algebra is used for a very small model just to demonstrate how that allows it to "learn"? I've got the calc, I just don't understand what the matrix multiplication "does"
- tstrimple 3y agoI cannot recommend Andrew Ng's courses on Machine Learning enough. Something like this seems like it would cover everything you're looking for. https://www.coursera.org/learn/machine-learning https://www.coursera.org/learn/machine-learning I cannot speak to the author of the content of this github repo, but it appears they have completed the course and included all of the solutions here. It might let you jump right to what you're looking for. https://github.com/greyhatguy007/Machine-Learning-Specialization-Coursera https://github.com/greyhatguy007/Machine-Learning-Specializa...
- saberience 3y agoWhat math pre-reqs does it need for someone who never made it to college level maths?
- tstrimple 3y agoBased on my experience as long as you have a good foundation in the basics of algebra you’ll be able to pick up the rest from the course.
- paulsmith 3y agoWatch Karpathy's recent lectures. They're gold. Start here[1] with micrograd[2]. It doesn't use linear algebra/matrices to start, but the principles are the same. The matrix multiplication is how the weights of the connections between neurons and the input values are combined (to form an activation value that then may lead to that neuron "firing" or not, depending on whether it passes some threshold function). We use matrices to model the connections between neurons - each row is a connection, and each column is a weight corresponding to an input. [1] https://www.youtube.com/watch?v=VMj-3S1tku0 https://www.youtube.com/watch?v=VMj-3S1tku0 [2] https://github.com/karpathy/micrograd https://github.com/karpathy/micrograd
- deleted 3y ago[deleted]