modified learning algorithms

This commit is contained in:
2016-02-24 17:30:18 +01:00
parent bf4387a98f
commit 47de0fa08b
8 changed files with 58 additions and 65 deletions

View File

@@ -13,12 +13,12 @@ int main() {
n.randomizeWeights();
NeuralNetwork::Learning::BackPropagation prop;
NeuralNetwork::Learning::BackPropagation prop(n);
for(int i=0;i<10000;i++) {
prop.teach(n,{1,0},{1});
prop.teach(n,{1,1},{0});
prop.teach(n,{0,0},{0});
prop.teach(n,{0,1},{1});
prop.teach({1,0},{1});
prop.teach({1,1},{0});
prop.teach({0,0},{0});
prop.teach({0,1},{1});
}
{
@@ -49,12 +49,12 @@ int main() {
n.randomizeWeights();
NeuralNetwork::Learning::BackPropagation prop;
NeuralNetwork::Learning::BackPropagation prop(n);
for(int i=0;i<10000;i++) {
prop.teach(n,{1,1},{1});
prop.teach(n,{0,0},{0});
prop.teach(n,{0,1},{0});
prop.teach(n,{1,0},{0});
prop.teach({1,1},{1});
prop.teach({0,0},{0});
prop.teach({0,1},{0});
prop.teach({1,0},{0});
}
{
@@ -85,12 +85,12 @@ int main() {
n.randomizeWeights();
NeuralNetwork::Learning::BackPropagation prop;
NeuralNetwork::Learning::BackPropagation prop(n);
for(int i=0;i<10000;i++) {
prop.teach(n,{1,1},{0});
prop.teach(n,{0,0},{1});
prop.teach(n,{0,1},{1});
prop.teach(n,{1,0},{1});
prop.teach({1,1},{0});
prop.teach({0,0},{1});
prop.teach({0,1},{1});
prop.teach({1,0},{1});
}
{

View File

@@ -15,12 +15,12 @@ int main() {
n.randomizeWeights();
NeuralNetwork::Learning::BackPropagation prop;
NeuralNetwork::Learning::BackPropagation prop(n);
for(int i=0;i<100;i++) {
prop.teach(n,{1,0},{1});
prop.teach(n,{1,1},{0});
prop.teach(n,{0,0},{0});
prop.teach(n,{0,1},{1});
prop.teach({1,0},{1});
prop.teach({1,1},{0});
prop.teach({0,0},{0});
prop.teach({0,1},{1});
}
}
}

View File

@@ -13,12 +13,12 @@ int main() {
n.randomizeWeights();
NeuralNetwork::Learning::OpticalBackPropagation prop;
NeuralNetwork::Learning::OpticalBackPropagation prop(n);
for(int i=0;i<10000;i++) {
prop.teach(n,{1,0},{1});
prop.teach(n,{1,1},{0});
prop.teach(n,{0,0},{0});
prop.teach(n,{0,1},{1});
prop.teach({1,0},{1});
prop.teach({1,1},{0});
prop.teach({0,0},{0});
prop.teach({0,1},{1});
}
{
@@ -49,12 +49,12 @@ int main() {
n.randomizeWeights();
NeuralNetwork::Learning::OpticalBackPropagation prop;
NeuralNetwork::Learning::OpticalBackPropagation prop(n);
for(int i=0;i<10000;i++) {
prop.teach(n,{1,1},{1});
prop.teach(n,{0,0},{0});
prop.teach(n,{0,1},{0});
prop.teach(n,{1,0},{0});
prop.teach({1,1},{1});
prop.teach({0,0},{0});
prop.teach({0,1},{0});
prop.teach({1,0},{0});
}
{
@@ -85,12 +85,12 @@ int main() {
n.randomizeWeights();
NeuralNetwork::Learning::OpticalBackPropagation prop;
NeuralNetwork::Learning::OpticalBackPropagation prop(n);
for(int i=0;i<10000;i++) {
prop.teach(n,{1,1},{0});
prop.teach(n,{0,0},{1});
prop.teach(n,{0,1},{1});
prop.teach(n,{1,0},{1});
prop.teach({1,1},{0});
prop.teach({0,0},{1});
prop.teach({0,1},{1});
prop.teach({1,0},{1});
}
{

View File

@@ -15,7 +15,6 @@ int main() {
for(size_t i=0;i<solutions.size();i++) {
float res= a.computeOutput({1,0.7})[0];
float resA=solutions[i];
assert(res > solutions[i]*0.999 && res < solutions[i]*1.001);
}
}