bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/AI/Machine Learning
AI•Machine Learning

Brain.js

Brain.js is a JavaScript library that makes it easy to understand Neural Networks because 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

ColorRGB
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?

  • Dark: 95%
  • Light: 4%

Why not edit the example to test the likely output of yellow or red?

Previous

Deep Learning (DL)

Next chapter

TensorFlow

Start with TensorFlow.js Tutorial

This chapter

Overview
16

Lessons

69m

Read time

1. Machine Learning2. Artificial Intelligence3. Machine Learning Languages4. Machine Learning in JavaScript5. Linear Graphs6. Scatter Plots7. Perceptrons8. Pattern Recognition9. Testing a Perceptron10. Machine Learning11. ML Terminology12. Machine Learning Data13. Data Clusters14. Linear Regressions15. Deep Learning (DL)16. Brain.js

On this page

Building a Neural NetworkHow to Predict a Contrast