Selected work

Projects.

Where the mathematics meets the machine — research projects spanning multi-objective optimization, video understanding, medical ML, distribution shift, and benchmarking.

Choquet Adaptive Scalarisation (CAS)

Aug — Sep 2026
SIT316 Linear & Nonlinear Optimisation · Deakin University · Supervised by Prof. Gleb Beliakov
  • Designed a novel nonlinear multi-objective optimiser that scalarises objectives with the Choquet integral and adaptively updates its parameters from the non-dominated solutions found along the way.
  • Leveraged the nonlinearity of the Choquet integral to capture non-convex, curved, disconnected, and unevenly distributed Pareto fronts.
  • Benchmarked on ZDT1–3 and DTLZ1–2 against a linear-scalarisation baseline (NNLS updates): slightly higher hypervolume and more non-dominated solutions, at a higher computational cost.
PythonNumPySciPypymoopyfmtoolsMulti-objective Optimization

Sign Language Recognition with X3D

Aug — Sep 2026
SIT332 Robotics, Computer Vision & Speech Processing · Deakin University
  • Summarised X3D, an efficient video architecture that expands a small 2D network one axis at a time, and its implementation in PyTorchVideo.
  • Fine-tuned three Kinetics-400-pretrained X3D variants on AUTSL (226 Turkish signs) at six freezing depths, run as Slurm job arrays on A100 GPUs.
  • Best accuracy–cost trade-off: X3D-M with two frozen blocks reached 82.3% top-1 at 4.9 GFLOPs per clip, matching full fine-tuning; also tested on a hand-crafted sign dataset.
PythonPyTorchPyTorchVideoVideo UnderstandingSlurm / HPC

Improved DASMcC — Heart Disease Prediction from 12-Lead ECG

Aug — Sep 2026
SIT307 Machine Learning · Deakin University
  • Attempted to reproduce DASMcC, a published multi-class cardiovascular-disease classifier on PTB-XL, and found its reported 88–93% accuracy was not reproducible.
  • Traced the gap to SMOTE applied before the train/test split; an ablation leaking data the same way recovered 80.5–88.4% accuracy.
  • Proposed a 1D-CNN + autoencoder feature pipeline that raised the best macro-F1 from 40.5 to 58.4, and showed tree-based models gain further on uncompressed features.
PythonPyTorchScikit-learnXGBoostCatBoostReproducibility

Out-of-Distribution Data Fitting

Nov 2025 — Feb 2026
ADR Summer Project 2025 · Deakin University
  • Implemented a range of data-splitting techniques designed to mimic real-world distributionally shifted data.
  • Benchmarked state-of-the-art ML/DL models under those shifted regimes to probe how generalization degrades off-distribution.
  • Summarised findings and reviewed the related literature in an academic, reproducible manner.
PyTorchScikit-learnBenchmarkingDistribution ShiftLiterature Review
GitHub repo ↗

OODToolkit — Tabular Regression Benchmarking Pipeline

2025 — 2026
Companion toolkit · Out-of-Distribution Data Fitting
  • Built an end-to-end, config-driven pipeline that splits tabular datasets, trains regressors, and evaluates them under out-of-distribution train/test regimes.
  • Engineered geometric and distributional splitters — hyperball, slab, K-means, and covariate-shift — to synthesise controlled distribution shift from any dataset.
  • Unified eleven classical and neural regressors (Huber, KNN, SVM, tree ensembles, XGBoost, LightGBM, ResNet) behind one interface, with Slurm batch support for HPC runs.
PythonPyTorchScikit-learnXGBoostLightGBMSlurm / HPC
GitHub repo ↗

Linear Programming for Data Science

Jun 2024
PiMA Research Summer Camp 2024
  • Transformed regression problems into optimization frameworks and clean matrix formulations.
  • Built linear-regression models with both L1 (linear programming via SciPy linprog) and L2 (closed-form least squares) approaches.
  • Implemented and evaluated both in Python, comparing error-minimisation strategies on robustness, accuracy, and sensitivity to outliers.
PythonSciPyLinear ProgrammingLeast SquaresRegression
GitHub repo ↗
More on the way

The lab is always running.

New work in graph neural networks and brain-inspired models is in progress. Check back, or follow along on GitHub.