avoiding insanity, mathematics, and more - oct 2020
Sleep is a fundamentally important part of life, and I'm also a hypocrite. The newsletter is long because I'm an out-of-the-closet narcissist who loves hearing his own voice
I’ve been up to a few things in the past month, some partially motivated or linked to my fellowship in the STEM/human accelerator program TKS.
Mathematics, for machine learning
The main defining feature of my life for the past 30 days has been a vigorous consumption of mathematics, motivated by my goal of at least partially understanding the concepts behind commonplace ML applications, such as gradient descent, backpropagation in neural networks, and principal component analysis (PCA).
The decision to first delve into theory before practical application (I’m planning to use PyTorch once I begin, hopefully in early December) was not really a decision at all. You see, I’m a bit insane in the fact that I get nervous and fidgety when I deal at things at too high of a level, without understanding base concepts. This isn’t a snob thing, this is a full on mental issue. I tried going into practical, but I couldn’t bring myself to do it.
So, in late Sep/early Oct, I decided to commit to a one month (now two month) theory exploration of the basics behind the basics of Machine Learning mathematics. My plan was to understand, as deep as I could in a few weeks, each subject following subject, in this general order:
Differential Calculus at a first-year level
Linear algebra (up to eigenvectors and eigenvalues)
Multivariate differential calculus (partial derivatives, gradient, etc)
Applied mathematics in machine learning (how abstract mathematics concepts apply to things like gradient descent)
It was ambitious [stupid], especially since I, a grade 10 student, was only proficient up until grade 11-ish precalculus, with no calculus understanding and shallow linear algebra understanding.
The goal of doing this in a month is now, retrospectively, laughably naïve. But hindsight is 20/20, and I was still able to, in the days from Oct. 1 - Oct. 30, get through the entire AP differential calculus curriculum via Khan Academy (I would be dead in a ditch if it wasn’t for Sal Khan, honestly), and now am starting linear algebra. I’ll go into my exact resources and tips that I’ve learned later on if you’d like to do something similar to what I did.
I pretty much studied the human maximum I could - spending every spare minute doing calculus or more recently, linear algebra, trying to get a good grasp. It’s tough with school (although the short days make it more manageable), but I was able to get in an average of about 4-5 hours a day of dedicated mathematics study time.
I must be honest and also mention this came at the expense of sleep, which I won’t glorify at all, but hey, it’s better than gaming, right?!???! This also came at the expense of not getting the absolutely best marks in school, but I’m fine with that since I’m in grade 10 and none of it really matters anyways, yet.
This time wasn’t exactly fast paced - I watch lectures extremely slowly. My notetaking might border on obsessive at times (I’ve taken some 160 pages of notes since oct 3, that’s either a flex or sad), but it often pays off when I need to check back, or just in remembering the content itself (it also often doesn’t pay off, but hey, you win some you lose some) .
As stereotypically nerdy as it sounds, the more I focused on the math, the more enjoyable I found learning about math itself. I’m at the point, after my many hours of non-understanding and pain, that I find math pretty damn remarkable.
It’s really not a magical epiphany of sorts, but more of just putting the time in and understanding it, and eventually finding yourself loving/liking mathematics. For me, my brief foray into linear algebra proved the most, er, ‘beautiful’, as I find the idea of representing multiple dimensions in such a way pretty cool, to say the least.
Resources n’ tips:
Learn how to learn, before actually learning. For me, in Calculus and now linear algebra, this meant getting a graphical, high level understanding of concepts before diving into the numerical operations. Personally, this meant reviewing (videos may need to be watched more than twice to be fully understood), and vigorously notetaking, on 3blue1brown’s lecture series on calculus and linear algebra respectively. This step is important. Take your time. Don’t rush on this. Make sure you truly, and I mean truly, understand the intuition.
Then, go on to Khan Academy for a more rigorous understanding of the numerical operations, for both calculus and linear algebra (like how to actually use the chain rule, and not just an understanding of it). Sal Khan is fantastic at explaining concepts as well, and there is a lot of content to work through.
I skipped out on this because it doesn’t really fit my goal, but you can always pick up a textbook to power through exercises and drill the applied side of the maths into your brain. IMO, this is important, but not nearly important as the above two, since most of this is done by computers anyways. I did pick up Mark Ryan’s Calculus for Dummies though, which is a fantastic guide to the rules and quirks of first year calculus, and perfectly matches up with the Khan Academy course.
For linear algebra, I’m also eyeing Gilbert Strang’s MIT Courseware course. ML researcher/podcast host Lex Fridman took this course when learning linear algebra himself as an undergraduate.
This derivative calculator is helpful for checking answers (and steps!) in calculus, and Wolfram|Alpha is helpful in computation in general.
Try not to go insane! I sure did, a couple times. Pace yourself, or don’t. I didn’t and I’m not like dead, right? So it should be completely fine and not cause any consequences in any way shape or form :D
Hackathons
I had a wAcKy time on a couple hackathons I did in October.
With a few fun folks from TKS Vancouver BJ, Seher, Jessica for y’all who know ;), we created a prototype for sustainable gardens in Las Vegas, and how farming and gardening can be optimized to decrease food insecurity. We created a few prototypes and a sexy slide deck (well, in the time given)
We didn’t sleep much. We had to finish the slide decks seconds before presenting, and I was the lucky guy who got to present.
It went well, but spoiler, not well enough! We didn’t win that one. And it’s okay. It was hella fun and we’re organizing a ice-cream themed pity festival in the near future.
TKS AI Hackathon
TKS hosted a AI hackathon for about a week and a half. Finding a good idea pretty early on, I was really excited about this one. I did not sleep much that week (and so did some of my group members, hah) - I poured a lot of time into the idea.
The idea was a machine-learning powered app that could give real time predictions and heatmaps of possibly threatening animals in a given area, to help reduce human-animal conflicts both locally (with Black Bears, mostly) and possibly more valuably, abroad.
I’m pretty damn excited about the idea and am thinking of meeting with a few conservationists and ML experts, maybe, in the winter, after I’ve gained a full understanding, to see if something like that could be valuable.
Huge thanks to Ava, Austin, Albert, and Vanushka my group members, for putting up with me, and for making everything a lot less painful that it would have been to do it myself. We didn’t end up winning but apparently we got close, but this one didn’t even hurt that much - I’m still pretty big on the idea.
Find the Birds
psst, keep this stuff relatively secret ;)
My main project for a while (past few years), and now more of a side project, was developing a concept (and now a prototype) for a mobile game to teach young kids about birds and conservation, called Find the Birds.
After many years, we finally have a prototype nearing completion, that can increase our chances of getting grants.
I made all the graphics/animations, but it wouldn’t have been possible without our lead programmer, Dan Yang Yin, and his assistant, Sen Lin (as well as my dad, for doing everything else since I’ve kind of stepped down in responsibility for this project).
Even though it’s still a ways to go from a final product, it’s pretty remarkable to see an idea that’s been in the conceptualization phase for nearly half a decade start to gain some ground.
Other stuff
Here are a few other cool things I did in these past few weeks:
Snuck out to go to a climate rally with Sustainabiliteens in Burnaby.
Lots of friend-making in TKS! Braindates, meeting cool people.
Started listening to Lex Fridman’s insanely good podcast.
Wrote a couple articles on my medium, one about the future of coral, and another on a few anecdotes and thoughts on how mathematics is taught in school
Had many fun days with some special people in my life (wink, wink) and had a bomb, safe, halloween, mini-party (with people in my safe six!!)
Ran a few meetings and small things for my school Red Cross Club
What the next few weeks look like for me:
Finishing and understanding linear algebra
Getting a half-descent understanding of multivariate differential calculus
Understanding how these mathematics apply in ML
Starting (hopefully by early december) practical development in PyTorch via two edX courses, while simultaneously doing a deep learning specialization on coursera.
Getting into a big data hackathon with some super cool people.
Thank you. So much. For actually getting this far. I’m deeply sorry. Hope you found something maybe a little helpful in there. Stay safe. Wear a mask. Love you.
Follow my Medium, Instagram and LinkedIn for updates and cool stuff :) Subscribe to this newsletter to get updates and fun stuff :)