Blog posts


Stumbling backwards into np.random.seed through jax.

10 minute read


Alternative title: PRNG for you and me through (j)np.random.seed. This post aims to (briefly) discuss why I like jax and then compare Jax and numpy vis a vis randomness.

PyTorch Gradient Manipulation 1

10 minute read


Preface: this notebook is part 1 in a series of tutorials discussing gradients (manipulation, stopping, etc.) in PyTorch. The series of tutorials cover the following network architectures:



MAPE Madness

5 minute read


**Problem setup:** You want to use the Mean Absolute Precision Error (MAPE) as your loss function for training Linear Regression on some forecast data. Springer: Mean Absolute Precision Error (MAPE)) has found success in forecasting because it has desirable properties:


Fundamentals Part 1: An intuitive introduction to Calculus and Linear Algebra

7 minute read


As you’ve probably heard, calculus is imperative for Machine Learning. However, there is a definite emphasis on differentiation compared to integration, so this series of posts will build from simple derivatives to Jacobians and Hessians. Ideally, at the end of this series, if you read a paper that mentions one of the topics above, you’ll have a rough idea of why the authors chose to do what they did and what their choice means for the results.

Fundamentals Part 2: Hessians and Jacobians

10 minute read


This section builds off the last post, Fundamentals Part 1: An intuitive introduction to Calculus and Linear Algebra; if you’re not familiar with calculus or linear algebra, I highly recommend starting there. If this is your first time seeing all of this, know that this section is more involved than the first fundamentals post. Be prepared to feel a little lost, but if you keep at it, I know you’ll get there (it took me a while to wrap my head around)


Ian Quah - Initial post

1 minute read


Any good story starts with a why so we begin there. I’m not particularly skilled at learning new concepts; I often get lost and have to go back to read even simple things to refresh my memory. So I’m hoping that this blog will serve as: