简单深度学习预测

我开始学习深度学习,并发现了synaptic.js

我想创建一个预测系统,输入一组数字,希望AI能够理解其中的模式。

我的训练数据将是一个包含两个数字的数组,期望验证的输出是[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能够知道答案。

我该如何设置这种逻辑呢?

我根据一个YouTube讲座创建了一个jsFiddle,但我不明白代码实际上在做什么…

我制作了一个循环来生成训练数据,在这个jsFiddle中,基本上是这样的:

// 训练数据生成器: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);


回答:

除非你构建的生成器只是为了向我们解释问题,否则这个问题是无法解决的。更正式地说,不存在这样的函数,可以从输出中恢复输入。生成器产生随机数,保留的是它们是奇数还是偶数以及它们的和。存在无限多个数字满足这些条件。从你的例子来看:54 = 20 + 34 = 18 + 36 = 16 + 38 … 如果有驱动这个过程的机制,是可以做到的。但这是随机的。你的神经网络永远无法学习到模式,因为根本没有模式可言。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注