hopfield-0.1.0.1: Hopfield Networks, Boltzmann Machines and Clusters

Safe HaskellNone

Hopfield.Clusters

Synopsis

Documentation

getPatternInCluster :: MonadRandom m => Method -> Pattern -> Double -> m PatternSource

getPatternInCluster pat p gets a pattern in a cluster given by pat by flipping each bit in the pattern with probability p.

getCluster :: MonadRandom m => Method -> Pattern -> Int -> Double -> m [Pattern]Source

getPatternInCluster pat p gets a pattern in a cluster given by pat by flipping each bit in the pattern with probability p.

getGaussianCluster :: MonadRandom m => Method -> Pattern -> Int -> Double -> Double -> m [Pattern]Source

basinsGivenProbabilityT1 :: MonadRandom m => LearningType -> Int -> Int -> Double -> m DoubleSource

basinsGivenProbabilityT1 learning networkSize clusterSize p Gets the average basin of attraction of a cluster of size clusterSize constructed using the T1 method given the flip probability p. A hopfield network is trained (the type of training (Hebbian or Storkey) is given by learning).

experimentUsingT1 :: MonadRandom m => LearningType -> Int -> Int -> m DoubleSource

experimentUsingT1 learning networkSize clusterSize Gets the average basin of attraction obtained by iterating trough various probabilities for flipping the bit when obtaining the cluster.

experimentUsingT1NoAvg :: MonadRandom m => LearningType -> Int -> Int -> m [(Double, Double)]Source

basinsGivenProbabilityT1With2Clusters :: MonadRandom m => LearningType -> Int -> Int -> Double -> Double -> m (Double, Double)Source

basinsGivenStdT2 :: MonadRandom m => LearningType -> Int -> Int -> Double -> Double -> m DoubleSource

experimentUsingT2 :: MonadRandom m => LearningType -> Int -> Int -> m DoubleSource

experimentUsingT2NoAvg :: MonadRandom m => LearningType -> Int -> Int -> m [(Double, Double)]Source

basinsGivenStdT2With2Clusters :: MonadRandom m => LearningType -> Int -> Int -> Double -> Double -> Double -> Double -> m (Double, Double)Source

avgBasinsGivenPats :: MonadRandom m => LearningType -> [Pattern] -> m DoubleSource

repeatExperiment :: MonadRandom m => (LearningType -> Int -> Int -> m Double) -> LearningType -> Int -> Int -> Int -> m DoubleSource