KerMor
0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
|
VKOGA: Vectorial kernel orthogonal greedy algorithm. More...
VKOGA: Vectorial kernel orthogonal greedy algorithm.
The VKOGA algorithm in introduced in [13] and adopts principles of greedy algorithms [6] [11]
This class is part of the framework
Homepage
http://www.morepas.org/software/index.htmlDocumentation
http://www.morepas.org/software/kermor/index.htmlLicense
KerMor license conditions Public Member Functions | |
VKOGA () | |
function copy = | clone () |
Clones the instance. More... | |
Public Member Functions inherited from approx.algorithms.AAdaptiveBase | |
AAdaptiveBase () | |
function copy = | clone (copy) |
Clones the instance. More... | |
Public Member Functions inherited from approx.algorithms.ABase | |
ABase () | |
function copy = | clone (copy) |
The interface method with returns a copy of the current class instance. More... | |
function
kernels.KernelExpansion kexp = | computeApproximation (data.ApproxTrainData atd, avd) |
function [
str , rangetab ] = | getApproximationSummary () |
Setup. More... | |
function | plotSummary (pm, context) |
function nc = | getTotalNumConfigurations () |
Public Member Functions inherited from KerMorObject | |
KerMorObject () | |
Constructs a new KerMor object. More... | |
function | display () |
disp(object2str(this)); More... | |
function bool = | eq (B) |
Checks equality of two KerMor objects. More... | |
function bool = | ne (B) |
Checks if two KerMorObjects are different. More... | |
function cn = | getClassName () |
Returns the simple class name of this object without packages. More... | |
Public Member Functions inherited from DPCMObject | |
DPCMObject () | |
Creates a new DPCM object. More... | |
DPCMObject () | |
Static Public Member Functions | |
static function res = | test_VKOGA1DnD () |
Tests the VKOGA algorithm by running the demos. More... | |
static function [ res , d ] = | test_VKOGA2D1D () |
Tests the VKOGA algorithm. More... | |
Public Attributes | |
logical | UsefPGreedy = false |
Flag on whether to use the f/P-Greedy variant instead of f-Greedy. More... | |
double | MaxAbsResidualErr = 1e-5 |
Stopping criteria for the VKOGA algorithm. The execution for on expansion configuration is stopped if the maximum absolute pointwise L2-error is below this value. More... | |
char | ValidationErrorMeasure = "abs" |
Determines which error measure is to use to select the "best" solution w.r.t. to the validation data set (the training data set is used if not given) More... | |
VKOGABound | |
AllExpansions | |
bestNewtonBasisValuesOnATD | |
basis_norms | |
debug props More... | |
Public Attributes inherited from approx.algorithms.AAdaptiveBase | |
integer | MaxExpansionSize = 300 |
The maximum size of the expansion to produce. More... | |
double | MaxRelErr = 1e-5 |
Stopping condition property. Maximum relative error that may occur. More... | |
char | InitialCenter = "maxfx" |
Determines how the initial center(s) are chosen. More... | |
colvec< double > | ExpansionSizes |
Used = "[]" | |
The indices of the effectively used centers during the. More... | |
Public Attributes inherited from approx.algorithms.ABase | |
kernels.config.ExpansionConfig | ExpConfig = "[]" |
The different kernel expansion configurations to try. More... | |
UsefScaling = false | |
Flag that determines whether the approximation center f values should be scaled to [-1,1] before the approximation is computed. More... | |
function_handle | ErrorFun = @Norm.L2 |
The error function to apply on each data vector. More... | |
double | LastCompTime = "[]" |
The computation time for the last run in seconds. More... | |
matrix< double > | MaxErrors = "[]" |
For each configuration, contains a row with the maximum errors on the training data. The number of columns depends on the type of algorithm implemented by the subclasses. More... | |
matrix< double > | MaxRelErrors = "[]" |
For each configuration, contains a row with the maximum relative errors on the training data. The number of columns depends on the type of algorithm implemented by the subclasses. More... | |
matrix< double > | ValidationErrors = "[]" |
For each configuration, contains a row with the maximum errors on the validation data. The number of columns depends on the type of algorithm implemented by the subclasses. More... | |
matrix< double > | ValidationRelErrors = "[]" |
For each configuration, contains a row with the maximum relative errors on the validation data. The number of columns depends on the type of algorithm implemented by the subclasses. More... | |
matrix< integer > | StopFlags = "[]" |
For each effective configuration, the stop flags are stored here. More... | |
integer | BestExpConfig |
Index of the best expansion config determined by the algorithm. More... | |
Public Attributes inherited from DPCMObject | |
WorkspaceVariableName = "" | |
The workspace variable name of this class. Optional. More... | |
ID = "[]" | |
An ID that allows to uniquely identify this DPCMObject (at least within the current MatLab session/context). More... | |
PropertiesChanged = "[]" | |
The Dictionary containing all the property settings as key/value pairs. More... | |
Public Attributes inherited from handle | |
addlistener | |
Creates a listener for the specified event and assigns a callback function to execute when the event occurs. More... | |
notify | |
Broadcast a notice that a specific event is occurring on a specified handle object or array of handle objects. More... | |
delete | |
Handle object destructor method that is called when the object's lifecycle ends. More... | |
disp | |
Handle object disp method which is called by the display method. See the MATLAB disp function. More... | |
display | |
Handle object display method called when MATLAB software interprets an expression returning a handle object that is not terminated by a semicolon. See the MATLAB display function. More... | |
findobj | |
Finds objects matching the specified conditions from the input array of handle objects. More... | |
findprop | |
Returns a meta.property objects associated with the specified property name. More... | |
fields | |
Returns a cell array of string containing the names of public properties. More... | |
fieldnames | |
Returns a cell array of string containing the names of public properties. See the MATLAB fieldnames function. More... | |
isvalid | |
Returns a logical array in which elements are true if the corresponding elements in the input array are valid handles. This method is Sealed so you cannot override it in a handle subclass. More... | |
eq | |
Relational functions example. See details for more information. More... | |
transpose | |
Transposes the elements of the handle object array. More... | |
permute | |
Rearranges the dimensions of the handle object array. See the MATLAB permute function. More... | |
reshape | |
hanges the dimensions of the handle object array to the specified dimensions. See the MATLAB reshape function. More... | |
sort | |
ort the handle objects in any array in ascending or descending order. More... | |
Protected Member Functions | |
function
kernels.KernelExpansion kexp = | startAdaptiveExtension (data.ApproxTrainData atd, avd) |
Starts the adaptive extension of the VKOGA algorithm. More... | |
Protected Member Functions inherited from approx.algorithms.AAdaptiveBase | |
function
kernels.KernelExpansion kexp = | templateComputeApproximation (data.ApproxTrainData atd,data.ApproxTrainData avd) |
Performs adaptive approximation generation. More... | |
function | initExpansion (kernels.KernelExpansion kexp,data.ApproxTrainData atd) |
Initializes the Find and set first expansion center. More... | |
function | extendExpansion (kernels.KernelExpansion kexp,data.ApproxTrainData atd,integer idx) |
Extends the kernel expansion kexp by the training data sample in atd given by index idx . More... | |
function bool = | checkStop (cnt, rel) |
Checks the stopping conditions for the adaptive approximation algorithm. More... | |
virtual function | startAdaptiveExtension (kernels.KernelExpansion kexp,data.ApproxTrainData atd) |
Runs the actual detailed algorithm. More... | |
Protected Member Functions inherited from approx.algorithms.ABase | |
function [
double val , integer idx , rowvec errs ] = | getError (kernels.KernelExpansion kexp,data.ApproxTrainData atd) |
Computes the error according to the chosen error function (see ErrorFun property) with respect to the current kernel expansion and the \(f(x_i)\) values in the training data. More... | |
virtual function | templateComputeApproximation (kernels.KernelExpansion kexp,data.ApproxTrainData atd, avd) |
Performs the actual approximation after scaling. More... | |
Protected Member Functions inherited from KerMorObject | |
function | checkType (obj, type) |
Object typechecker. More... | |
Protected Member Functions inherited from DPCMObject | |
function | registerProps (varargin) |
Call this method at any class that defines DPCM observed properties. More... | |
function | registerProps (varargin) |
Static Protected Member Functions | |
static function this = | loadobj () |
Static Protected Member Functions inherited from approx.algorithms.AAdaptiveBase | |
static function this = | loadobj (this, initfrom) |
Static Protected Member Functions inherited from approx.algorithms.ABase | |
static function this = | loadobj (this, initfrom) |
Static Protected Member Functions inherited from DPCMObject | |
static function obj = | loadobj (obj, from) |
Re-register any registered change listeners! More... | |
static function obj = | loadobj (obj, from) |
Additional Inherited Members | |
Protected Attributes inherited from approx.algorithms.AAdaptiveBase | |
initialidx | |
Protected Attributes inherited from approx.algorithms.ABase | |
ScalingG | |
If UsefScaling is set to true, this matrix contains the scaling matrix which has to be used in sub-algorithms in order to compute the correct approximation error on training data. More... | |
function copy = approx.algorithms.VKOGA.clone | ( | ) |
Clones the instance.
Definition at line 113 of file VKOGA.m.
References AllExpansions, basis_norms, MaxAbsResidualErr, approx.algorithms.ABase.MaxRelErrors, UsefPGreedy, ValidationErrorMeasure, and VKOGABound.
|
staticprotected |
Definition at line 365 of file VKOGA.m.
References basis_norms, bestNewtonBasisValuesOnATD, MaxAbsResidualErr, approx.algorithms.ABase.MaxErrors, approx.algorithms.ABase.StopFlags, and UsefPGreedy.
|
protected |
Starts the adaptive extension of the VKOGA algorithm.
atd | The approximation training data. |
Sealed
set to true. It cannot be overwritten. Definition at line 135 of file VKOGA.m.
References StopFlag.ABS_ERROR, AllExpansions, KerMor.App(), basis_norms, approx.algorithms.ABase.BestExpConfig, bestNewtonBasisValuesOnATD, approx.algorithms.ABase.ErrorFun, approx.algorithms.AAdaptiveBase.ExpansionSizes, approx.algorithms.ABase.ExpConfig, data.ApproxTrainData.fxi, kernels.config.ExpansionConfig.getNumConfigurations(), approx.algorithms.AAdaptiveBase.initialidx, k, StopFlag.MAX_SIZE, MaxAbsResidualErr, approx.algorithms.ABase.MaxErrors, approx.algorithms.AAdaptiveBase.MaxExpansionSize, approx.algorithms.AAdaptiveBase.MaxRelErr, approx.algorithms.ABase.MaxRelErrors, data.ApproxTrainData.mui, StopFlag.NEGATIVE_POWFUN, StopFlag.REL_ERROR, approx.algorithms.ABase.StopFlags, t, data.ApproxTrainData.ti, data.ABlockedData.toMemoryMatrix(), approx.algorithms.AAdaptiveBase.Used, UsefPGreedy, ValidationErrorMeasure, approx.algorithms.ABase.ValidationErrors, approx.algorithms.ABase.ValidationRelErrors, VKOGABound, and data.ApproxTrainData.xi.
|
static |
|
static |
Tests the VKOGA algorithm.
Definition at line 415 of file VKOGA.m.
References Utils.createCombinations(), handle.reshape, X, and Y.
approx.algorithms.VKOGA.AllExpansions |
Definition at line 87 of file VKOGA.m.
Referenced by clone(), and startAdaptiveExtension().
approx.algorithms.VKOGA.basis_norms |
debug props
SetAccess = Private, GetAccess = Public
Definition at line 95 of file VKOGA.m.
Referenced by clone(), loadobj(), and startAdaptiveExtension().
approx.algorithms.VKOGA.bestNewtonBasisValuesOnATD |
Definition at line 92 of file VKOGA.m.
Referenced by loadobj(), and startAdaptiveExtension().
approx.algorithms.VKOGA.MaxAbsResidualErr = 1e-5 |
approx.algorithms.VKOGA.UsefPGreedy = false |
Flag on whether to use the f/P-Greedy variant instead of f-Greedy.
Default: false
Definition at line 48 of file VKOGA.m.
Referenced by clone(), loadobj(), and startAdaptiveExtension().
approx.algorithms.VKOGA.ValidationErrorMeasure = "abs" |
Determines which error measure is to use to select the "best" solution w.r.t. to the validation data set (the training data set is used if not given)
Allowed values are abs
and rel
Default: abs
Definition at line 70 of file VKOGA.m.
Referenced by clone(), and startAdaptiveExtension().
approx.algorithms.VKOGA.VKOGABound |
Definition at line 84 of file VKOGA.m.
Referenced by clone(), and startAdaptiveExtension().