som 7.3.1 → 7.4.0
raw patch · 4 files changed
+11/−11 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Data.Datamining.Clustering.SSOM: Gaussian :: a -> a -> a -> Gaussian a
- Data.Datamining.Clustering.SSOM: data Gaussian a
- Data.Datamining.Clustering.SSOMInternal: Gaussian :: a -> a -> a -> Gaussian a
- Data.Datamining.Clustering.SSOMInternal: data Gaussian a
- Data.Datamining.Clustering.SSOMInternal: instance (Floating a, Fractional a, Num a) => LearningFunction (Gaussian a)
- Data.Datamining.Clustering.SSOMInternal: instance Constructor C1_0Gaussian
- Data.Datamining.Clustering.SSOMInternal: instance Datatype D1Gaussian
- Data.Datamining.Clustering.SSOMInternal: instance Eq a => Eq (Gaussian a)
- Data.Datamining.Clustering.SSOMInternal: instance Generic (Gaussian a)
- Data.Datamining.Clustering.SSOMInternal: instance Show a => Show (Gaussian a)
+ Data.Datamining.Clustering.SSOM: Exponential :: a -> a -> a -> Exponential a
+ Data.Datamining.Clustering.SSOM: data Exponential a
+ Data.Datamining.Clustering.SSOMInternal: Exponential :: a -> a -> a -> Exponential a
+ Data.Datamining.Clustering.SSOMInternal: data Exponential a
+ Data.Datamining.Clustering.SSOMInternal: instance (Floating a, Fractional a, Num a) => LearningFunction (Exponential a)
+ Data.Datamining.Clustering.SSOMInternal: instance Constructor C1_0Exponential
+ Data.Datamining.Clustering.SSOMInternal: instance Datatype D1Exponential
+ Data.Datamining.Clustering.SSOMInternal: instance Eq a => Eq (Exponential a)
+ Data.Datamining.Clustering.SSOMInternal: instance Generic (Exponential a)
+ Data.Datamining.Clustering.SSOMInternal: instance Show a => Show (Exponential a)
Files
- som.cabal +2/−2
- src/Data/Datamining/Clustering/SOMInternal.hs +1/−1
- src/Data/Datamining/Clustering/SSOM.hs +2/−2
- src/Data/Datamining/Clustering/SSOMInternal.hs +6/−6
som.cabal view
@@ -1,5 +1,5 @@ Name: som-Version: 7.3.1+Version: 7.4.0 Stability: experimental Synopsis: Self-Organising Maps. Description: A Kohonen Self-organising Map (SOM) maps input patterns @@ -33,7 +33,7 @@ source-repository this type: git location: https://github.com/mhwombat/som.git- tag: 7.3.1+ tag: 7.4.0 library
src/Data/Datamining/Clustering/SOMInternal.hs view
@@ -159,7 +159,7 @@ -- | Trains the specified node and the neighbourood around it to better -- match a target.--- Most users should use @train@, which automatically determines+-- Most users should use @'train'@, which automatically determines -- the BMU and trains it and its neighbourhood. trainNeighbourhood :: (Pattern p, G.Grid (gm p), GM.GridMap gm p,
src/Data/Datamining/Clustering/SSOM.hs view
@@ -34,7 +34,7 @@ ( -- * Construction SSOM(..),- Gaussian(..),+ Exponential(..), -- * Deconstruction toMap, -- * Advanced control@@ -42,5 +42,5 @@ ) where import Data.Datamining.Clustering.SSOMInternal (SSOM(..),- Gaussian(..), toMap, trainNode)+ Exponential(..), toMap, trainNode)
src/Data/Datamining/Clustering/SSOMInternal.hs view
@@ -38,7 +38,7 @@ rate :: f -> LearningRate f -> LearningRate f -- | A typical learning function for classifiers.--- @'Gaussian' r0 rf tf@ returns a gaussian function. At time zero,+-- @'Exponential' r0 rf tf@ returns a gaussian function. At time zero, -- the learning rate is @r0@. Over time the learning rate tapers off, -- until at time @tf@, the learning rate is @rf@. Normally the -- parameters should be chosen such that:@@ -49,13 +49,13 @@ -- -- where << means "is much smaller than" (not the Haskell @<<@ -- operator!)-data Gaussian a = Gaussian a a a+data Exponential a = Exponential a a a deriving (Eq, Show, Generic) instance (Floating a, Fractional a, Num a)- => LearningFunction (Gaussian a) where- type LearningRate (Gaussian a) = a- rate (Gaussian r0 rf tf) t = r0 * ((rf/r0)**(t/tf))+ => LearningFunction (Exponential a) where+ type LearningRate (Exponential a) = a+ rate (Exponential r0 rf tf) t = r0 * ((rf/r0)**(t/tf)) -- | A Simplified Self-Organising Map (SSOM). data SSOM f t k p = SSOM@@ -77,7 +77,7 @@ toMap = sMap -- | Trains the specified node to better match a target.--- Most users should use @train@, which automatically determines+-- Most users should use @'train'@, which automatically determines -- the BMU and trains it. trainNode :: (Pattern p, LearningFunction f, Metric p ~ LearningRate f,