Brain.js
Brain.js 是一个 JavaScript 库,它隐藏了数学的复杂性,使理解神经网络变得容易。
构建神经网络
使用 Brain.js 构建神经网络
示例
// 创建一个神经网络
const network = new brain.NeuralNetwork();
// 使用 4 个输入对象训练网络
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},
]);
// [1,0] 的预期输出是什么?
result = network.run([1,0]);
// 显示“zero”和“one”的概率
... result["one"] + " " + result["zero"];
自己动手试一试 »
示例解释
使用 new brain.NeuralNetwork()
创建神经网络。
使用 network.train([examples])
训练网络。
示例代表 4 个输入值和对应的输出值。
使用 network.run([1,0])
,您在问“[1,0] 的可能输出是什么?”
网络的答案是
- one: 93% (接近 1)
- zero: 6% (接近 0)
如何预测对比度
使用 CSS,可以通过 RGB 设置颜色
示例
颜色 | RGB |
---|---|
黑色 | RGB(0,0,0) |
黄色 | RGB(255,255,0) |
红色 | RGB(255,0,0) |
白色 | RGB(255,255,255) |
浅灰色 | RGB(192,192,192) |
深灰色 | RGB(65,65,65) |
下面的示例演示如何预测颜色的深浅
示例
// 创建一个神经网络
const net = new brain.NeuralNetwork();
// 使用 4 个输入对象训练网络
net.train([
// 白色 RGB(255, 255, 255)
{input:[255/255, 255/255, 255/255], output:{light:1}},
// 浅灰色 (192,192,192)
{input:[192/255, 192/255, 192/255], output:{light:1}},
// 深灰色 (64, 64, 64)
{ input:[65/255, 65/255, 65/255], output:{dark:1}},
// 黑色 (0, 0, 0)
{ input:[0, 0, 0], output:{dark:1}},
]);
// 深蓝色 (0, 0, 128) 的预期输出是什么?
let result = net.run([0, 0, 128/255]);
// 显示“dark”和“light”的概率
... result["dark"] + " " + result["light"];
自己动手试一试 »
示例解释
使用 new brain.NeuralNetwork()
创建神经网络。
使用 network.train([examples])
训练网络。
示例代表 4 个输入值和对应的输出值。
使用 network.run([0,0,128/255])
,您在问“深蓝色的可能输出是什么?”
网络的答案是
- 深色: 95%
- 浅色: 4%
为什么不修改示例来测试黄色或红色的可能输出?