Skip to content

Commit

Permalink
class cross references
Browse files Browse the repository at this point in the history
  • Loading branch information
NiklasMelton committed Oct 17, 2024
1 parent 26acdc5 commit 3523314
Show file tree
Hide file tree
Showing 11 changed files with 53 additions and 45 deletions.
5 changes: 3 additions & 2 deletions artlib/elementary/ART2.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
"""

Expand Down
4 changes: 2 additions & 2 deletions artlib/elementary/BayesianART.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
"""

Expand Down
6 changes: 3 additions & 3 deletions artlib/elementary/GaussianART.py
Original file line number Diff line number Diff line change
Expand Up @@ -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`.
"""

Expand Down
15 changes: 8 additions & 7 deletions artlib/hierarchical/DeepARTMAP.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
9 changes: 5 additions & 4 deletions artlib/hierarchical/SMART.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
"""

Expand Down
6 changes: 3 additions & 3 deletions artlib/reinforcement/FALCON.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
"""

Expand Down
9 changes: 5 additions & 4 deletions artlib/supervised/ARTMAP.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
"""

Expand Down
13 changes: 7 additions & 6 deletions artlib/supervised/SimpleARTMAP.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
"""

Expand Down
14 changes: 8 additions & 6 deletions artlib/topological/DualVigilanceART.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
10 changes: 5 additions & 5 deletions artlib/topological/TopoART.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
"""

Expand Down
7 changes: 4 additions & 3 deletions artlib/topological/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down

0 comments on commit 3523314

Please sign in to comment.