Online selection rules: the meta-learning rows: private API

PortfolioOptimisers.rate_grid_experts — Function
rate_grid_experts(eta_min::Real, K::Integer, obj::AbstractOnlineObjective)

Builds the K GradientProjection experts of Ader and Sword on a geometric grid of rates, each on the objective obj.

Every rate takes the numeric type of eta_min.

Mathematical definition

\[\begin{align} \eta_k &= 2^{k - 1} \eta_{\min}\,, \quad k = 1, \ldots, K\,. \end{align}\]

Where:

  • $\eta_k$: Grid rate of expert $k$, the learning rate of its gradient step.
  • $\eta_{\min}$: Smallest grid rate, the rate of the first expert.
  • $K$: Expert count of an expert mixture.

The largest rate is $2^{K - 1}$ times the smallest.

Arguments

  • eta_min: The smallest rate of the grid.
  • K: The number of experts.
  • obj: The objective that every expert steps on.

Validation

  • eta_min > 0, K >= 1. A DomainError is thrown otherwise.

Returns

  • experts::Vector{<:MirrorDescent}: The K experts. Expert $k$ takes the Euclidean gradient step at the rate $\eta_k$.

Related

source