ART Models and Options
Choose a model using the model guide. Each model is followed by its options; all constructor docstrings are kept together.
Index
FuzzyART,opts_FuzzyARTHypersphereART,opts_HypersphereARTDVFA,opts_DVFADDVFA,opts_DDVFAGammaNormalizedFuzzyART,opts_GammaNormalizedFuzzyART
FuzzyART
FuzzyART
AdaptiveResonance.FuzzyART — Type
mutable struct FuzzyART <: AdaptiveResonance.AbstractFuzzyARTSummary
Gamma-Normalized Fuzzy ART learner struct
For module options, see AdaptiveResonance.opts_FuzzyART.
References
- G. Carpenter, S. Grossberg, and D. Rosen, 'Fuzzy ART: Fast stable learning and categorization of analog patterns by an adaptive resonance system,' Neural Networks, vol. 4, no. 6, pp. 759-771, 1991.
Fields
opts::opts_FuzzyART: FuzzyART options struct.
config::DataConfig: Data configuration struct.
threshold::Float64: Operating module threshold value, a function of the vigilance parameter.
labels::Vector{Int64}: Incremental list of labels corresponding to each F2 node, self-prescribed or supervised.
T::Vector{Float64}: Activation values for every weight for a given sample.
M::Vector{Float64}: Match values for every weight for a given sample.
W::ElasticArrays.ElasticMatrix{Float64, V} where V<:DenseVector{Float64}: Category weight matrix.
n_instance::Vector{Int64}: Number of weights associated with each category.
n_categories::Int64: Number of category weights (F2 nodes).
epoch::Int64: Current training epoch.
stats::Dict{String, Any}: Runtime statistics for the module, implemented as a dictionary containing entries at the end of each training iteration. These entries include the best-matching unit index and the activation and match values of the winning node.
opts_FuzzyART
AdaptiveResonance.opts_FuzzyART — Type
mutable struct opts_FuzzyART <: ARTOptsSummary
Gamma-Normalized Fuzzy ART options struct.
These options are a Parameters.jl struct, taking custom options keyword arguments. Each field has a default value listed below.
Fields
match_tracking::Bool: Flag to enable match tracking. Default: falseepsilon::Float64: Positive match-tracking increment: episilon ∈ (0, 1) Default: 0.001rho::Float64: Vigilance parameter: rho ∈ [0, 1]. Default: 0.6alpha::Float64: Choice parameter: alpha > 0. Default: 0.001beta::Float64: Learning parameter: beta ∈ (0, 1]. Default: 1.0gamma::Float64: Pseudo kernel width: gamma >= 1. Default: 3.0gamma_ref::Float64: Reference gamma for normalization: 0 <= gamma_ref < gamma. Default: 1.0max_epoch::Int64: Maximum number of epochs during training: max_epochs ∈ (1, Inf). Default: 1display::Bool: Display flag for progress bars. Default: falsegamma_normalization::Bool: Flag to normalize the threshold by the feature dimension.NOTE: this flag overwrites the
activationandmatchsettings here to their gamma-normalized equivalents along with adjusting the thresold. Default: falseuncommitted::Bool: Flag to use an uncommitted node when learning.If true, new weights are created with ones(dim) and learn on the complement-coded sample. If false, fast-committing is used where the new weight is simply the complement-coded sample. Default: false
activation::Symbol: Selected activation function. Default: :basic_activationmatch::Symbol: Selected match function. Default: :basic_matchupdate::Symbol: Selected weight update function. Default: :basic_updatesort::Bool: Flag to sort the F2 nodes by activation before the match phaseWhen true, the F2 nodes are sorted by activation before match. When false, an iterative argmax and inhibition procedure is used to find the best-matching unit. Default: false
HypersphereART
HypersphereART
AdaptiveResonance.HypersphereART — Type
mutable struct HypersphereART <: AdaptiveResonance.SingleARTSummary
HypersphereART(; kwargs...)
HypersphereART(opts::opts_HypersphereART)Hypersphere ART learner supporting batch and incremental train! and classify, including optional supervisory labels. Options are described in opts_HypersphereART.
Each column of W stores a center followed by its radius. Inputs are normalized using DataConfig without complement coding. With preprocessed=true, inputs are already normalized feature vectors, with no appended complements. For incremental raw input, first call data_setup! or assign a DataConfig.
References
G. C. Anagnostopoulos and M. Georgiopoulos (2000), "Hypersphere ART and ARTMAP for unsupervised and supervised, incremental learning," IJCNN, vol. 6, pp. 59–64. https://www.eecs.ucf.edu/georgiopoulos/sites/default/files/235.pdf
Fields
opts::opts_HypersphereART: Learner options.config::DataConfig: Feature normalization configuration.threshold::Float64: Operating vigilance threshold.r_bar::Float64: Effective radial extent, resolved when training starts.labels::Vector{Int64}: Category labels.T::Vector{Float64}: Category activation values.M::Vector{Float64}: Category match values.W::ElasticArrays.ElasticMatrix{Float64, V} where V<:DenseVector{Float64}: Category centers and radii, stored as columns [center; radius].n_instance::Vector{Int64}: Number of samples assigned to each category.n_categories::Int64: Number of committed categories.epoch::Int64: Current training epoch.stats::Dict{String, Any}: Statistics of the latest category search.
opts_HypersphereART
AdaptiveResonance.opts_HypersphereART — Type
mutable struct opts_HypersphereART <: ARTOptsSummary
Hypersphere ART options.
rho controls vigilance, alpha category choice, and beta learning speed. r_bar is the radial extent in normalized feature units; nothing selects sqrt(dim) / 2, the radius of the normalized unit cube, when training starts. For custom feature scales, choose an extent at least half the largest pairwise sample distance.
These options are a Parameters.jl struct, taking custom options keyword arguments. Each field has a default value listed below.
Fields
match_tracking::Bool: Flag to enable match tracking. Default: falseepsilon::Float64: Positive match-tracking increment: episilon ∈ (0, 1) Default: 0.001rho::Float64: Vigilance parameter in [0, 1]. Default: 0.6alpha::Float64: Finite, positive choice parameter. Default: 0.001beta::Float64: Learning rate in (0, 1]; 1 selects fast learning. Default: 1.0r_bar::Union{Nothing, Float64}: Radial extent, ornothingfor an automatic dimension-based value. Default: nothingmax_epoch::Int64: Maximum number of training epochs. Default: 1display::Bool: Display progress bars. Default: falsesort::Bool: Sort categories by activation before the vigilance search. Default: falseactivation::Symbol: Activation function for center-radius weights. Default: :hypersphere_activationmatch::Symbol: Match function for center-radius weights. Default: :hypersphere_matchupdate::Symbol: Update function for center-radius weights. Default: :hypersphere_update
DVFA
DVFA
AdaptiveResonance.DVFA — Type
mutable struct DVFA <: AdaptiveResonance.AbstractFuzzyARTSummary
Dual Vigilance Fuzzy ARTMAP module struct.
For module options, see AdaptiveResonance.opts_DVFA.
References:
- L. E. Brito da Silva, I. Elnabarawy and D. C. Wunsch II, 'Dual Vigilance Fuzzy ART,' Neural Networks Letters. To appear.
- G. Carpenter, S. Grossberg, and D. Rosen, 'Fuzzy ART: Fast stable learning and categorization of analog patterns by an adaptive resonance system,' Neural Networks, vol. 4, no. 6, pp. 759-771, 1991.
Fields
opts::opts_DVFA: DVFA options struct.
config::DataConfig: Data configuration struct.
threshold_ub::Float64: Operating upper bound module threshold value, a function of the upper bound vigilance parameter.
threshold_lb::Float64: Operating lower bound module threshold value, a function of the lower bound vigilance parameter.
labels::Vector{Int64}: Incremental list of labels corresponding to each F2 node, self-prescribed or supervised.
W::ElasticArrays.ElasticMatrix{Float64, V} where V<:DenseVector{Float64}: Category weight matrix.
T::Vector{Float64}: Activation values for every weight for a given sample.
M::Vector{Float64}: Match values for every weight for a given sample.
n_categories::Int64: Number of category weights (F2 nodes).
n_clusters::Int64: Number of labeled clusters, may be lower thann_categories
epoch::Int64: Current training epoch.
stats::Dict{String, Any}: Runtime statistics for the module, implemented as a dictionary containing entries at the end of each training iteration. These entries include the best-matching unit index and the activation and match values of the winning node.
opts_DVFA
AdaptiveResonance.opts_DVFA — Type
mutable struct opts_DVFA <: ARTOptsSummary
Dual Vigilance Fuzzy ART options struct.
These options are a Parameters.jl struct, taking custom options keyword arguments. Each field has a default value listed below.
Fields
match_tracking::Bool: Flag to enable match tracking. Default: falseepsilon::Float64: Positive match-tracking increment: episilon ∈ (0, 1) Default: 0.001rho_lb::Float64: Lower-bound vigilance parameter: rho_lb ∈ [0, 1]. Default: 0.55rho_ub::Float64: Upper bound vigilance parameter: rho_ub ∈ [0, 1]. Default: 0.75alpha::Float64: Choice parameter: alpha > 0. Default: 0.001beta::Float64: Learning parameter: beta ∈ (0, 1]. Default: 1.0max_epoch::Int64: Maximum number of epochs during training. Default: 1display::Bool: Display flag for progress bars. Default: falseuncommitted::Bool: Flag to use an uncommitted node when learning.If true, new weights are created with ones(dim) and learn on the complement-coded sample. If false, fast-committing is used where the new weight is simply the complement-coded sample. Default: false
activation::Symbol: Selected activation function. Default: :basic_activationmatch::Symbol: Selected match function. Default: :unnormalized_matchupdate::Symbol: Selected weight update function. Default: :basic_updatesort::Bool: Flag to sort the F2 nodes by activation before the match phaseWhen true, the F2 nodes are sorted by activation before match. When false, an iterative argmax and inhibition procedure is used to find the best-matching unit. Default: false
DDVFA
DDVFA
AdaptiveResonance.DDVFA — Type
mutable struct DDVFA <: ARTSummary
Distributed Dual Vigilance Fuzzy ARTMAP module struct.
For module options, see AdaptiveResonance.opts_DDVFA.
References
- L. E. Brito da Silva, I. Elnabarawy, and D. C. Wunsch, 'Distributed dual vigilance fuzzy adaptive resonance theory learns online, retrieves arbitrarily-shaped clusters, and mitigates order dependence,' Neural Networks, vol. 121, pp. 208-228, 2020, doi: 10.1016/j.neunet.2019.08.033.
- G. Carpenter, S. Grossberg, and D. Rosen, 'Fuzzy ART: Fast stable learning and categorization of analog patterns by an adaptive resonance system,' Neural Networks, vol. 4, no. 6, pp. 759-771, 1991.
Fields
opts::opts_DDVFA: DDVFA options struct.
subopts::opts_FuzzyART: FuzzyART options struct used for all F2 nodes.
config::DataConfig: Data configuration struct.
threshold::Float64: Operating module threshold value, a function of the vigilance parameter.
F2::Vector{FuzzyART}: List of F2 nodes (themselves FuzzyART modules).
labels::Vector{Int64}: Incremental list of labels corresponding to each F2 node, self-prescribed or supervised.
n_categories::Int64: Number of total categories.
epoch::Int64: Current training epoch.
T::Vector{Float64}: DDVFA activation values.
M::Vector{Float64}: DDVFA match values.
stats::Dict{String, Any}: Runtime statistics for the module, implemented as a dictionary containing entries at the end of each training iteration. These entries include the best-matching unit index and the activation and match values of the winning node.
opts_DDVFA
AdaptiveResonance.opts_DDVFA — Type
mutable struct opts_DDVFA <: ARTOptsSummary
Distributed Dual Vigilance Fuzzy ART options struct.
These options are a Parameters.jl struct, taking custom options keyword arguments. Each field has a default value listed below.
Fields
match_tracking::Bool: Flag to enable match tracking. Default: falseepsilon::Float64: Positive match-tracking increment: episilon ∈ (0, 1) Default: 0.001rho_lb::Float64: Lower-bound vigilance parameter: rho_lb ∈ [0, 1]. Default: 0.7rho_ub::Float64: Upper bound vigilance parameter: rho_ub ∈ [0, 1]. Default: 0.85alpha::Float64: Choice parameter: alpha > 0. Default: 0.001beta::Float64: Learning parameter: beta ∈ (0, 1]. Default: 1.0gamma::Float64: Pseudo kernel width: gamma >= 1. Default: 3.0gamma_ref::Float64: Reference gamma for normalization: 0 <= gamma_ref < gamma. Default: 1.0similarity::Symbol: Similarity method (activation and match): similarity ∈ [:single, :average, :complete, :median, :weighted, :centroid]. Default: :singlemax_epoch::Int64: Maximum number of epochs during training: max_epochs ∈ (1, Inf). Default: 1display::Bool: Display flag for progress bars. Default: falsegamma_normalization::Bool: Flag to normalize the threshold by the feature dimension. Default: trueuncommitted::Bool: Flag to use an uncommitted node when learning.If true, new weights are created with ones(dim) and learn on the complement-coded sample. If false, fast-committing is used where the new weight is simply the complement-coded sample. Default: false
activation::Symbol: Selected activation function. Default: :gamma_activationmatch::Symbol: Selected match function. Default: :gamma_matchupdate::Symbol: Selected weight update function. Default: :basic_updatesort::Bool: Flag to sort the F2 nodes by activation before the match phaseWhen true, the F2 nodes are sorted by activation before match. When false, an iterative argmax and inhibition procedure is used to find the best-matching unit. Default: false
GammaNormalizedFuzzyART
GammaNormalizedFuzzyART
AdaptiveResonance.GammaNormalizedFuzzyART — Function
GammaNormalizedFuzzyART(; kwargs...) -> FuzzyART
Summary
Constructs a Gamma-Normalized FuzzyART module as a variant of FuzzyART by using the gamma_normalization option.
GammaNormalizedFuzzyART is a variant of FuzzyART, using the AdaptiveResonance.opts_FuzzyART options. This constructor passes gamma_normalization=true, which internally uses match=:gamma_match and activation=:gamma_activation in addition to the keyword argument options you provide.
Arguments
kwargs: keyword arguments of FuzzyART options (seeAdaptiveResonance.opts_FuzzyART)
Method List / Definition Locations
GammaNormalizedFuzzyART(; kwargs...)defined at /home/runner/work/AdaptiveResonance.jl/AdaptiveResonance.jl/src/ART/variants.jl:26.
GammaNormalizedFuzzyART(opts::opts_FuzzyART)
Summary
Implements a Gamma-Normalized FuzzyART module with specified options.
GammaNormalizedFuzzyART is a variant of FuzzyART, using the AdaptiveResonance.opts_FuzzyART options. This constructor passes gamma_normalization=true, which internally uses match=:gamma_match and activation=:gamma_activation in addition to the keyword argument options you provide.
Arguments
opts::opts_FuzzyART: the Fuzzy ART options (seeAdaptiveResonance.opts_FuzzyART).
Method List / Definition Locations
GammaNormalizedFuzzyART(opts)defined at /home/runner/work/AdaptiveResonance.jl/AdaptiveResonance.jl/src/ART/variants.jl:39.
opts_GammaNormalizedFuzzyART
AdaptiveResonance.opts_GammaNormalizedFuzzyART — Function
opts_GammaNormalizedFuzzyART(; kwargs...)
Summary
Implements a Gamma-Normalized FuzzyART module's options.
GammaNormalizedFuzzyART is a variant of FuzzyART, using the AdaptiveResonance.opts_FuzzyART options. This constructor passes gamma_normalization=true, which internally uses match=:gamma_match and activation=:gamma_activation in addition to the keyword argument options you provide.
These options are a Parameters.jl struct, taking custom options keyword arguments. Each field has a default value listed below.
Method List / Definition Locations
opts_GammaNormalizedFuzzyART(; kwargs...)defined at /home/runner/work/AdaptiveResonance.jl/AdaptiveResonance.jl/src/ART/variants.jl:50.