Copyright  (c) Amy de Buitléir 20122015 

License  BSDstyle 
Maintainer  amy@nualeargais.ie 
Stability  experimental 
Portability  portable 
Safe Haskell  Safe 
Language  Haskell98 
A module containing private SSOM
internals. Most developers should
use SSOM
instead. This module is subject to change without notice.
 exponential :: Floating a => a > a > a > a
 data SSOM t x k p = SSOM {
 sMap :: Map k p
 learningRate :: t > x
 difference :: p > p > x
 makeSimilar :: p > x > p > p
 counter :: t
 toMap :: SSOM t x k p > Map k p
 trainNode :: (Num t, Ord k) => SSOM t x k p > k > p > SSOM t x k p
 incrementCounter :: Num t => SSOM t x k p > SSOM t x k p
 justTrain :: (Num t, Ord k, Ord x) => SSOM t x k p > p > SSOM t x k p
Documentation
exponential :: Floating a => a > a > a > a Source
A typical learning function for classifiers.
returns the learning rate at time exponential
r0 d tt
.
When t = 0
, the learning rate is r0
.
Over time the learning rate decays exponentially; the decay rate is
d
.
Normally the parameters are chosen such that:
 0 < r0 < 1
 0 < d
where << means "is much smaller than" (not the Haskell <<
operator!)
A Simplified SelfOrganising Map (SSOM).
x
is the type of the learning rate and the difference metric.
t
is the type of the counter.
k
is the type of the model indices.
p
is the type of the input patterns and models.
SSOM  

toMap :: SSOM t x k p > Map k p Source
Extracts the current models from the SSOM.
A synonym for
.sMap
trainNode :: (Num t, Ord k) => SSOM t x k p > k > p > SSOM t x k p Source
Trains the specified node to better match a target.
Most users should use
, which automatically determines
the BMU and trains it.train
incrementCounter :: Num t => SSOM t x k p > SSOM t x k p Source