Optimisation Under Uncertainty Part 2: An LP reformulation aside

A slight diversion: how to reformulate a linear program with a nested maximisation using duality

January 5, 2026 · 1044 words · Jack Medley

Optimisation Under Uncertainty Part 1: Murphy's Law

Introduction to robust optimisation under uncertainty. Part 1 covers theoretical foundations and the trade-offs between optimality and robustness.

January 3, 2026 · 1864 words · Jack Medley

Building Non-Standard Regression Models with JAX

Using JAX’s automatic differentiation to train a Zero-Inflated Generalised Poisson regression model

October 27, 2025 · 1962 words · Jack Medley

Online Bayesian Learning Part 4: Non-stationary data and R-VGA

Adapting R-VGA to work in non-stationary environments.

August 10, 2025 · 1442 words · Jack Medley

Online Bayesian Learning Part 3: R-VGA

Deriving and implementing the R-VGA algorithm for online learning with neural networks on streaming binary classification data

July 29, 2025 · 2608 words · Jack Medley

Online Bayesian Learning Part 2: Bayesian Neural Networks With Variational Inference

A quick detour to introduce variational inference and use it to train a small Bayesian neural network with jax/eqx

July 3, 2025 · 2744 words · Jack Medley

Online Bayesian Learning Part 1: Exact recursive inference

Part 1 of a series of posts looking into the problem of ‘online’ learning using Bayesian methods

June 15, 2025 · 2123 words · Jack Medley

Bayesian climbing grades

Bayesian hierarchical model to analyze route setter bias in climbing grades. Uses PyMC to estimate ’true’ difficulty accounting for setter variations.

June 30, 2024 · 2755 words · Jack Medley

C++20: SFINAE vs. Concepts

Comparing C++20 Concepts with SFINAE for template constraints. Modern approaches to type checking and compile-time validation.

June 30, 2024 · 1409 words · Jack Medley

Bivariate Poisson Regression with Expectation-Maximisation

Modeling correlated count data using bivariate Poisson regression with EM algorithm. Handle overdispersion and correlation in count models.

October 1, 2022 · 3164 words · Jack Medley

Cubic Spline Expansions with Logistic Regression

Flexible non-linear regression using cubic spline basis functions. Bayesian approach with PyMC for smooth curve fitting and uncertainty quantification.

June 14, 2022 · 2607 words · Jack Medley

MIP Knights

Solving the knight’s tour problem using Mixed Integer Programming. Explore combinatorial optimization with constraint programming techniques.

April 1, 2022 · 1286 words · Jack Medley

Huber Regression

Robust regression using Huber loss function. Handle outliers and improve model stability with robust statistical methods.

November 28, 2020 · 1435 words · Jack Medley

Quantile Regression

Quantile regression for uncertainty estimation beyond the mean. PyTorch implementation for predicting conditional quantiles.

November 1, 2020 · 1429 words · Jack Medley

Network Discovery with Mixed Integer Programming

Network topology discovery using Mixed Integer Programming. Apply optimization techniques to infer network structure from observable data.

July 4, 2020 · 2473 words · Jack Medley

The EM Algorithm Part 2: Censored Linear Regression

Part 2: Applying EM algorithm to censored linear regression. Handle missing data and truncated observations in statistical modeling.

May 12, 2020 · 2026 words · Jack Medley

The EM Algorithm Part 1: Gaussian Mixture Models

Part 1: Introduction to EM algorithm with Gaussian Mixture Models. Learn expectation-maximization for unsupervised clustering and density estimation.

May 7, 2020 · 2486 words · Jack Medley