## The Weiler-Atherton polygon clipping algorithm

Description of the Weiler-Atherton polygon clipping algorithm.

Welcome to my website. Please have a look at any of my blog posts below.
## The Weiler-Atherton polygon clipping algorithm

## Implementing the GZip-kNN Classification paper

## How (not) to compare 2D scatter plots

## Dobble probabilities

## Guided denoising diffusion

## Image generation with MNIST

## Denoising diffusion probabilistic models from first principles

## Backpropagation through a layer norm

## Transformers from first principles in Julia

## Quaternions: Part 4

Description of the Weiler-Atherton polygon clipping algorithm.

A recent paper caused a stir in the machine learning world. It claimed that a combination of GZip and k-Nearest Neighbours could beat transformers in classification tasks. Here I implement that method in Julia and explore results for two datasets,...

How to calculate the statistical distance between two 2D distributions of points. But first a lesson in bad statistics, the pitfalls of visual solutions and over-complicating a solved problem.

Calculating probabilities for matching games like Dobble.

Classifier-free guidance for denoising diffusion probabilistic model in Julia.

A denoising diffusion probabilistic model for generating numbers based on the MNIST dataset. The underlying machine learning model is a U-Net model, which is a convolutional autoencoder with skip connections. A large part of this post is dedicated to implementing...

Denoising diffusion probabilistic models for AI art generation from first principles in Julia. This is part 1 of a 3 part series on these models.

Derivation of the backpropagation equations for layer normalization.

Transformers for natural language processing from first principles. This a long post which details a full implementation of transformers and the mathematics behind them. The use case is predicting Amazon review stars based on the review text. The language of...

Interpolation using quaternions.