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

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
@Jammy2211 Jammy2211 removed the pending-release PR queued for the next release build label Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant