Context: I never did too well in statistics, and in general I was always pretty bad at understanding simple Math notation like sigma notation, multi-variate calc, or linear algebra.
For me to understand the paper, I had to go through the code to piece out the Math jargon, even though the Math behind it is really quite simple. Another way of saying this is, "I'm dumb," sure. Not gonna argue with anyone there.
Though I still think it's curious why it's easier for me to understand a concept through code than it is through Math. It's sort of reminiscent of when you first learned Algebra, your teacher would tell you to replace the variable with an easy number and work through it to understand the mechanics of equations.
I think code is an example of that - literally working through the mechanics of algorithms to understand what they actually do and how they work.
I think it's probably just that you have far more relevant experience with reading code. Math is its own language, and math departments only really start teaching how to read and write it in Real Analysis classes. As my math professor stepfather said his advisor once put it, "Everything before that is just to keep the children from running in the halls."
This is too perfect. I did a minor in math, and covered two semesters of real analysis and two of algebra, plus an optimization class and some advanced (undergraduate) statistics, and holy crap I felt like I was joining the grown up table when I started.
I've always wondered why Real Analysis isn't introduced earlier in math education. It might make it easier to grasp concepts introduced in upper-level math.
That's why so many people point to Spivak's Calculus book, since it has been hinted it should be called an analysis text. Strang's Calculus, as do others, start with real-world examples. Personally, I had to do the Strang route, and then come back to Spivak, since I had to admit to myself, I don't have that ability to think 100% abstractly; I need motivation from the real world.
Not surprising at all. If someone is not familiar with the notation it can certainly get in the way. Furthermore math notation is very context sensitive, so possibility of confusion abounds.
Here's the Hokusai paper: http://www.auai.org/uai2012/papers/231.pdf
And here's an implementation: https://github.com/dgryski/hokusai
For me to understand the paper, I had to go through the code to piece out the Math jargon, even though the Math behind it is really quite simple. Another way of saying this is, "I'm dumb," sure. Not gonna argue with anyone there.
Though I still think it's curious why it's easier for me to understand a concept through code than it is through Math. It's sort of reminiscent of when you first learned Algebra, your teacher would tell you to replace the variable with an easy number and work through it to understand the mechanics of equations.
I think code is an example of that - literally working through the mechanics of algorithms to understand what they actually do and how they work.