Artificial intelligence 如何通过学习以前的发行版来预测用户生成的发行版

Artificial intelligence 如何通过学习以前的发行版来预测用户生成的发行版,artificial-intelligence,prediction,pattern-recognition,Artificial Intelligence,Prediction,Pattern Recognition,我正在尝试编程一个预测算法,该算法基于prevision用户输入预测4个杯子中大理石的分布。但我不知道从哪里开始,也不知道可以用什么技术来解决这个问题 示例: 共有4个杯子,编号从0到3,用户将收到x个弹珠,并将其分配到这些杯子中。每一轮用户都会收到另一个数量的弹珠(或相同数量的弹珠),然后 当用户分配它们时,该算法试图根据用户以前的输入预测分布。在此之后,用户会“更正”它。目标是用户不必纠正任何错误,因此 算法预测正确的分布。然而,用户分配弹珠的模式可能会改变,并且算法必须适应 这是问题的最简

我正在尝试编程一个预测算法,该算法基于prevision用户输入预测4个杯子中大理石的分布。但我不知道从哪里开始,也不知道可以用什么技术来解决这个问题

示例:

共有4个杯子,编号从0到3,用户将收到x个弹珠,并将其分配到这些杯子中。每一轮用户都会收到另一个数量的弹珠(或相同数量的弹珠),然后 当用户分配它们时,该算法试图根据用户以前的输入预测分布。在此之后,用户会“更正”它。目标是用户不必纠正任何错误,因此 算法预测正确的分布。然而,用户分配弹珠的模式可能会改变,并且算法必须适应

这是问题的最简单设计,已经不是很容易解决的问题了。然而,当弹珠具有可用于分布的附加属性时,它变得指数级更复杂。 例如,它们可以有颜色和重量

例如,算法如何得知用户(大部分时间)将相同颜色的大理石放在一个杯子里,而杯子2(大部分时间是空的),其余的则均匀分布

因此,在我的头脑中,算法必须这样做:

  • 完成用户分发后搜索模式。这些图案可以是每杯大理石的数量/每杯重量或其他任何东西
  • 如果找到图案,将向图案添加预定义值(权重)
  • 如果未找到以前的图案,则必须从图案中减去预定义值
  • 当算法必须预测时,必须应用具有预定义权重的所有模式

我不确定我是否遗漏了一些东西,我将如何实现类似的东西,或者我必须在哪个领域寻找答案。

首先,请记住,人类行为并不总是遵循一种模式。如果用户随机分发这些弹珠,将很难预测下一步行动

但是,如果分布中存在模式,则可以使用神经网络或决策树等算法创建预测

例如:

// dataset1
// the weights and colors of 10 marbles
let dataset1 = [4,3,1,1,2,3,4,5,3,4,7,6,4,4,2,4,1,6,1,2]

// cups1
// the cups distribution of the above marbles
let labels1 = [2,1,0,2,1,1,3,1,0,1]
现在您可以训练算法,例如神经网络或决策树。 这不是真正的代码,只是它如何工作的一个示例

let net = new NeuralNet()
net.train(dataset1, labels1)
在使用大量数据(至少数百个此类数据集)进行培训后,您可以向网络提供一个新的数据集,它将为您提供cups分布的预测

let newMarbleSet = [...]
let prediction = net.predict(newMarbleSet)

这取决于您对这一预测的看法。

谢谢!我不完全理解cups1数组如何表示分布。在你的例子中,这是否意味着重量为4、颜色为3的大理石会进入杯子2?在这个例子中,参数是重量和颜色,结果是杯子上的分布,但如果用户将其作为斐波那契序列分布,而不考虑颜色和重量,该怎么办?我如何将其添加到神经元网络中?是否有某种公式说明需要多少训练集(取决于参数)才能给出合理的预测?在我的示例中,每对数字代表大小、重量。所以
marbles=[2,3,1,3]
意味着有两个大理石。大理石一号尺码为2,重量为3。大理石二号尺寸为1,重量为3。分布
labels=[2,1]
意味着大理石一号进入杯2,大理石二号进入杯1。因此,所有这些数据一起表示用户如何分布大理石(例如,在不查看颜色或重量的情况下以斐波那契模式)。您将需要许多这样的分布来训练模型。算法将发现权重和颜色中是否有图案!如果颜色和权重只是随机的,那么算法将不会学到很多东西,除非下一个序列也应该是斐波那契模式。