Brain.js neural network to detect arithmetic series in sets of three numbers

23 Views Asked by At

I want to create a network which will identify if a series is arithmetic or not using brain.js.

const net = new brain.NeuralNetwork();

const trainingData = [
  { input: [1, 2, 3], output: { series: true } },    
  { input: [5, 10, 15], output: { series: true } },  
  { input: [3, 6, 9], output: { series: true } },    
  { input: [1, 2, 4], output: { series: false } },   
  { input: [2, 4, 7], output: { series: false } },   
  { input: [10, 20, 30], output: { series: true } }, 

  { input: [2, 5, 8], output: { series: true } },    
  { input: [4, 8, 12], output: { series: true } },   
  { input: [15, 25, 35], output: { series: true } }, 
  { input: [7, 14, 21], output: { series: true } },  
  { input: [3, 7, 11], output: { series: true } },   
  { input: [10, 15, 20], output: { series: true } }, 
  { input: [2, 4, 6], output: { series: true } },    
  { input: [9, 18, 27], output: { series: true } },  
  { input: [6, 12, 18], output: { series: true } },  
  { input: [1, 4, 7], output: { series: true } },   
  { input: [20, 30, 40], output: { series: true } },
  { input: [5, 11, 17], output: { series: true } }, 
  { input: [12, 15, 18], output: { series: true } },
  { input: [8, 16, 24], output: { series: true } }, 
  { input: [21, 31, 41], output: { series: true } },
  { input: [2, 6, 10], output: { series: true } },  
  { input: [3, 5, 7], output: { series: false } },  
  { input: [11, 13, 16], output: { series: false } },
  { input: [5, 12, 20], output: { series: false } },
  { input: [9, 16, 25], output: { series: false } },
  { input: [18, 25, 32], output: { series: false } },
  { input: [13, 18, 23], output: { series: false } },
  { input: [3, 8, 13], output: { series: false } }, 
  { input: [10, 18, 26], output: { series: false } }
];

net.train(trainingData);

const testInput = [4, 8, 12]; 
const result = net.run(testInput);

console.log(result); 
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>Arithmetic Series Detection</title>
  </head>
  <body>
    <script src="https://cdn.jsdelivr.net/npm/brain.js"></script>
  </body>
</html>

Unfortunately, I'm getting a percentage near 0. I'm expecting a percentage nearly 1. I added nearly 30 set of training data. Should I try iterations?

0

There are 0 best solutions below