507 add new node implementing jaakkola jordans lower bound on sigmoid log sigmoid in bishop prml #529
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add Jaakkola-Jordan Lower Bound Implementation for Sigmoid Node
This PR implements the Jaakkola-Jordan lower bound approximation for the sigmoid function as described in Bishop's "Pattern Recognition and Machine Learning" (PRML).
New Sigmoid Node Implementation:
Sigmoidnode with three interfaces:out,in, andζ(zeta)ζUpdated Message Passing Rules:
ζ(zeta) rule: Computes the optimal variational parameter asζ = √(μ² + σ²)where μ and σ are the mean and standard deviation of the inputinrule: Updated to handle bothCategoricalandPointMassoutput distributions, computing weighted mean and precision using the Jaakkola-Jordan approximationoutrule: Computes the output categorical distribution using the logistic function with the variational parameterMathematical Foundation:
σ(x) ≥ σ(ζ) * exp((x-ζ)/2 - λ(ζ)(x²-ζ²))λ(ζ) = (σ(ζ) - 0.5)/(2ζ)andσ(ζ)is the logistic functionζis computed asζ = √(μ² + σ²)for maximum bound tightness