ML 56: A t-SNE Picture Keeps the Neighbours and Loses the Map

Disclosure: this post was written with the assistance of an AI system (Claude), which wrote the analysis code, ran the experiments and drafted the text. The topic, the constraints, the data choices and the final review are the author’s. Two Gaussian clusters in ten dimensions, one ten times as wide as the other, came out of t-SNE with a radius ratio between 0.99 and 1.01 at perplexities 5, 30 and 100; three clusters with one gap ten times the other came out with a gap ratio between 0....

October 14, 2026 · 9 min · Jongha Jeon

ML 57: The BIC Counts Gaussians, Not Clusters

Disclosure: this post was written with the assistance of an AI system (Claude), which wrote the analysis code, ran the experiments and drafted the text. The topic, the constraints, the data choices and the final review are the author’s. Gaussian mixtures fitted to a single two-dimensional cluster: for a Gaussian one, the BIC chose one component at every size from 200 to 20,000 points; for a uniform square it chose 2, 7, 14, 18; for a heavy-tailed cluster 2, 3, 4, 9....

October 14, 2026 · 9 min · Jongha Jeon

ML 58: DBSCAN's Radius Is a Density, and It Gets Only One

Disclosure: this post was written with the assistance of an AI system (Claude), which wrote the analysis code, ran the experiments and drafted the text. The topic, the constraints, the data choices and the final review are the author’s. On two half-moons DBSCAN scored an adjusted Rand index of 0.95 or more for radii between 0.071 and 0.206, and 1.00 from 0.116, where k-means scored 0.25; the radius at the knee of the k-distance plot, 0....

October 14, 2026 · 9 min · Jongha Jeon

ML 59: An Anomaly Score Ranks; the Contamination Setting Only Cuts

Disclosure: this post was written with the assistance of an AI system (Claude), which wrote the analysis code, ran the experiments and drafted the text. The topic, the constraints, the data choices and the final review are the author’s. An isolation forest on simulated data with 0.5%, 2% or 10% planted anomalies ranked them with AUCs of 0.99 or more, and flagged exactly the share set by its contamination parameter; the ‘auto’ setting flagged 10....

October 14, 2026 · 9 min · Jongha Jeon

ML 60: The Most Stable k Is Not the Number of Clusters

Disclosure: this post was written with the assistance of an AI system (Claude), which wrote the analysis code, ran the experiments and drafted the text. The topic, the constraints, the data choices and the final review are the author’s. k-means stability, the agreement between clusterings of two random 80% subsamples, chose k = 2 for one elongated Gaussian (stability 0.92) and k = 4 for a uniform square (0.94), neither of which has clusters....

October 14, 2026 · 9 min · Jongha Jeon

Two Thirds of the Move Happens Before the Headline

Disclosure: this post was written with the assistance of an AI system (Claude), which wrote the analysis code, ran the experiments and drafted the text. The topic, the constraints, the data choices and the final review are the author’s. ‘It’s already priced in’ and ‘buy the rumour, sell the news’ are two of the oldest things anyone says about markets, and both put the price move before the headline rather than after it....

August 19, 2026 · 14 min · Jongha Jeon

The Chip Cycle Is Forecastable. The Shortage Is a Different Question.

Disclosure: this post was written with the assistance of an AI system (Claude), which wrote the analysis code, ran the experiments and drafted the text. The topic, the constraints, the data choices and the final review are the author’s. Memory is short, and the statements being made about it run to years. So I built the loop that generates the cycle — supply responds to price with a lag, inventory integrates the imbalance, price responds to inventory — and tried to measure how far ahead it can be forecast....

August 18, 2026 · 16 min · Jongha Jeon

I Trained 2,000 Models on a Coin Flip and the Best One Looked Great

Disclosure: this post was written with the assistance of an AI system (Claude), which wrote the analysis code, ran the experiments and drafted the text. The topic, the constraints, the data choices and the final review are the author’s. I generated a target that cannot be predicted, gave 60 pure-noise variables to 2,000 models, and kept the best one. It called 55.3% correctly, which taken at face value is significant at p = 0....

August 7, 2026 · 10 min · Jongha Jeon

Your 90% Prediction Interval Covers 42% of the Time

Disclosure: this post was written with the assistance of an AI system (Claude), which wrote the analysis code, ran the experiments and drafted the text. The topic, the constraints, the data choices and the final review are the author’s. Conformal prediction gives you a distribution-free coverage guarantee, and the theorem is correct: my intervals covered 91.0% against a promised 90%. They also covered the hardest fifth of the inputs 69% of the time, and after a volatility regime change they covered 42%....

August 7, 2026 · 11 min · Jongha Jeon

Why My Integrator Exploded at t = 355, Every Single Time

Disclosure: this post was written with the assistance of an AI system (Claude), which wrote the analysis code, ran the experiments and drafted the text. The topic, the constraints, the data choices and the final review are the author’s. A spectral solver that blew up at the same moment whatever I changed. Across 24 configurations, a tenfold change in timestep moved the failure by 5%, a finer grid by 5%, and swapping the entire time-stepping scheme by 3%....

August 6, 2026 · 12 min · Jongha Jeon