2021-05-13 13:22:32 +00:00
|
|
|
.. Available Models
|
|
|
|
|
2021-05-21 13:42:45 +00:00
|
|
|
Models
|
2021-05-13 13:22:32 +00:00
|
|
|
========================================
|
|
|
|
|
2021-05-26 19:29:37 +00:00
|
|
|
.. image:: _static/img/model_tree.png
|
|
|
|
:width: 600
|
|
|
|
|
2021-05-13 13:22:32 +00:00
|
|
|
Unsupervised Methods
|
|
|
|
-----------------------------------------
|
2021-06-08 13:01:08 +00:00
|
|
|
.. autoclass:: prototorch.models.knn.KNN
|
2021-05-13 13:22:32 +00:00
|
|
|
:members:
|
|
|
|
|
2021-05-21 13:42:45 +00:00
|
|
|
.. autoclass:: prototorch.models.unsupervised.NeuralGas
|
2021-05-13 13:22:32 +00:00
|
|
|
:members:
|
|
|
|
|
2021-06-01 15:19:43 +00:00
|
|
|
.. autoclass:: prototorch.models.unsupervised.GrowingNeuralGas
|
|
|
|
:members:
|
2021-05-13 13:22:32 +00:00
|
|
|
|
|
|
|
Classical Learning Vector Quantization
|
|
|
|
-----------------------------------------
|
2021-05-26 19:20:17 +00:00
|
|
|
Original LVQ models introduced by :cite:t:`kohonen1989`.
|
2021-05-21 13:42:45 +00:00
|
|
|
These heuristic algorithms do not use gradient descent.
|
2021-05-13 13:22:32 +00:00
|
|
|
|
2021-05-26 14:19:10 +00:00
|
|
|
.. autoclass:: prototorch.models.lvq.LVQ1
|
2021-05-13 13:22:32 +00:00
|
|
|
:members:
|
2021-05-26 14:19:10 +00:00
|
|
|
.. autoclass:: prototorch.models.lvq.LVQ21
|
2021-05-13 13:22:32 +00:00
|
|
|
:members:
|
|
|
|
|
2021-05-26 19:20:17 +00:00
|
|
|
It is also possible to use the GLVQ structure as shown by :cite:t:`sato1996` in chapter 4.
|
2021-05-21 13:42:45 +00:00
|
|
|
This allows the use of gradient descent methods.
|
|
|
|
|
|
|
|
.. autoclass:: prototorch.models.glvq.GLVQ1
|
|
|
|
:members:
|
|
|
|
.. autoclass:: prototorch.models.glvq.GLVQ21
|
|
|
|
:members:
|
|
|
|
|
2021-05-13 13:22:32 +00:00
|
|
|
Generalized Learning Vector Quantization
|
|
|
|
-----------------------------------------
|
|
|
|
|
2021-05-26 19:20:17 +00:00
|
|
|
:cite:t:`sato1996` presented a LVQ variant with a cost function called GLVQ.
|
|
|
|
This allows the use of gradient descent methods.
|
|
|
|
|
2021-05-13 13:22:32 +00:00
|
|
|
.. autoclass:: prototorch.models.glvq.GLVQ
|
|
|
|
:members:
|
|
|
|
|
2021-05-26 19:20:17 +00:00
|
|
|
The cost function of GLVQ can be extended by a learnable dissimilarity.
|
|
|
|
These learnable dissimilarities assign relevances to each data dimension during the learning phase.
|
|
|
|
For example GRLVQ :cite:p:`hammer2002` and GMLVQ :cite:p:`schneider2009` .
|
2021-05-13 13:22:32 +00:00
|
|
|
|
|
|
|
.. autoclass:: prototorch.models.glvq.GRLVQ
|
|
|
|
:members:
|
|
|
|
|
|
|
|
.. autoclass:: prototorch.models.glvq.GMLVQ
|
|
|
|
:members:
|
|
|
|
|
2021-05-26 19:20:17 +00:00
|
|
|
The dissimilarity from GMLVQ can be interpreted as a projection into another dataspace.
|
|
|
|
Applying this projection only to the data results in LVQMLN
|
|
|
|
|
2021-05-13 13:22:32 +00:00
|
|
|
.. autoclass:: prototorch.models.glvq.LVQMLN
|
|
|
|
:members:
|
|
|
|
|
2021-05-26 19:20:17 +00:00
|
|
|
The projection idea from GMLVQ can be extended to an arbitrary transformation with learnable parameters.
|
|
|
|
|
|
|
|
.. autoclass:: prototorch.models.glvq.SiameseGLVQ
|
|
|
|
:members:
|
|
|
|
|
|
|
|
Probabilistic Models
|
|
|
|
--------------------------------------------
|
|
|
|
|
|
|
|
Probabilistic variants assume, that the prototypes generate a probability distribution over the classes.
|
|
|
|
For a test sample they return a distribution instead of a class assignment.
|
|
|
|
|
2021-06-16 14:16:34 +00:00
|
|
|
The following two algorihms were presented by :cite:t:`seo2003` .
|
2021-05-26 19:20:17 +00:00
|
|
|
Every prototypes is a center of a gaussian distribution of its class, generating a mixture model.
|
|
|
|
|
2021-06-08 06:38:11 +00:00
|
|
|
.. autoclass:: prototorch.models.probabilistic.SLVQ
|
2021-05-26 19:20:17 +00:00
|
|
|
:members:
|
|
|
|
|
|
|
|
.. autoclass:: prototorch.models.probabilistic.RSLVQ
|
|
|
|
:members:
|
|
|
|
|
2021-06-08 13:01:08 +00:00
|
|
|
:cite:t:`villmann2018` proposed two changes to RSLVQ: First incooperate the winning rank into the prior probability calculation.
|
|
|
|
And second use divergence as loss function.
|
2021-05-26 19:20:17 +00:00
|
|
|
|
2021-06-08 13:01:08 +00:00
|
|
|
.. autoclass:: prototorch.models.probabilistic.PLVQ
|
|
|
|
:members:
|
2021-05-26 19:20:17 +00:00
|
|
|
|
2021-05-21 13:42:45 +00:00
|
|
|
Classification by Component
|
2021-05-26 19:20:17 +00:00
|
|
|
--------------------------------------------
|
|
|
|
|
|
|
|
The Classification by Component (CBC) has been introduced by :cite:t:`saralajew2019` .
|
|
|
|
In a CBC architecture there is no class assigned to the prototypes.
|
|
|
|
Instead the dissimilarities are used in a reasoning process, that favours or rejects a class by a learnable degree.
|
|
|
|
The output of a CBC network is a probability distribution over all classes.
|
|
|
|
|
2021-05-13 13:22:32 +00:00
|
|
|
.. autoclass:: prototorch.models.cbc.CBC
|
|
|
|
:members:
|
|
|
|
|
|
|
|
.. autoclass:: prototorch.models.cbc.ImageCBC
|
2021-05-21 13:42:45 +00:00
|
|
|
:members:
|
|
|
|
|
|
|
|
Visualization
|
|
|
|
========================================
|
|
|
|
|
2021-05-26 19:20:17 +00:00
|
|
|
Visualization is very specific to its application.
|
|
|
|
PrototorchModels delivers visualization for two dimensional data and image data.
|
|
|
|
|
|
|
|
The visulizations can be shown in a seperate window and inside a tensorboard.
|
|
|
|
|
2021-05-21 13:42:45 +00:00
|
|
|
.. automodule:: prototorch.models.vis
|
|
|
|
:members:
|
2021-05-26 19:20:17 +00:00
|
|
|
:undoc-members:
|
|
|
|
|
|
|
|
Bibliography
|
|
|
|
========================================
|
2021-06-16 14:16:34 +00:00
|
|
|
.. bibliography::
|