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%
為什麼不修改示例來測試黃色或紅色的可能輸出?