Skip to content

Fix infinite log-weight normalization#2273

Merged
FlorianPfaff merged 2 commits into
mainfrom
codex/fix-inf-log-weight-normalization-main-20260526
May 26, 2026
Merged

Fix infinite log-weight normalization#2273
FlorianPfaff merged 2 commits into
mainfrom
codex/fix-inf-log-weight-normalization-main-20260526

Conversation

@FlorianPfaff
Copy link
Copy Markdown
Owner

Summary

  • Treat positive infinite log weights as dominant support instead of falling back to a uniform distribution.
  • Split probability mass uniformly only among hypotheses with +inf log weight.
  • Add regression coverage for single and multiple +inf weights and moment matching with a dominant infinite-weight hypothesis.

Bug fixed

normalize_log_weights previously used not np.isfinite(maximum) as a generic fallback to uniform weights. That is appropriate when all weights collapse to -inf/non-finite support, but it is mathematically wrong when one or more hypotheses have +inf log weights: those hypotheses should receive all probability mass. The old behavior could make moment_match_gaussian_hypotheses average incompatible hypotheses even when one hypothesis has an infinite log-score advantage.

Validation

  • Branch created from current main (5c989c29fa1d937e3b4b117610f69c7dba018a3d).
  • Compared branch against main: 2 commits ahead, 0 behind; only gaussian_hypothesis_mixture.py and its focused tests changed.
  • Local pytest was not run because this execution container cannot resolve github.com; repository CI should run the focused regression tests and full matrix.

@github-actions
Copy link
Copy Markdown
Contributor

MegaLinter analysis: Success

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ COPYPASTE jscpd yes no no 53.89s
✅ JSON prettier 7 0 0 0 0.96s
✅ JSON v8r 7 0 0 4.99s
✅ MARKDOWN markdownlint 66 0 0 0 1.95s
✅ MARKDOWN markdown-table-formatter 66 0 0 0 0.84s
✅ PYTHON black 766 0 0 0 40.27s
✅ PYTHON isort 766 0 0 0 2.62s
✅ REPOSITORY checkov yes no no 46.9s
✅ REPOSITORY gitleaks yes no no 17.23s
✅ REPOSITORY git_diff yes no no 0.09s
✅ REPOSITORY secretlint yes no no 23.52s
✅ REPOSITORY syft yes no no 4.16s
✅ REPOSITORY trivy-sbom yes no no 6.97s
✅ REPOSITORY trufflehog yes no no 23.22s
✅ YAML prettier 11 0 0 0 0.75s
✅ YAML v8r 11 0 0 12.68s
✅ YAML yamllint 11 0 0 0.58s

Notices

📣 MegaLinter 9.5.0 is out! Discover the new features and security recommendations in the release announcement. (Skip this info by defining SECURITY_SUGGESTIONS: false)

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@9.5.0 --custom-flavor-setup --custom-flavor-linters PYTHON_BLACK,PYTHON_ISORT,COPYPASTE_JSCPD,JSON_V8R,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_GITLEAKS,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

MegaLinter is graciously provided by OX Security
Show us your support by starring ⭐ the repository

@FlorianPfaff FlorianPfaff enabled auto-merge (squash) May 26, 2026 10:04
@FlorianPfaff FlorianPfaff merged commit acd35ff into main May 26, 2026
26 checks passed
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