Advanced Applied Optimisation

This project was part of the Advanced Applied Optimisation module, which loosely followed Convex Optimization by Stephen Boyd and Lieven Vandenberghe (Stanford). The coursework focused on building classifiers using optimisation techniques in CVXPy, without relying on standard machine learning libraries.

The goal was to apply concepts such as convexity, slack variables, and regularisation to real datasets, and to compare how different models (linear, quadratic, polynomial, and multi-class) handle classification problems.

Polynomial classifier
Polynomial classifier with nonlinear decision boundary.
Linear classifier
Linear classifier with margin-based separation.
Polynomial classifier
Polynomial classifier with improved separation over the linear case.
Multi-class classifier
Multi-class classifier with one-vs-rest decision boundaries.