Algorithms

This section contains the main algorithms of the package.

OAVI

ApproximateVanishingIdeals.fit_oaviMethod

Creates OAVI feature transformation fitted to X_train

Arguments

  • 'X_train::Matrix{Float64}': training data
  • 'max_degree::Int64': max degree of polynomials computed (default 10)
  • 'psi::Float64': vanishing extent (default 0.1)
  • 'epsilon::Float64': accuracy for convex optimizer (default 1.0e-7)
  • 'tau::Union{Float64, Int64}': upper bound on norm of coefficient vector
  • 'lambda::Float64': regularization parameter
  • 'oracle::Union{String, <:Function}': string denoting which predefined constructor to use OR constructor function. (external constructor function MUST have 'data' and 'labels' as varargs)
  • 'max_iters::Int64': max number of iterations in oracle
  • 'inversehessianboost::String': whether or not to use IHB. Choose from "false", "weak" or "full".
  • 'oracle_kwargs::Vector': Array containing keyword arguments for external constructor functions

Returns

  • 'Xtraintransformed::Matrix{Float64}': transformed X_train
  • 'sets::SetsOandG': instance of 'SetsOandG' keeping track of important sets
source

VCA

ApproximateVanishingIdeals.fit_vcaFunction

This function creates and applies a VCA transformation fitted to X.

Arguments

  • 'X::Matrix{Float64}': data, stored row-wise
  • 'psi::Float64': vanishing parameter
  • 'max_degree::Int64': maximum degree to consider

Returns

  • 'Xtraintransformed::Matrix{Float64}': X transformed according to transformation found by VCA
  • 'sets_vca::SetsVCA': instance of SetsVCA containing relevant sets for VCA
source
ApproximateVanishingIdeals.find_range_null_vcaFunction

Performs FindRangeNull (using SVD) for VCA. Reference: https://proceedings.mlr.press/v28/livni13.html

Arguments

  • 'F::Matrix{Float64}': evaluation of F polynomials
  • 'C::Matrix{Float64}': evaluation of C polynomials
  • 'psi::Float64': vanishing parameter

Returns

  • 'Vcoefficientvectors::Matrix{Float64}': Coefficient vectors of polynomials we append to V.
  • 'Vevaluationvectors::Matrix{Float64}': Evaluation vectors of polynomials we append to V.
  • 'Fcoefficientvectors::Matrix{Float64}': Coefficient vectors of polynomials we append to F.
  • 'Fevaluationvectors::Matrix{Float64}': Evaluation vectors of polynomials we append to F.
source

Index