Algorithms
This section contains the main algorithms of the package.
OAVI
ApproximateVanishingIdeals.evaluate_oavi
— MethodApplies the OAVI feature transformation to X_test.
ApproximateVanishingIdeals.fit_oavi
— MethodCreates 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
VCA
ApproximateVanishingIdeals.fit_vca
— FunctionThis 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
ApproximateVanishingIdeals.find_range_null_vca
— FunctionPerforms 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.
ApproximateVanishingIdeals.evaluate_vca
— FunctionEvaluates transformation corresponding to the polynomials in V.