Layer module, defining functions to work on a neural network layer, which is a list of neurons
- createSigmoidLayerU :: Int -> Double -> UArr Double -> [Neuron]
- createHeavysideLayerU :: Int -> Double -> UArr Double -> [Neuron]
- createSigmoidLayer :: Int -> Double -> [Double] -> [Neuron]
- createHeavysideLayer :: Int -> Double -> [Double] -> [Neuron]
- computeLayerU :: [Neuron] -> UArr Double -> UArr Double
- computeLayer :: [Neuron] -> [Double] -> [Double]
- learnSampleLayerU :: Double -> [Neuron] -> (UArr Double, UArr Double) -> [Neuron]
- learnSampleLayer :: Double -> [Neuron] -> ([Double], [Double]) -> [Neuron]
- learnSamplesLayerU :: Double -> [Neuron] -> [(UArr Double, UArr Double)] -> [Neuron]
- learnSamplesLayer :: Double -> [Neuron] -> [([Double], [Double])] -> [Neuron]
- quadErrorU :: [Neuron] -> (UArr Double, UArr Double) -> Double
- quadError :: [Neuron] -> ([Double], [Double]) -> Double
Layer creation
createSigmoidLayerU :: Int -> Double -> UArr Double -> [Neuron]Source
Creates a layer compound of n neurons with the Sigmoid transfer function, all having the given threshold and weights.
createHeavysideLayerU :: Int -> Double -> UArr Double -> [Neuron]Source
Creates a layer compound of n neurons with the Heavyside transfer function, all having the given threshold and weights.
createSigmoidLayer :: Int -> Double -> [Double] -> [Neuron]Source
Creates a layer compound of n neurons with the sigmoid transfer function, all having the given threshold and weights.
createHeavysideLayer :: Int -> Double -> [Double] -> [Neuron]Source
Creates a layer compound of n neurons with the sigmoid transfer function, all having the given threshold and weights.
Computation
computeLayerU :: [Neuron] -> UArr Double -> UArr DoubleSource
Computes the outputs of each Neuron of the layer
computeLayer :: [Neuron] -> [Double] -> [Double]Source
Computes the outputs of each Neuron of the layer
Learning
learnSampleLayerU :: Double -> [Neuron] -> (UArr Double, UArr Double) -> [Neuron]Source
Trains each neuron with the given sample and the given learning ratio
learnSampleLayer :: Double -> [Neuron] -> ([Double], [Double]) -> [Neuron]Source
Trains each neuron with the given sample and the given learning ratio
learnSamplesLayerU :: Double -> [Neuron] -> [(UArr Double, UArr Double)] -> [Neuron]Source
Trains each neuron with the given samples and the given learning ratio
learnSamplesLayer :: Double -> [Neuron] -> [([Double], [Double])] -> [Neuron]Source
Trains each neuron with the given samples and the given learning ratio