简单的深度学习预测

时间:2017-05-14 06:34:34

标签: javascript machine-learning deep-learning synaptic.js

我开始学习深度学习并找到synaptic.js

我想创建一个预测系统,我有一个数字输入,并希望AI了解模式。

我的训练数据是2个数字的数组,我要验证的输出是[x,y,z],其中x和z是偶数/奇数的布尔值,y是两个数字的总和在投入。

所以:

var trainingSet = [{
    'input': [20, 34],
    'output': [1, 54, 0]
}, {
    'input': [22, 33],
    'output': [1, 55, 1]
},{
    'input': [24, 35],
    'output': [1, 59, 1]
},{
    'input': [23, 36],
    'output': [0, 59, 0]
}];

如果我输入[20, 31],我希望AI知道答案。

我如何设置这样的逻辑?

我基于jsFiddle开始YouTube talk,但不明白代码实际上是做什么......

制作循环以生成基本上为in this jsFiddle的训练数据{<3}}。

// training data generator:
var trainingSet = [];
for (var i = 0; i < 500; i++) {
    var obj = {};
    obj.input = [
        Math.random() * 10,
        Math.random() * 10
    ].map(Math.round);
    obj.output = [
        Number(obj.input[0] % 2 == 0),
        obj.input[0] + obj.input[1],
        Number(obj.input[1] % 2 == 1)
    ]
	trainingSet.push(obj);
}

document.body.innerHTML = JSON.stringify(trainingSet);

1 个答案:

答案 0 :(得分:1)

除非您构建的生成器只是向我们解释问题,否则问题无法解决。更正式地说,不存在任何函数,以便您可以从输出中恢复输入。生成器产生随机数,保留的是它们是奇数还是偶数和总和。存在一组满足这些标准的无限数字。从你的例子来看:54 = 20 + 34 = 18 + 36 = 16 + 38 ......如果有一个过程驱动这个,就可以完成。但它是随机的。你的神经网络永远无法学习模式,因为没有模式。