From 3523314d47224b341c2747f57d1023fbfa863ce6 Mon Sep 17 00:00:00 2001 From: Niklas Melton Date: Thu, 17 Oct 2024 15:36:14 -0500 Subject: [PATCH] class cross references --- artlib/elementary/ART2.py | 5 +++-- artlib/elementary/BayesianART.py | 4 ++-- artlib/elementary/GaussianART.py | 6 +++--- artlib/hierarchical/DeepARTMAP.py | 15 ++++++++------- artlib/hierarchical/SMART.py | 9 +++++---- artlib/reinforcement/FALCON.py | 6 +++--- artlib/supervised/ARTMAP.py | 9 +++++---- artlib/supervised/SimpleARTMAP.py | 13 +++++++------ artlib/topological/DualVigilanceART.py | 14 ++++++++------ artlib/topological/TopoART.py | 10 +++++----- artlib/topological/__init__.py | 7 ++++--- 11 files changed, 53 insertions(+), 45 deletions(-) diff --git a/artlib/elementary/ART2.py b/artlib/elementary/ART2.py index 2b841ad..f23f5d5 100644 --- a/artlib/elementary/ART2.py +++ b/artlib/elementary/ART2.py @@ -45,8 +45,9 @@ class ART2A(BaseART): .. # Neural Networks, 4, 493 – 504. doi:10.1016/0893-6080(91) 90045-7. - ART2-A is similar to :class:`ART1` but designed for analog data. This method is - implemented for historical purposes and is not recommended for use. + ART2-A is similar to :class:`artlib.elementary.ART1.ART1` but designed for analog + data. This method is implemented for historical purposes and is not recommended + for use. """ diff --git a/artlib/elementary/BayesianART.py b/artlib/elementary/BayesianART.py index a47a19a..14ce695 100644 --- a/artlib/elementary/BayesianART.py +++ b/artlib/elementary/BayesianART.py @@ -24,8 +24,8 @@ class BayesianART(BaseART): .. # Networks, 18, 1628–1644. doi:10.1109/TNN.2007.900234. Bayesian ART clusters data in Bayesian Distributions (Hyper-ellipsoids) and is - similar to :class:`GaussianART` but differs in that it allows arbitrary rotation of - the hyper-ellipsoid. + similar to :class:`artlib.elementary.GaussianART.GaussianART` but differs in that it + allows arbitrary rotation of the hyper-ellipsoid. """ diff --git a/artlib/elementary/GaussianART.py b/artlib/elementary/GaussianART.py index 89cfb9b..e3b5960 100644 --- a/artlib/elementary/GaussianART.py +++ b/artlib/elementary/GaussianART.py @@ -23,9 +23,9 @@ class GaussianART(BaseART): .. # Neural Networks, 9, 881 – 897. doi:10.1016/0893-6080(95)00115-8. Guassian ART clusters data in Gaussian Distributions (Hyper-ellipsoids) and is - similar to :class:`BayesianART` but differs in that the hyper-ellipsoid always have - their principal axes square to the coordinate frame. It is also faster than - Bayesian ART. + similar to :class:`artlib.elementary.BayesianART.BayesianART` but differs in that + the hyper-ellipsoid always have their principal axes square to the coordinate + frame. It is also faster than :class:`artlib.elementary.BayesianART.BayesianART`. """ diff --git a/artlib/hierarchical/DeepARTMAP.py b/artlib/hierarchical/DeepARTMAP.py index 116365b..4d90983 100644 --- a/artlib/hierarchical/DeepARTMAP.py +++ b/artlib/hierarchical/DeepARTMAP.py @@ -16,13 +16,14 @@ class DeepARTMAP(BaseEstimator, ClassifierMixin, ClusterMixin): """DeepARTMAP for Hierachical Supervised and Unsupervised Learning. - This module implements DeepARTMAP, a generalization of the :class:`ARTMAP` class - :cite:`carpenter1991artmap` that allows an arbitrary number of data channels to - be divisively clustered. DeepARTMAP support both supervised and unsupervised - modes. If only two ART modules are provided, DeepARTMAP reverts to standard - :class:`ARTMAP` where the first module is the A-module and the second module is the - B-module. DeepARTMAP does not currently have a direct citation and is an original - creation of this library. + This module implements DeepARTMAP, a generalization of the + :class:`artlib.supervised.ARTMAP.ARTMAP` class :cite:`carpenter1991artmap` that + allows an arbitrary number of data channels to be divisively clustered. DeepARTMAP + support both supervised and unsupervised modes. If only two ART modules are + provided, DeepARTMAP reverts to standard :class:`artlib.supervised.ARTMAP.ARTMAP` + where the first module is the A-module and the second module is the B-module. + DeepARTMAP does not currently have a direct citation and is an original creation + of this library. .. # Carpenter, G. A., Grossberg, S., & Reynolds, J. H. (1991a). .. # ARTMAP: Supervised real-time learning and classification of nonstationary data diff --git a/artlib/hierarchical/SMART.py b/artlib/hierarchical/SMART.py index 81188b9..28db2e1 100644 --- a/artlib/hierarchical/SMART.py +++ b/artlib/hierarchical/SMART.py @@ -24,10 +24,11 @@ class SMART(DeepARTMAP): .. # (pp. 940–944). volume 2. .. # doi:10.1109/ICNN.1994.374307. - SMART accepts an uninstantiated ART class and hierarchically clusters data in a - divisive fashion by using a set of vigilance values that monotonically increase - in their restrictiveness. SMART is a special case of :class:`DeepARTMAP`, which - forms the backbone of this class, where all channels receive the same data. + SMART accepts an uninstantiated :class:`artlib.common.BaseART.BaseART` class and + hierarchically clusters data in a divisive fashion by using a set of vigilance + values that monotonically increase in their restrictiveness. SMART is a special + case of :class:`artlib.hierarchical.DeepARTMAP.DeepARTMAP`, which forms the backbone + of this class, where all channels receive the same data. """ diff --git a/artlib/reinforcement/FALCON.py b/artlib/reinforcement/FALCON.py index e33a891..b8fbd48 100644 --- a/artlib/reinforcement/FALCON.py +++ b/artlib/reinforcement/FALCON.py @@ -27,9 +27,9 @@ class FALCON: .. # In Proc. IEEE International Joint Conference on Neural Networks (IJCNN) .. # (pp. 3297–3302). volume 4. doi:10.1109/ IJCNN.2004.1381208. - FALCON is based on a :class:`FusionART` backbone but only accepts 3 channels: - State, Action, and Reward. Specific functions are implemented for getting optimal - reward and action predictions. + FALCON is based on a :class:`artlib.fusion.FusionART.FusionART` backbone but only + accepts 3 channels: State, Action, and Reward. Specific functions are implemented + for getting optimal reward and action predictions. """ diff --git a/artlib/supervised/ARTMAP.py b/artlib/supervised/ARTMAP.py index d89b6fe..999a9b1 100644 --- a/artlib/supervised/ARTMAP.py +++ b/artlib/supervised/ARTMAP.py @@ -23,10 +23,11 @@ class ARTMAP(SimpleARTMAP): ARTMAP accepts two :class:`BaseART` modules A and B which cluster the dependent channel (samples) and the independent channel (labels) respectively while linking them with a many-to-one mapping. If your labels are integers, - use :class:`SimpleARTMAP` for a faster and more direct implementation. ARTMAP - also provides the ability to fit a regression model to data and specific - functions have been implemented to allow this. However, :class:`FusionART` provides - substantially better fit for regression problems which are not monotonic. + use :class:`artlib.supervised.SimpleARTMAP.SimpleARTMAP` for a faster and more + direct implementation. ARTMAP also provides the ability to fit a regression model to + data and specific functions have been implemented to allow this. However, + :class:`artlib.fusion.FusionART.FusionART` provides substantially better fit for + regression problems which are not monotonic. """ diff --git a/artlib/supervised/SimpleARTMAP.py b/artlib/supervised/SimpleARTMAP.py index 4714035..66a1017 100644 --- a/artlib/supervised/SimpleARTMAP.py +++ b/artlib/supervised/SimpleARTMAP.py @@ -22,12 +22,13 @@ class SimpleARTMAP(BaseARTMAP): .. # Adaptive Resonance Theory Microchips: Circuit Design Techniques. .. # Norwell, MA, USA: Kluwer Academic Publishers. - SimpleARTMAP is a special case of :class:`ARTMAP` specifically for - classification. It allows the clustering of data samples while enforcing a - many-to-one mapping from sample clusters to labels. It accepts an instantiated - :class:`BaseART` module and dynamically adapts the vigilance function to prevent - resonance when the many-to-one mapping is violated. This enables SimpleARTMAP to - identify discrete clusters belonging to each category label. + SimpleARTMAP is a special case of :class:`artlib.supervised.ARTMAP.ARTMAP` + specifically for classification. It allows the clustering of data samples while + enforcing a many-to-one mapping from sample clusters to labels. It accepts an + instantiated :class:`artlib.common.BaseART.BaseART` module and dynamically adapts + the vigilance function to preventresonance when the many-to-one mapping is + violated. This enables SimpleARTMAP to identify discrete clusters belonging to + each category label. """ diff --git a/artlib/topological/DualVigilanceART.py b/artlib/topological/DualVigilanceART.py index a349a99..df9fb6f 100644 --- a/artlib/topological/DualVigilanceART.py +++ b/artlib/topological/DualVigilanceART.py @@ -20,12 +20,14 @@ class DualVigilanceART(BaseART): .. # Dual vigilance fuzzy adaptive resonance theory. .. # Neural Networks, 109, 1–5. doi:10.1016/j.neunet.2018.09.015. - Dual Vigilance ART allows a :class:`BaseART` module to cluster with both an upper - and lower vigilance value. The upper-vigilance value allows the base ART module - to cluster normally, however, data is simultaneously clustered using the lower - vigilance level to combine multiple base ART categories into a single abstracted - category. This permits clusters to be combined to form arbitrary shapes. For - example if the base ART module is :class:`FuzzyART`, a Dual Vigilance Fuzzy ART + Dual Vigilance ART allows a :class:`artlib.common.BaseART.BaseART` module to + cluster with both an upper and lower vigilance value. The upper-vigilance value + allows the :class:`artlib.common.BaseART.BaseART` module to cluster normally, + however, data is simultaneously clustered using the lower vigilance level to + combine multiple base ART categories into a single abstracted category. This + permits clusters to be combined to form arbitrary shapes. For example if the + :class:`artlib.common.BaseART.BaseART` module is + :class:`artlib.elementary.FuzzyART.FuzzyART`, a Dual Vigilance Fuzzy ART clustering result would look like a series of hyper-boxes forming an arbitrary geometry. diff --git a/artlib/topological/TopoART.py b/artlib/topological/TopoART.py index 1e2932b..0be2368 100644 --- a/artlib/topological/TopoART.py +++ b/artlib/topological/TopoART.py @@ -29,11 +29,11 @@ class TopoART(BaseART): .. # Berlin, Heidelberg: Springer Berlin Heidelberg. .. # doi:10.1007/978-3-642-15825-4_21. - Topo ART clusters accepts an instatiated :class:`BaseART` module and generates a - topological clustering by recording the first and second resonant cluster - relationships in an adjacency matrix. Further, it updates the second resonant - cluster with a lower learning rate than the first, providing for a distributed - learning model. + Topo ART clusters accepts an instantiated :class:`artlib.common.BaseART.BaseART` + module and generates a topological clustering by recording the first and second + resonant cluster relationships in an adjacency matrix. Further, it updates the + second resonant cluster with a lower learning rate than the first, providing for + a distributed learning model. """ diff --git a/artlib/topological/__init__.py b/artlib/topological/__init__.py index 4e2d9d0..0866df7 100644 --- a/artlib/topological/__init__.py +++ b/artlib/topological/__init__.py @@ -5,9 +5,10 @@ geometry of the data. Topological clustering techniques, such as hierarchical clustering and Mapper, are often used in fields like data analysis and computational topology. -The two modules herein provide contrasting advantages. :class:`TopoART` allows for the -creation of an adjacency matrix which can be useful when clusters overlap or are in -close proximity. :class:`DualVigilanceART` allows for the abstract merging of many +The two modules herein provide contrasting advantages. +:class:`artlib.topological.TopoART` allows for the creation of an adjacency matrix +which can be useful when clusters overlap or are in close proximity. +:class:`artlib.topological.DualVigilanceART` allows for the abstract merging of many smaller clusters and is well suited to problems where the clusters take-on complex geometries where other clustering approaches would fail.