Skip to main content

gradient_ascent_alignment

Function gradient_ascent_alignment 

Source
pub fn gradient_ascent_alignment(
    kernel_fn: &dyn Fn(&[f64]) -> KernelMatrix,
    target: &KernelMatrix,
    initial_params: &[f64],
    config: &AlignmentOptConfig,
) -> Result<OptimizationResult, AlignmentError>
Expand description

Gradient ascent on the alignment score via finite differences.

For each parameter θ_k, the partial derivative is approximated as:

∂A/∂θ_k ≈ (A(θ + ε*e_k) - A(θ - ε*e_k)) / (2ε)

Parameters are updated as θ ← θ + η * ∇A(θ) until convergence or max_iterations is reached.

§Arguments

  • kernel_fn - A closure mapping parameters to a KernelMatrix.
  • target - Target kernel.
  • initial_params - Starting parameter vector.
  • config - Optimisation configuration.