Brain.js

Brain.js is a JavaScript library that makes it easy to understand Neural Networksbecause it hides the complexity of the mathematics

Building a Neural Network

Building a neural network with Brain.js:

Example:

// Create a Neural Network
const network = new brain.NeuralNetwork();

// Train the Network with 4 input objects
network.train([
 {input:[0,0], output:{zero:1}},
 {input:[0,1], output:{one:1}},
 {input:[1,0], output:{one:1},
 {input:[1,1], output:{zero:1},
]);

// What is the expected output of [1,0]?
result = network.run([1,0]);

// Display the probability for "zero" and "one"
... result["one"] + " " + result["zero"];

Example Explained:

A Neural Network is created with: new brain.NeuralNetwork()

The network is trained with network.train([examples])

The examples represent 4 input values with a corresponding output value.

With network.run([1,0]), you ask "What is the likely output of [1,0]?"

The answer from the network is:

  • one: 93% (close to 1)
  • zero: 6% (close to 0)
  • How to Predict a Contrast

    With CSS, colors can be set by RGB:

    Example

    Color RGB
    BlackRGB(0,0,0)
    YellowRGB(255,255,0)
    RedRGB(255,0,0)
    WhiteRGB(255,255,255)
    Light GrayRGB(192,192,192)
    Dark GrayRGB(65,65,65)

    The example below demonstrates how to predict the darkness of a color:

    Example:

    // Create a Neural Network
    const net = new brain.NeuralNetwork();

    // Train the Network with 4 input objects
    net.train([
    // White RGB(255, 255, 255)
    {input:[255/255, 255/255, 255/255], output:{light:1}},
    // Light grey (192,192,192)
    {input:[192/255, 192/255, 192/255], output:{light:1}},
    // Darkgrey (64, 64, 64)
    { input:[65/255, 65/255, 65/255], output:{dark:1}},
    // Black (0, 0, 0)
    { input:[0, 0, 0], output:{dark:1}},
    ]);

    // What is the expected output of Dark Blue (0, 0, 128)?
    let result = net.run([0, 0, 128/255]);

    // Display the probability of "dark" and "light"
    ... result["dark"] + " " + result["light"];

    Example Explained:

    A Neural Network is created with: new brain.NeuralNetwork()

    The network is trained with network.train([examples])

    The examples represent 4 input values a corresponding output value.

    With network.run([0,0,128/255]), you ask "What is the likely output of dark blue?"

    The answer from the network is:

  • Dark: 95%
  • Light: 4%
  • Why not edit the example to test the likely output of yellow or red?