Skip to content

feat: per-iteration evidence re-optimization for the interferometer LM engine#628

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/potential-correction-uv-campaign
Jul 17, 2026
Merged

feat: per-iteration evidence re-optimization for the interferometer LM engine#628
Jammy2211 merged 1 commit into
mainfrom
feature/potential-correction-uv-campaign

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

Summary

Adds reg_optimize_every to al.pc.IterFitDpsiSrcInterferometer (#627, parent #623): every N accepted LM iterations (and at the start) the regularization strength multipliers (a_src, a_dψ) are re-optimized by maximising the Laplace evidence at the fixed normal equations — each candidate costs one Cholesky solve on a log-spaced grid, so the control is nearly free. This is the per-iteration objective control of Koopmans 2005 / Vegetti & Koopmans 2009, and it directly addresses the campaign's characterized failure mode (the source block absorbing the potential perturbation at fixed coefficients).

Campaign validation (local tier, table on #627): iterative δκ recovery improves from corr 0.13 / peak 1.20″ (best fixed-coefficient result across a 1000× sweep) to corr 0.41 / peak 0.44″ with reg_optimize_every=1. log_evidence made scale-consistent with the adopted multipliers.

API Changes

Added only: reg_optimize_every / reg_optimize_grid parameters (default off — behaviour unchanged) and the reg_scales attribute.
See full details below.

Test Plan

  • Full test_autolens/potential_correction suite: 51 passed (default path unchanged).
  • Full test_autolens suite: 439 passed.
  • Campaign harness end-to-end run with --reg-optimize 1 (results above).
Full API Changes

Added

  • al.pc.IterFitDpsiSrcInterferometer(..., reg_optimize_every=None, reg_optimize_grid=5) — evidence re-optimization of regularization strengths at fixed F, D; _optimize_regularization(F, D), _effective_regularization(), reg_scales.

Migration

  • None — additive; defaults preserve existing behaviour.

Generated by the PyAutoLabs agent workflow.

…ngine

IterFitDpsiSrcInterferometer gains reg_optimize_every: every N accepted
LM iterations (and at start) the regularization strength multipliers
(a_src, a_dpsi) are re-optimized by maximising the Laplace evidence at
the fixed normal equations (one Cholesky per candidate on a log grid) —
the objective control of Koopmans 2005 / Vegetti & Koopmans 2009 that
stops the source block absorbing potential perturbations.
log_evidence made scale-consistent. Campaign local-tier validation:
iterative dkappa recovery corr 0.13 -> 0.41, peak 1.20" -> 0.44"
(PyAutoLens#627).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Jammy2211 Jammy2211 added the pending-release PR queued for the next release build label Jul 17, 2026
@Jammy2211
Jammy2211 merged commit 6aafa77 into main Jul 17, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pending-release PR queued for the next release build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant