Skip to content
View johnantonn's full-sized avatar

Block or report johnantonn

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
johnantonn/README.md

About me

I'm trying to optimize a notoriously complex loss function, navigating a high-dimensional, non-convex landscape—one small step at a time. Probably, so are you!

My learnings from this winding journey:

  • Choose your objective with caution—you drift toward whatever you optimize.
  • Curate what you train on—you learn from what you keep feeding yourself.
  • Set the pace—bold enough to move, small enough not to overshoot.
  • Favour signal over noise—small, informative steps beat thrashing.
  • Rein in the extremes—when gradients explode, nobody benefits.
  • Beware tunnel vision (overfitting)—a little regularization keeps you adaptable.
  • Use momentum—keep going; let earlier progress carry you through flat stretches.

Education

I hold an MEng in Electrical and Computer Engineering (2015, top 3% of my class) from Aristotle University of Thessaloniki, Greece, and an MSc in Artificial Intelligence (2022, magna cum laude) from KU Leuven, Belgium. I was fortunate to learn from outstanding professors and mentors in mathematics, physics, engineering, and computer science.

I have authored two papers:

Experience

My professional career started in 2015, when I joined the Centre for Research and Technology Hellas (CERTH) as a research associate (Nov 2015–Jul 2016). There, I contributed to an EU-funded H2020 project on cloud computing—when the field was still in its early stages—and worked with a large consortium of European institutions.

I continued as a software engineer at Veltio (Dec 2016–Jul 2018), an Oracle partner offering supply-chain automation solutions. I worked on real-world, large-scale problems alongside an exceptional team and led the development of data pipelines and systems used by major international retailers, including Sainsbury's in the UK.

I then joined the Intelligent Systems and Software Engineering Lab (ISSEL) at the Department of Electrical and Computer Engineering, AUTH, as an ML research engineer (Oct 2018–Sep 2021). I was the technical lead on an EU-funded project on energy monitoring and load disaggregation: applied ML research, NLP pipelines (e.g. BERT, topic models), and a high-throughput event streaming engine for real-time smart-meter analytics.

In September 2022 I joined Expedia Group in London as a machine learning scientist. On the Content & Relevance team I work on large-scale ranking and retrieval—reviews, amenities, and property understanding—using deep learning, LLMs, and multimodal methods. My recent work has included cross-brand review ranking, semantic relevance and distillation for low-latency embeddings, LLM-as-judge labelling, internal TensorFlow ranking frameworks shared across teams, distributed evaluation tooling, and research on bias, calibration, and data pruning.

*My first job was in 2011, during my second year at AUTH, as a part-time support representative at OTE, the largest telecommunications company in Greece.

What motivates me

I find it exciting to push human boundaries with technology, and I believe we have a responsibility to leave the world better for future generations.

All it takes is one small step at a time!

Selected GitHub repositories

Past side projects, coursework, and research code live in separate repositories. Most of the older ones are archived on GitHub (read-only snapshots; not actively maintained) — the algorithm-visualiser portfolio below is the exception: it's active and still growing.

algorithm-visualizers (live demo) — 20 classic ML/CS algorithms, each a from-scratch NumPy implementation (no scikit-learn/PyTorch in the core algorithm) with an interactive step-by-step Streamlit + Plotly walkthrough, all in one categorised app:

  • Clustering — K-Means, DBSCAN, Gaussian Mixture (EM)
  • Dimensionality reduction — PCA, UMAP, t-SNE
  • Classification & ensembles — Perceptron & Gradient Descent, Support Vector Machine, Random Forest
  • Deep learning building blocks — Backpropagation, Transformer Self-Attention
  • Generative & self-supervised models — Variational Autoencoder, Diffusion Model (DDPM), Contrastive Learning
  • Graph algorithms — Dijkstra & A*, Minimum Spanning Tree
  • Probabilistic methods, state estimation & signal processing — Markov Chain Monte Carlo, Kalman Filter, Fast Fourier Transform
  • Reinforcement learning — Q-Learning / SARSA

Personal notebooks & experiments (self-directed; not part of a degree curriculum)

KU Leuven — Master of Artificial Intelligence

Coursework

Thesis & published research

  • cash-for-unsupervised-ad — Master’s thesis code extended to the LIDTA 2022 (ECML/PKDD) paper: CASH / AutoML for unsupervised anomaly detection

Aristotle University

Diploma thesis

  • insight-qa — Semantic question answering (Java, Elasticsearch, LDA)

Coursework

Curriculum vitae

You can find my full CV here.

Contact

You can contact me by email or on LinkedIn.

Pinned Loading

  1. algorithm-visualizers algorithm-visualizers Public

    20 classic ML/algorithm visualizers, from-scratch NumPy + Streamlit + Plotly, in one categorized multipage app

    Python

  2. bias-variance-decomposition bias-variance-decomposition Public archive

    Bias–variance decomposition for classification and regression with mlxtend.

    Jupyter Notebook

  3. fair-binary-classification fair-binary-classification Public archive

    Fairness-aware Adult income prediction with scikit-learn and IBM AIF360.

    Jupyter Notebook

  4. gaussian-bandits gaussian-bandits Public archive

    Gaussian multi-armed bandits and action-selection rules (RL-style notebook).

    Jupyter Notebook

  5. locality-sensitive-hashing locality-sensitive-hashing Public archive

    LSH + MinHash on Stack Overflow posts—similar-question detection in Java.

    Java