Stumbling backwards into np.random.seed through jax.
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.
Senior ML Engineer working on PT (west coast of the US)
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.
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:
Right off the bat, I want to say that I’m okay with specific forms of data collection; if the consumer is informed of what will be collected and what the collector will do with the information, the collection is fine. In the cases where the consumer is well informed, they can make clear decisions about the tradeoffs between what they are offered and what they are giving up. I am strongly opposed to hiding the details of this tradeoff under pages and pages of legalese.
Note: “we” means “I”
**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:
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)
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.
Note: The code can be found here: quitPusheenMeAround
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: