Backy is a neural network which is using the backpropagation algorithm. (Written in Googles Dart)
The Neuron The neuron defines how the output is computed and in what range...
The Neural Network: Constructor It can be instanciated with any number of layer dimensions. For example: [2, 3, 1] which produces a net with 3 layers. The input layer has two inputs and the output layer has 1 output neuron. The hidden layer has 3 neurons.
Train the network Use the "train"-method to tell the net what you expect from a certain input. net.train(<input>, <expected>);
e.g. train an XOR network: net.train([-1, -1], [ 1]); net.train([-1, 1], [-1]); net.train([ 1, -1], [-1]); net.train([ 1, 1], [ 1]);
Use the Network Once the network is trained, you can use it and it will return the output: <expected> = net.use(<input>);
print(net.use([-1, 1])); // prints probably: [-.9988, .9988]
The Trainer: The network needs usually many trainingsteps in orderto find the right weights and therefore the solution. Use the trainer in order to train backy more comfortably.
// 1. var student = new Backy([2, 2, 1], neuron); var trainer = new Trainer(student);
// 2. trainer.addTrainingCase([-1,-1], [-1]); trainer.addTrainingCase([-1, 1], [-1]); trainer.addTrainingCase([ 1,-1], [-1]); trainer.addTrainingCase([ 1, 1], [ 1]);
// 3. train all the traininCases up to 300 times and be satisfied with a precision of .1 trainer.trainOnlineSets(300, .1);
// After that you can use the neural network print(student.use([-1,-1])); print(student.use([-1, 1])); print(student.use([ 1,-1])); print(student.use([ 1, 1]));
Add this to your package's pubspec.yaml file:
dependencies: backy: ^0.2.0
You can install packages from the command line:
$ pub get
Alternatively, your editor might support
Check the docs for your editor to learn more.
Now in your Dart code, you can use:
|0.2.1||Sep 1, 2013|
|0.2.0||Sep 1, 2013|
|0.1.0||Aug 24, 2013|
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
This package version is not analyzed, because it is more than two years old. Check the latest stable version for its analysis.
Document public APIs (-10 points)
103 out of 103 API elements (library, class, field or method) have no adequate dartdoc content. Good documentation improves code readability and discoverability through search.