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%
为什么不编辑示例来测试黄色的或红色的可能输出呢?