feedforward
author: Arne (voidragon) Simon [arne_simon@gmx.de]
A simple layered feedforward network with momentum based backward propergation.
It learns fast and it is easy to train a whole population of networks.
Please Donate
- BTC: 17voJDvueb7iZtcLRrLtq3dfQYBaSi2GsU
- ETC: 0x7bC5Ff6Bc22B4C6Af135493E6a8a11A62D209ae5
Example
Using Feedforward
const Feedforward Population = ; const pattern = 0 0 0 1 0 0 0 1 0 1 1 1; // --- train - feedforward --- const net = model: 2 1 flexibility: 05; const measure = net; console; pattern;
Using Population
// --- train - population --- const pop = model: 2 1 spread: 10 flexibility: 05; const measure = pop; console; pattern;
Save and load a network
// every thing that is needed is the config and the connections.const data = JSON; const loaded = JSON;const newNet = Feedforward;
API
class Feedforward
A simple feedforward neuronal network.
fromConnections(config, connections)[static] -> net
Creates a new network for the config and initializes the connection values.
config
- A feedforward config object.connections
- 2d array of connection values.net
- The newly created feedforward network.
new Feedforward(config)
config
model
- Array of layer depths.flexibility
- How fast the net adepts.activationThreshold
- Idicates when an output cell identifies as on, aka 1.0 .
map(inputs) -> outputs
inputs
- Array of input values, normalized between 1.0 and 0.0 .outputs
- An array of 0.0 or 1.0, indicating if the output neuron is off or on.
correct(outputs)
outputs
- Array of expected output values, normalized between 1.0 and 0.0 .
train(options) -> measure
options
- Training options.pattern
- The pattern to learn, aka approximate.maxInterations
- Maximum interations for the learning process.minError
- The minimum error at wich learning ends.
measure
-error
- The avarage error for the pattern.iterations
- How many iterations where nessecary for learning the pattern.
class Population
new Population(config)
model
- Array of layer depths.spread
- How many networks will be generated.flexibility
- How fast the net adepts.activationThreshold
- Indicates when an output cell identifies as on, aka 1.0 .
map(inputs) -> outputs
inputs
- Array of input values, normalized between 1.0 and 0.0 .
correct(outputs)
outputs
- Array of expected output values, normalized between 1.0 and 0.0 .
train(options) -> measure
options
- Training options.pattern
- The pattern to learn, aka approximate.maxInterations
- Maximum interations for the learning process.minError
- The minimum error at wich learning ends.
measure
-error
- The avarage error for the pattern.iterations
- How many iterations where nessecary for learning the pattern.net
- The feedforward network with the lowest error.
nextGeneration()
Takes the best network from the last training and prodcues new population based on this network.