perceptron

HTML

<script src="https://unpkg.com/@jeff-tian/perceptron@0.1.2/lib/neural-network.js"></script>

JavaScript

// run `node index.js` in the terminal

const nn = window['neural-network'];
const flat = (prev, next) => [...prev, ...next];
const getFlattedWeights = (weights) => weights.reduce(flat).reduce(flat);
const getNthWeights = (index) =>
  '(' +
  getFlattedWeights(network.weightsHistory[index].weights).join(', ') +
  ')';
const network = nn.backPropFor2LevelSigmoidUnitForwardNetwork(
  [
    {
      x: [1, 0],
      t: 1,
    },
    {
      x: [0, 1],
      t: 0,
    },
  ],
  0.3,
  0.9
);
document.write('初始权值 = ' + getNthWeights(0) + '<br />');
console.log('初始权值 = ' + getNthWeights(0));
document.write('第一次迭代后的权值 = ' + getNthWeights(1) + '<br />');
console.log('第一次迭代后的权值 = ' + getNthWeights(1));
document.write('第二次迭代后的权值 = ' + getNthWeights(2) + '<br />');
console.log('第二次迭代后的权值 = ' + getNthWeights(2));