summaryrefslogtreecommitdiff
path: root/annotate_pgns/nnue_train.py
diff options
context:
space:
mode:
authorScott Gasch <[email protected]>2026-10-25 09:55:30 -0700
committerScott Gasch <[email protected]>2026-10-25 09:55:30 -0700
commit874ef0478078ef4eb436af7d2b68a353f61f4d70 (patch)
treee9954c289393c64d88402beff04637b52732ca73 /annotate_pgns/nnue_train.py
parent5f901d737b17c5f99b6e456d6c0c7d5e3c093dc4 (diff)
Learned FH% logistic-regression model (alpha full, beta whole-node-only)
Replaces the data.c histogram tables (g_uJointFHThousandths/ g_uBetaFHThousandths and their _NNUE counterparts) with two quantized logistic regressions as the default FH%-prediction mechanism under FH_USE_REGRESSION_MODEL=1, trained against real collected search data (fhcollect.c) per docs/REGRESSION.md. Alpha side is a full per-move regression, validated against the old table (0.119pp weighted mean deviation across 10,684 matched cells). Beta side is whole-node-only (matching the old table's own scope -- no functionality lost), refit on the NO_MOVE population after an earlier mixed-tier fit saturated and over-pruned; its skip threshold (FH_BETA_SKIP_THRESHOLD=99000) was confirmed by direct self-play sweeps, not just ECM solve-count intuition (see docs/REGRESSION.md's "Category A vs B" discussion). Gated by an overnight SPRT match (regression vs HEAD tables, same NNUE eval, sd8): at 4120 games, llr=+2.53 (never dipped negative, peaked +2.8), score=0.517, candidate reaching comparable depth at higher nps/ebf than head. Did not cross the H1=+2.94 SPRT bound, but the trend across the full run is unambiguous and the marginal value of waiting out the remaining games was judged not worth it. The data.c tables are left in place as the inactive #else branch of FH_USE_REGRESSION_MODEL for now; a follow-up commit will flip the build default and remove them once this commit's head_reference baseline and ECM numbers are recorded. Co-Authored-By: Claude Sonnet 5 <[email protected]>
Diffstat (limited to 'annotate_pgns/nnue_train.py')
0 files changed, 0 insertions, 0 deletions