Мозг.js
Brain.js — это библиотека JavaScript, которая упрощает понимание нейронных сетей, поскольку скрывает сложность математики.
Построение нейронной сети
Создание нейронной сети с помощью Brain.js:
Пример:
// 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"];
Объяснение примера:
Нейронная сеть создается с помощью: new brain.NeuralNetwork()
Сеть обучается на network.train([examples])
Примеры представляют 4 входных значения с соответствующим выходным значением.
С помощью network.run([1,0])
вы спрашиваете: «Каков вероятный результат [1,0]?»
Ответ из сети такой:
- один: 93% (близко к 1)
- ноль: 6% (близко к 0)
Как предсказать контраст
С помощью CSS цвета можно задавать с помощью RGB:
Пример
Color | RGB |
---|---|
Black | RGB(0,0,0) |
Yellow | RGB(255,255,0) |
Red | RGB(255,0,0) |
White | RGB(255,255,255) |
Light Gray | RGB(192,192,192) |
Dark Gray | RGB(65,65,65) |
В приведенном ниже примере показано, как предсказать темноту цвета:
Пример:
// 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"];
Объяснение примера:
Нейронная сеть создается с помощью: new brain.NeuralNetwork()
Сеть обучается на network.train([examples])
Примеры представляют 4 входных значения и соответствующее выходное значение.
С помощью network.run([0,0,128/255])
вы спрашиваете: «Каков вероятный выход темно-синего цвета?»
Ответ из сети такой:
- Темный: 95%
- Свет: 4%
Почему бы не отредактировать пример, чтобы проверить вероятный выход желтого или красного цвета?