ML 46: The Right Threshold Is a Cost Ratio, If the Probabilities Are Calibrated

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. Episode 4’s simulated task with a miss costing r times a false alarm. At r = 10, flagging at 0.5 cost 1.44 to 2.00 per case, against 0.497 for flagging every case....

October 13, 2026 · 9 min · Jongha Jeon

ML 47: The Model With the Best AUC Was Never the Best When Misses Cost Ten Times More

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. Five models on a simulated task, ten training sets each. A random forest had the highest AUC every time (0.754) and the lowest cost every time when both errors cost the same....

October 13, 2026 · 9 min · Jongha Jeon

ML 48: What a Model Relies On Is Not What to Change

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 simulated system with an unmeasured common cause, a habit it drives, a treatment that raises the outcome’s risk, and a test result produced by the outcome. Boosted trees put 0.45 of permutation importance on the test result, and raising it by one standard deviation in the model’s input raised the predicted risk by 0....

October 13, 2026 · 8 min · Jongha Jeon

ML 49: Target the Effect, Not the Risk

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 simulated retention offer, a randomised trial behind it and a budget for 20% of customers. Offering it to the highest predicted churners prevented 20.1 to 22.0 churns per 1,000 customers, about what random targeting prevented (21....

October 13, 2026 · 9 min · Jongha Jeon

ML 50: A Rule That Chooses Its Own Data Learns Its Own Choices

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 simulated districts, ten inspections a day for a year, violations found only where inspectors go; district B’s true rate 20% above A’s. Sending inspectors where more violations had been found put every visit in one district by the year’s end in all 500 runs, the lower-rate district in 46%....

October 13, 2026 · 9 min · Jongha Jeon

ML 51: A Benchmark Is a Sample of Questions

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. Ten small arithmetic transformers, graded on a pool of 2,500 problems and ranked on benchmarks drawn from it. The models’ 95% intervals covered their pool scores 94% to 95% of the time on average, but on 100 questions the best model ranked first in 50% of benchmarks, and seven close models came out in their true order in 0....

October 14, 2026 · 10 min · Jongha Jeon

ML 52: A Leaked Benchmark Shows in the Set, Not in the Item

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. The repository’s main arithmetic model was trained for 600 more steps with 300 benchmark problems inserted into its stream k times, for k from 0 to 32. Five runs with nothing leaked scored 0....

October 14, 2026 · 11 min · Jongha Jeon

ML 53: The Prompt Is Part of the Score

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 small arithmetic transformers, 200 problems per task, six kinds of context in front of each problem. The main model’s multiplication score was 0.735 after twelve ordinary lines and 0.500 after none....

October 14, 2026 · 9 min · Jongha Jeon

ML 54: Multiple Choice Grades the Wrong Answers You Offered

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. Three small arithmetic transformers, the same problems in the same contexts, two ways of scoring. On four-digit sums none of them generated a single right answer in 200; asked to pick the likeliest of four options, they scored 0....

October 14, 2026 · 9 min · Jongha Jeon

ML 55: Every Judge Ranked Itself First

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. Three small arithmetic transformers answered 300 problems on each of three tasks, and each judged all three models’ answers by its own per-character likelihood, with a threshold set so its overall pass rate was right, up to ties....

October 14, 2026 · 11 min · Jongha Jeon