How I learn (math)
02 Jan 2023
6 minute read
I’ve learned a lot of things on my own, mostly because I wan to build and I also want to understand how the world works. This includes CS, math, physics, and even philosophy!
With time, I’ve developed a pretty good process for learning more effectively and to condense the core ideas I want to remember.
I’m going to be focusing on mathematics for this post, because it’s a lot of what I’ve been learning recently, and many of these insights are generalizable.
Reasoning on abstractions #
It is possible to learn while reasoning on abstractions. Imagine learning as a video game where you land in an unknown world and have to gradually uncover its laws and rules to accomplish your goals. There are two ways for you to learn about things in this world:
a) learning by explicitly researching what a thing is b) learning what something is in terms of its relationships to other things
Method b is what I call reasoning on abstractions: you have a mental model of the world and you abstract the thing you’re studying in terms of the diverse ways you see it interact with the other components of your system. This can be similar to pattern-matching parts of a thing instead of understanding its causal chains. Doing this can be a powerful tool and a dangerous trap.
To indulge in abstractions, you need to have good judgement on what matters and what doesn’t in terms of your goals. To do this, you need to clearly define what your goals are.
Here are some examples of different learning situations and goals for me.
- doing well on a test for a course I have to take but am not really interested in. Here, I am going to develop a first hand understanding of what I need to know to do well, then I am going to learn just what I need to do that, and reason on abstractions for the rest of the content.
- building a deep understanding and intuition on a math subject. In this case, I am going to forgo abstractions as much as possible. Within reason, every proof will be read through, and every analogy or intuition explored.
- Learning about modern natural language processing for conceptual understanding and software development [AI]. For this, I am looking for general patterns and foundational ideas that can inform later research. I use selective abstractions and try to deprioritize small engineering details that distract me from deeply engaging with the theoretical backbone of the ideas I learn.
To train your judgement, be explicit about what goals govern your learning and simply practice. Constantly be aware of the mapping between the things you learn and the goals you’ve set up for yourself.
You have to be careful with this approach, and many people are fooled into reasoning on abstractions such that they never learn the intuitions they need:
A counterintuitive problem that I run into a lot is that smart people are very good at learning things extremely badly, in a way that they wouldn't do if they were less smart - they'd just fail to learn it at all.
— David R. MacIver (@DRMacIver) May 29, 2022
Problems and Intuition #
Whenever I’m selecting a new problems to do, I try to evaluate whether it’ll teach me something about the material I’m building intuitions on. Notably, is it very similar to something I’ve already practiced on? How much time am I willing to spend on it? I think about the problems I do as sets of patterns rather than sequences of obstacles, and often skip problems when selectively choosing what to focus on. The idea here is to 80/20 your knowledge of the subject, if and only if you don’t care too much about the last 20%. This approach is one of the things you have to be most cautious and thoughtful about in this post (don’t start skipping everything).
Instead of simply following arbitrary exercise sequences, this allows you to make your learning more intentional. In any case, I encourage still incorporating some serendipity in your problem sets, and at least skimming lots of exercises. I really like keeping “problem-solving” notes for the things I learn, which basically have the main types of problems/solutions in the subject. Then I can look at these and find general patterns that can inform my intuition notes, where I go through all the material, extracting the key ideas and intuitions without all the detail.
Learn by Doing Something Creative #
I always love trying to build something cool using the material I have studied. This is very different from solving exercises and requires the ability to express your understanding of a topic in an unprompted manner, without instructions. Sampling from a much larger space of possibilities than when solving a problem, you can try and think of a small (or large) project that will channel your intuitions and force you to face the gaps in your understanding, making it stronger.
Possible Examples:
- Physics / Mechanics => implement a web simulation from scratch, learning the nitty-gritty details of how various mechanisms like gravitational attraction in astronomy work
- For math, you could come up with your own exercises! or you could again rely on CS and implement a protocol or library or tool made possible by the math you’ve learned. For example, try building a simplified subset of GAP if you’re learning linear algebra.
- For programming this is very easy and explicit, just build software using the ideas you’ve learned
- Social Sciences => Writing, thinking and coming up with key questions (Tyler Cowen is good at this)
Have Concise Notes #
Your notes should only have what you actually want to remember. Always relate what you add to your notes to your learning goals! Adding more stuff to your notes is not free ~ it means that much more time spent when actually reviewing the material.
Make notes so when you want to remember what you learned you can quickly go back, find what you’re curious about, and review it fully. Having organized, concise notes can replace the need for spaced repetition systems where you consolidate long-term memory. In some cases, it’s just more efficient to have a neat repository with what you might want to know again! My example is my wiki.
These usually just have things I might forget, and intuitions that I found valuable and want to save. Currently doing this for linear/abstract algebra! Proof sketches can also be useful to include, and save you time later.
This was just a sketch of things I like doing when I’m learning, but I’d be excited to hear about what you do too!