algorithm - 我怎样才能找到下一个值?

标签 algorithm machine-learning

<分区>

给定一个 0 和 1 的数组,例如array[] = {0, 1, 0, 0, 0, 1, ...},我如何才能尽可能准确地预测下一个值?

什么样的方法最适合这种任务?

最佳答案

预测方法将取决于对数据的解释。

但是,在这种特殊情况下,我们似乎可以做出一些一般性假设,这些假设可能证明使用某些机器学习技术是合理的。

  1. 值按时间顺序依次生成
  2. 值取决于某些(可能是不可观察的)外部状态。如果状态重复,那么值也会重复。

这是许多机器学习环境中非常常见的场景。一个例子是基于历史的股票价格预测。

现在,要构建预测模型,您需要定义训练数据集。假设我们的模型查看最后的 k 值。如果 k=1,我们可能会得到类似于 Markov chain 的结果模型。

我们的训练数据集将由 k 维数据点及其各自的相关值组成。例如,假设 k=3 并且我们有以下输入数据

0,0,1,1,0,1,0,1,1,1,1,0,1,0,0,1...

我们将有以下训练数据:

(0,0,1) -> 1
(0,1,1) -> 0
(1,1,0) -> 1
(1,0,1) -> 0
(0,1,0) -> 1
(1,0,1) -> 1
(0,1,1) -> 1
(1,1,1) -> 1
(1,1,1) -> 0
(1,1,0) -> 1
(1,0,1) -> 0
(0,1,0) -> 0
(1,0,0) -> 1

现在,假设您要预测序列中的下一个值。最后 3 个值是 0,0,1,因此模型必须根据训练数据预测 (0,0,1) 处的函数值。

一种流行且相对简单的方法是使用多变量 linear regression在 k 维数据空间上。或者,如果线性回归不适合训练数据集,请考虑使用神经网络。

您可能需要尝试不同的 k 值并针对您的验证集进行测试。

关于algorithm - 我怎样才能找到下一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38805840/

相关文章:

machine-learning - 首先做什么 : Feature Selection or Model Parameters Setting?

matlab - 避免逻辑挤压函数中的无穷大

algorithm - 如何尽可能快地进行矩阵计算

python - 计算归并排序的反转

algorithm - 特定意图的二叉搜索树

algorithm - 设计一种有效的算法,在少于 8 次比较的情况下对 5 个不同的键进行排序

python - 使用predict_generator和VGG16的内存错误

machine-learning - Caffe - 其他 N 个最后迭代的平均准确度

algorithm - 在地形高度图中调平道路

python - 使用 python 比较数据集的列