Greedy Descent
NonArchimedeanMachineLearning.greedy_descent — Method
greedy_descent(loss::Loss, param::ValuationPolydisc{S,T,N}, next_branch::Int, settings::Tuple{Bool,Int}) where {S,T,N}Perform one step of greedy descent optimization.
Computes children of the current parameter and selects the child that minimizes the loss. Can operate in strict mode (one coordinate at a time) or full mode (all coordinates).
Arguments
loss::Loss: The loss function structureparam::ValuationPolydisc{S,T,N}: Current parameter valuesnext_branch::Int: Index of next branch to descend (in strict mode)settings::Tuple{Bool,Int}:(strict, degree)wherestrictenables single-coordinate descent
Returns
Tuple{ValuationPolydisc{S,T,N}, Int, Bool}: New parameters, next branch index, and convergence status
NonArchimedeanMachineLearning.greedy_descent_init — Method
greedy_descent_init(param::ValuationPolydisc{S,T,N}, loss::Loss, next_branch::Int, settings::Tuple{Bool,Int}) where {S,T,N}Initialize an optimization setup for greedy descent.
Arguments
param::ValuationPolydisc{S,T,N}: Initial parameter valuesloss::Loss: The loss function structurenext_branch::Int: Starting branch index for strict mode (typically 1)settings::Tuple{Bool,Int}:(strict, degree)controlling descent behavior
Returns
OptimSetup: Configured optimization setup for greedy descent